summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2017-09-14 23:14:39 +0200
committerUlrich Müller <ulm@gentoo.org>2017-10-09 12:08:51 +0200
commitc6fe2071a2e83be2203196ad7f9459941821a034 (patch)
treed81e1d9898c05917e05203af9803b581dff0d915 /glep-0052.rst
parentglep-0045: Mark Final since GLEP 1 now uses ISO 8601 dates (diff)
downloadglep-c6fe2071a2e83be2203196ad7f9459941821a034.tar.gz
glep-c6fe2071a2e83be2203196ad7f9459941821a034.tar.bz2
glep-c6fe2071a2e83be2203196ad7f9459941821a034.zip
Rename all GLEPs to .rst
Diffstat (limited to 'glep-0052.rst')
-rw-r--r--glep-0052.rst97
1 files changed, 97 insertions, 0 deletions
diff --git a/glep-0052.rst b/glep-0052.rst
new file mode 100644
index 0000000..32a3794
--- /dev/null
+++ b/glep-0052.rst
@@ -0,0 +1,97 @@
+GLEP: 52
+Title: RESTRICT=unattended
+Version: $Revision$
+Last-Modified: $Date$
+Author: Marius Mauch <genone@gentoo.org>,
+Status: Withdrawn
+Type: Standards Track
+Content-Type: text/x-rst
+Created: 13-Oct-2006
+Post-History: 14-Oct-2006
+
+
+Abstract
+========
+
+This GLEP proposes a new value for the RESTRICT metadata variable in ebuilds to
+indicate that an ebuild requires interaction by the user.
+
+Motivation
+==========
+
+Certain ebuilds in the current tree require certain actions from the user to
+progress. A popular example are ebuilds that require physical media (cd/dvd-rom)
+for their distfiles instead of fetching them form the net.
+However ebuilds are supposed to be non-interactive, so this behavior, while
+sometimes necessary, violates existing policies. To account for this situation
+a new RESTRICT value should be added to allow filtering those ebuilds based on
+metadata and to inform users upfront (when displaying the depgraph) that a
+certain package will require their attention during the build process.
+
+Specification
+=============
+
+Portage (and by extension other package managers) will support a new value for
+the RESTRICT metadata variable called ``unattended``. This value may be used by
+the package manager and tools using its API to filter packages that require
+interactive actions (for example to mask them in automated build environments).
+How the package manager exactly reacts on the presence of this new flag is beyond
+this specification, but it's recommended to indicate it's presence to the user
+whenever relevant.
+
+This new setting should be used in ebuilds if it is known that they _typically_
+require user attention during the build process. If an ebuild just has a limited
+``risk`` of becoming interactive (like using the ``built_with_use`` function)
+it shouldn't be restricted. Note that only package installation is covered here,
+interactivity in package removals (in pkg_prerm and pkg_postrm) can not be
+indicated with this feature.
+
+Rationale
+=========
+
+The new RESTRICT=unattended metadata setting will give us the following benefits:
+
+1. Enable masking of interactive ebuilds for automated build environments
+
+2. Metadata based searching for interactive ebuilds (superior to grep)
+
+3. Less frustrated users caused by ``hanging`` build processes
+
+This proposal does not change the existing policy regarding interactive ebuilds
+(ebuilds still should be non-interactive whenever possible), it merely states a
+way to identify them.
+
+Backwards Compatibility
+=======================
+
+Strictly speaking this extension would requires an EAPI bump, however as existing
+portage ignore unknown RESTRICT values it shouldn't cause any real breakage to
+introduce it without.
+
+Reference Implementation
+========================
+
+A `patch against portage-2.1.2_pre2-r6`__ is available with this document.
+
+.. __: glep-0052-extras/portage-2.1.2_pre2-r6-interactive-restrict.diff.txt
+
+
+Credits
+=======
+
+Thanks to the following persons for their input on or related to this GLEP
+(even though they might not have known it):
+Alec Warner, Zac Medico, Simon Stelling
+
+References
+==========
+
+.. [#bug151113] http://bugs.gentoo.org/151113
+
+
+Copyright
+=========
+
+This work is licensed under the Creative Commons Attribution-ShareAlike 3.0
+Unported License. To view a copy of this license, visit
+http://creativecommons.org/licenses/by-sa/3.0/.