| 1 | GLEP: 52 |
1 | GLEP: 52 |
| 2 | Title: RESTRICT=interactive |
2 | Title: RESTRICT=unattended |
| 3 | Version: $Revision: 1.1 $ |
3 | Version: $Revision: 1.5 $ |
| 4 | Last-Modified: $Date: 2006/10/13 22:48:15 $ |
4 | Last-Modified: $Date: 2007/02/20 17:45:23 $ |
| 5 | Author: Marius Mauch <genone@gentoo.org>, |
5 | Author: Marius Mauch <genone@gentoo.org>, |
| 6 | Status: Draft |
6 | Status: Withdrawn |
| 7 | Type: Standards Track |
7 | Type: Standards Track |
| 8 | Content-Type: text/x-rst |
8 | Content-Type: text/x-rst |
| 9 | Created: 13-Oct-2006 |
9 | Created: 13-Oct-2006 |
| 10 | Post-History: 14-Oct-2006 |
10 | Post-History: 14-Oct-2006 |
| 11 | |
11 | |
| … | |
… | |
| 30 | |
30 | |
| 31 | Specification |
31 | Specification |
| 32 | ============= |
32 | ============= |
| 33 | |
33 | |
| 34 | Portage (and by extension other package managers) will support a new value for |
34 | Portage (and by extension other package managers) will support a new value for |
| 35 | the RESTRICT metadata variable called ``interactive``. This value may be used by |
35 | the RESTRICT metadata variable called ``unattended``. This value may be used by |
| 36 | the package manager and tools using its API to filter packages that require |
36 | the package manager and tools using its API to filter packages that require |
| 37 | interactive actions (for example to mask them in automated build environments). |
37 | interactive actions (for example to mask them in automated build environments). |
| 38 | How the package manager exactly reacts on the presence of this new flag is beyond |
38 | How the package manager exactly reacts on the presence of this new flag is beyond |
| 39 | this specification, but it's recommended to indicate it's presence to the user |
39 | this specification, but it's recommended to indicate it's presence to the user |
| 40 | whenever relevant. |
40 | whenever relevant. |
| 41 | |
41 | |
| 42 | This new setting should be used in ebuilds if it is known that they _typically_ |
42 | This new setting should be used in ebuilds if it is known that they _typically_ |
| 43 | require user attention during the build process. If an ebuild just has a limited |
43 | require user attention during the build process. If an ebuild just has a limited |
| 44 | ``risk`` of becoming interactive (like using the ``built_with_use`` function) |
44 | ``risk`` of becoming interactive (like using the ``built_with_use`` function) |
| 45 | it shouldn't be restricted. |
45 | it shouldn't be restricted. Note that only package installation is covered here, |
|
|
46 | interactivity in package removals (in pkg_prerm and pkg_postrm) can not be |
|
|
47 | indicated with this feature. |
| 46 | |
48 | |
| 47 | Rationale |
49 | Rationale |
| 48 | ========= |
50 | ========= |
| 49 | |
51 | |
| 50 | The new RESTRICT=interactive metadata setting will give us the following benefits: |
52 | The new RESTRICT=unattended metadata setting will give us the following benefits: |
| 51 | |
53 | |
| 52 | 1. Enable masking of interactive ebuilds for automated build environments |
54 | 1. Enable masking of interactive ebuilds for automated build environments |
| 53 | |
55 | |
| 54 | 2. Metadata based searching for interactive ebuilds (superior to grep) |
56 | 2. Metadata based searching for interactive ebuilds (superior to grep) |
| 55 | |
57 | |
| … | |
… | |
| 67 | introduce it without. |
69 | introduce it without. |
| 68 | |
70 | |
| 69 | Reference Implementation |
71 | Reference Implementation |
| 70 | ======================== |
72 | ======================== |
| 71 | |
73 | |
| 72 | TODO |
74 | A `patch against portage-2.1.2_pre2-r6`__ is available with this document. |
|
|
75 | |
|
|
76 | .. __: glep-0052-extras/portage-2.1.2_pre2-r6-interactive-restrict.diff.txt |
|
|
77 | |
| 73 | |
78 | |
| 74 | Credits |
79 | Credits |
| 75 | ======= |
80 | ======= |
| 76 | |
81 | |
| 77 | Thanks to the following persons for their input on or related to this GLEP |
82 | Thanks to the following persons for their input on or related to this GLEP |