/[gentoo]/xml/htdocs/proj/en/glep/glep-0052.html
Gentoo

Contents of /xml/htdocs/proj/en/glep/glep-0052.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.7 - (hide annotations) (download) (as text)
Sun Oct 14 17:00:15 2007 UTC (6 years, 10 months ago) by antarus
Branch: MAIN
CVS Tags: HEAD
Changes since 1.6: +6 -253 lines
File MIME type: text/html
the canary on 53 went well, changing the rest

1 genone 1.1 <?xml version="1.0" encoding="utf-8" ?>
2     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3     <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4 antarus 1.7
5 genone 1.1 <head>
6     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7     <meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
8 genone 1.3 <title>GLEP 52 -- RESTRICT=unattended</title>
9 antarus 1.7 <link rel="stylesheet" href="tools/glep.css" type="text/css" />
10 genone 1.1 </head>
11     <body bgcolor="white">
12     <table class="navigation" cellpadding="0" cellspacing="0"
13     width="100%" border="0">
14     <tr><td class="navicon" width="150" height="35">
15     <a href="http://www.gentoo.org/" title="Gentoo Linux Home Page">
16     <img src="http://www.gentoo.org/images/gentoo-new.gif" alt="[Gentoo]"
17     border="0" width="150" height="35" /></a></td>
18     <td class="textlinks" align="left">
19     [<b><a href="http://www.gentoo.org/">Gentoo Linux Home</a></b>]
20 antarus 1.7 [<b><a href="http://www.gentoo.org/proj/en/glep">GLEP Index</a></b>]
21 genone 1.1 [<b><a href="http://www.gentoo.org/proj/en/glep/glep-0052.txt">GLEP Source</a></b>]
22     </td></tr></table>
23     <table class="rfc2822 docutils field-list" frame="void" rules="none">
24     <col class="field-name" />
25     <col class="field-body" />
26     <tbody valign="top">
27     <tr class="field"><th class="field-name">GLEP:</th><td class="field-body">52</td>
28     </tr>
29 genone 1.3 <tr class="field"><th class="field-name">Title:</th><td class="field-body">RESTRICT=unattended</td>
30 genone 1.1 </tr>
31 antarus 1.7 <tr class="field"><th class="field-name">Version:</th><td class="field-body">1.5</td>
32 genone 1.1 </tr>
33 antarus 1.7 <tr class="field"><th class="field-name">Last-Modified:</th><td class="field-body"><a class="reference" href="http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/proj/en/glep/glep-0052.txt?cvsroot=gentoo">2007/02/20 17:45:23</a></td>
34 genone 1.1 </tr>
35     <tr class="field"><th class="field-name">Author:</th><td class="field-body">Marius Mauch &lt;genone&#32;&#97;t&#32;gentoo.org&gt;,</td>
36     </tr>
37 genone 1.6 <tr class="field"><th class="field-name">Status:</th><td class="field-body">Withdrawn</td>
38 genone 1.1 </tr>
39     <tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td>
40     </tr>
41     <tr class="field"><th class="field-name">Content-Type:</th><td class="field-body"><a class="reference" href="glep-0002.html">text/x-rst</a></td>
42     </tr>
43     <tr class="field"><th class="field-name">Created:</th><td class="field-body">13-Oct-2006</td>
44     </tr>
45     <tr class="field"><th class="field-name">Post-History:</th><td class="field-body">14-Oct-2006</td>
46     </tr>
47     </tbody>
48     </table>
49     <hr />
50     <div class="contents topic">
51     <p class="topic-title first"><a id="contents" name="contents">Contents</a></p>
52     <ul class="simple">
53 genone 1.2 <li><a class="reference" href="#abstract" id="id4" name="id4">Abstract</a></li>
54     <li><a class="reference" href="#motivation" id="id5" name="id5">Motivation</a></li>
55     <li><a class="reference" href="#specification" id="id6" name="id6">Specification</a></li>
56     <li><a class="reference" href="#rationale" id="id7" name="id7">Rationale</a></li>
57     <li><a class="reference" href="#backwards-compatibility" id="id8" name="id8">Backwards Compatibility</a></li>
58     <li><a class="reference" href="#reference-implementation" id="id9" name="id9">Reference Implementation</a></li>
59     <li><a class="reference" href="#credits" id="id10" name="id10">Credits</a></li>
60     <li><a class="reference" href="#references" id="id11" name="id11">References</a></li>
61     <li><a class="reference" href="#copyright" id="id12" name="id12">Copyright</a></li>
62 genone 1.1 </ul>
63     </div>
64     <div class="section">
65 genone 1.2 <h1><a class="toc-backref" href="#id4" id="abstract" name="abstract">Abstract</a></h1>
66 genone 1.1 <p>This GLEP proposes a new value for the RESTRICT metadata variable in ebuilds to
67     indicate that an ebuild requires interaction by the user.</p>
68     </div>
69     <div class="section">
70 genone 1.2 <h1><a class="toc-backref" href="#id5" id="motivation" name="motivation">Motivation</a></h1>
71 genone 1.1 <p>Certain ebuilds in the current tree require certain actions from the user to
72     progress. A popular example are ebuilds that require physical media (cd/dvd-rom)
73     for their distfiles instead of fetching them form the net.
74     However ebuilds are supposed to be non-interactive, so this behavior, while
75     sometimes necessary, violates existing policies. To account for this situation
76     a new RESTRICT value should be added to allow filtering those ebuilds based on
77     metadata and to inform users upfront (when displaying the depgraph) that a
78     certain package will require their attention during the build process.</p>
79     </div>
80     <div class="section">
81 genone 1.2 <h1><a class="toc-backref" href="#id6" id="specification" name="specification">Specification</a></h1>
82 genone 1.1 <p>Portage (and by extension other package managers) will support a new value for
83 genone 1.3 the RESTRICT metadata variable called <tt class="docutils literal"><span class="pre">unattended</span></tt>. This value may be used by
84 genone 1.1 the package manager and tools using its API to filter packages that require
85     interactive actions (for example to mask them in automated build environments).
86     How the package manager exactly reacts on the presence of this new flag is beyond
87     this specification, but it's recommended to indicate it's presence to the user
88     whenever relevant.</p>
89     <p>This new setting should be used in ebuilds if it is known that they _typically_
90     require user attention during the build process. If an ebuild just has a limited
91     <tt class="docutils literal"><span class="pre">risk</span></tt> of becoming interactive (like using the <tt class="docutils literal"><span class="pre">built_with_use</span></tt> function)
92 genone 1.4 it shouldn't be restricted. Note that only package installation is covered here,
93     interactivity in package removals (in pkg_prerm and pkg_postrm) can not be
94     indicated with this feature.</p>
95 genone 1.1 </div>
96     <div class="section">
97 genone 1.2 <h1><a class="toc-backref" href="#id7" id="rationale" name="rationale">Rationale</a></h1>
98 genone 1.3 <p>The new RESTRICT=unattended metadata setting will give us the following benefits:</p>
99 genone 1.1 <ol class="arabic simple">
100     <li>Enable masking of interactive ebuilds for automated build environments</li>
101     <li>Metadata based searching for interactive ebuilds (superior to grep)</li>
102     <li>Less frustrated users caused by <tt class="docutils literal"><span class="pre">hanging</span></tt> build processes</li>
103     </ol>
104     <p>This proposal does not change the existing policy regarding interactive ebuilds
105     (ebuilds still should be non-interactive whenever possible), it merely states a
106     way to identify them.</p>
107     </div>
108     <div class="section">
109 genone 1.2 <h1><a class="toc-backref" href="#id8" id="backwards-compatibility" name="backwards-compatibility">Backwards Compatibility</a></h1>
110 genone 1.1 <p>Strictly speaking this extension would requires an EAPI bump, however as existing
111     portage ignore unknown RESTRICT values it shouldn't cause any real breakage to
112     introduce it without.</p>
113     </div>
114     <div class="section">
115 genone 1.2 <h1><a class="toc-backref" href="#id9" id="reference-implementation" name="reference-implementation">Reference Implementation</a></h1>
116     <p>A <a class="reference" href="glep-0052-extras/portage-2.1.2_pre2-r6-interactive-restrict.diff.txt">patch against portage-2.1.2_pre2-r6</a> <a class="footnote-reference" href="#id2" id="id3" name="id3">[2]</a> is available with this document.</p>
117 genone 1.1 </div>
118     <div class="section">
119 genone 1.2 <h1><a class="toc-backref" href="#id10" id="credits" name="credits">Credits</a></h1>
120 genone 1.1 <p>Thanks to the following persons for their input on or related to this GLEP
121     (even though they might not have known it):
122     Alec Warner, Zac Medico, Simon Stelling</p>
123     </div>
124     <div class="section">
125 genone 1.2 <h1><a class="toc-backref" href="#id11" id="references" name="references">References</a></h1>
126 genone 1.1 <table class="docutils footnote" frame="void" id="bug151113" rules="none">
127     <colgroup><col class="label" /><col /></colgroup>
128     <tbody valign="top">
129     <tr><td class="label"><a name="bug151113">[1]</a></td><td><a class="reference" href="http://bugs.gentoo.org/151113">http://bugs.gentoo.org/151113</a></td></tr>
130     </tbody>
131     </table>
132 genone 1.2 <table class="docutils footnote" frame="void" id="id2" rules="none">
133     <colgroup><col class="label" /><col /></colgroup>
134     <tbody valign="top">
135     <tr><td class="label"><a class="fn-backref" href="#id3" name="id2">[2]</a></td><td><a class="reference" href="glep-0052-extras/portage-2.1.2_pre2-r6-interactive-restrict.diff.txt">glep-0052-extras/portage-2.1.2_pre2-r6-interactive-restrict.diff.txt</a></td></tr>
136     </tbody>
137     </table>
138 genone 1.1 </div>
139     <div class="section">
140 genone 1.2 <h1><a class="toc-backref" href="#id12" id="copyright" name="copyright">Copyright</a></h1>
141 genone 1.1 <p>This document has been placed in the public domain.</p>
142     </div>
143    
144     </div>
145     <div class="footer">
146     <hr class="footer" />
147     <a class="reference" href="glep-0052.txt">View document source</a>.
148 antarus 1.7 Generated on: 2007-10-13 13:39 UTC.
149 genone 1.1 Generated by <a class="reference" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
150    
151     </div>
152     </body>
153     </html>

  ViewVC Help
Powered by ViewVC 1.1.20