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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.1 Revision 1.7
1<?xml version="1.0" encoding="utf-8" ?> 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"> 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"> 3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4<!-- 4
5This HTML is auto-generated. DO NOT EDIT THIS FILE! If you are writing a new
6PEP, see http://www.python.org/peps/pep-0001.html for instructions and links
7to templates. DO NOT USE THIS HTML FILE AS YOUR TEMPLATE!
8-->
9<head> 5<head>
10 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 6 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
11 <meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" /> 7 <meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
12 <title>GLEP 52 -- RESTRICT=interactive</title> 8 <title>GLEP 52 -- RESTRICT=unattended</title>
13 <style type="text/css"> 9 <link rel="stylesheet" href="tools/glep.css" type="text/css" />
14
15/*
16:Author: David Goodger
17:Contact: goodger@users.sourceforge.net
18:date: $Date: 2006/10/13 22:48:15 $
19:version: $Revision: 1.1 $
20:copyright: This stylesheet has been placed in the public domain.
21
22Default cascading style sheet for the PEP HTML output of Docutils.
23*/
24
25.first {
26 margin-top: 0 }
27
28.last {
29 margin-bottom: 0 }
30
31.navigation {
32 width: 100% ;
33 background: #cc99ff ;
34 margin-top: 0px ;
35 margin-bottom: 0px }
36
37.navigation .navicon {
38 width: 150px ;
39 height: 35px }
40
41.navigation .textlinks {
42 padding-left: 1em ;
43 text-align: left }
44
45.navigation td, .navigation th {
46 padding-left: 0em ;
47 padding-right: 0em ;
48 vertical-align: middle }
49
50.rfc2822 {
51 margin-top: 0.5em ;
52 margin-left: 0.5em ;
53 margin-right: 0.5em ;
54 margin-bottom: 0em }
55
56.rfc2822 td {
57 text-align: left }
58
59.rfc2822 th.field-name {
60 text-align: right ;
61 font-family: sans-serif ;
62 padding-right: 0.5em ;
63 font-weight: bold ;
64 margin-bottom: 0em }
65
66a.toc-backref {
67 text-decoration: none ;
68 color: black }
69
70body {
71 margin: 0px ;
72 margin-bottom: 1em ;
73 padding: 0px }
74
75dd {
76 margin-bottom: 0.5em }
77
78div.section {
79 margin-left: 1em ;
80 margin-right: 1em ;
81 margin-bottom: 1.5em }
82
83div.section div.section {
84 margin-left: 0em ;
85 margin-right: 0em ;
86 margin-top: 1.5em }
87
88div.abstract {
89 margin: 2em 5em }
90
91div.abstract p.topic-title {
92 font-weight: bold ;
93 text-align: center }
94
95div.attention, div.caution, div.danger, div.error, div.hint,
96div.important, div.note, div.tip, div.warning {
97 margin: 2em ;
98 border: medium outset ;
99 padding: 1em }
100
101div.attention p.admonition-title, div.caution p.admonition-title,
102div.danger p.admonition-title, div.error p.admonition-title,
103div.warning p.admonition-title {
104 color: red ;
105 font-weight: bold ;
106 font-family: sans-serif }
107
108div.hint p.admonition-title, div.important p.admonition-title,
109div.note p.admonition-title, div.tip p.admonition-title {
110 font-weight: bold ;
111 font-family: sans-serif }
112
113div.figure {
114 margin-left: 2em }
115
116div.footer, div.header {
117 font-size: smaller }
118
119div.footer {
120 margin-left: 1em ;
121 margin-right: 1em }
122
123div.system-messages {
124 margin: 5em }
125
126div.system-messages h1 {
127 color: red }
128
129div.system-message {
130 border: medium outset ;
131 padding: 1em }
132
133div.system-message p.system-message-title {
134 color: red ;
135 font-weight: bold }
136
137div.topic {
138 margin: 2em }
139
140h1 {
141 font-family: sans-serif ;
142 font-size: large }
143
144h2 {
145 font-family: sans-serif ;
146 font-size: medium }
147
148h3 {
149 font-family: sans-serif ;
150 font-size: small }
151
152h4 {
153 font-family: sans-serif ;
154 font-style: italic ;
155 font-size: small }
156
157h5 {
158 font-family: sans-serif;
159 font-size: x-small }
160
161h6 {
162 font-family: sans-serif;
163 font-style: italic ;
164 font-size: x-small }
165
166.section hr {
167 width: 75% }
168
169ol.simple, ul.simple {
170 margin-bottom: 1em }
171
172ol.arabic {
173 list-style: decimal }
174
175ol.loweralpha {
176 list-style: lower-alpha }
177
178ol.upperalpha {
179 list-style: upper-alpha }
180
181ol.lowerroman {
182 list-style: lower-roman }
183
184ol.upperroman {
185 list-style: upper-roman }
186
187p.caption {
188 font-style: italic }
189
190p.credits {
191 font-style: italic ;
192 font-size: smaller }
193
194p.label {
195 white-space: nowrap }
196
197p.topic-title {
198 font-family: sans-serif ;
199 font-weight: bold }
200
201pre.line-block {
202 font-family: serif ;
203 font-size: 100% }
204
205pre.literal-block, pre.doctest-block {
206 margin-left: 2em ;
207 margin-right: 2em ;
208 background-color: #eeeeee }
209
210span.classifier {
211 font-family: sans-serif ;
212 font-style: oblique }
213
214span.classifier-delimiter {
215 font-family: sans-serif ;
216 font-weight: bold }
217
218span.interpreted {
219 font-family: sans-serif }
220
221span.option-argument {
222 font-style: italic }
223
224span.pre {
225 white-space: pre }
226
227span.problematic {
228 color: red }
229
230table {
231 margin-top: 0.5em ;
232 margin-bottom: 0.5em }
233
234td, th {
235 padding-left: 0.5em ;
236 padding-right: 0.5em ;
237 vertical-align: top }
238
239td.num {
240 text-align: right }
241
242th.field-name {
243 font-weight: bold ;
244 text-align: left ;
245 white-space: nowrap }
246
247h1 tt, h2 tt, h3 tt, h4 tt, h5 tt, h6 tt {
248 font-size: 100% }
249
250tt {
251 background-color: #eeeeee }
252
253ul.auto-toc {
254 list-style-type: none }
255
256</style>
257</head> 10</head>
258<body bgcolor="white"> 11<body bgcolor="white">
259<table class="navigation" cellpadding="0" cellspacing="0" 12<table class="navigation" cellpadding="0" cellspacing="0"
260 width="100%" border="0"> 13 width="100%" border="0">
261<tr><td class="navicon" width="150" height="35"> 14<tr><td class="navicon" width="150" height="35">
262<a href="http://www.gentoo.org/" title="Gentoo Linux Home Page"> 15<a href="http://www.gentoo.org/" title="Gentoo Linux Home Page">
263<img src="http://www.gentoo.org/images/gentoo-new.gif" alt="[Gentoo]" 16<img src="http://www.gentoo.org/images/gentoo-new.gif" alt="[Gentoo]"
264 border="0" width="150" height="35" /></a></td> 17 border="0" width="150" height="35" /></a></td>
265<td class="textlinks" align="left"> 18<td class="textlinks" align="left">
266[<b><a href="http://www.gentoo.org/">Gentoo Linux Home</a></b>] 19[<b><a href="http://www.gentoo.org/">Gentoo Linux Home</a></b>]
267[<b><a href="http://www.gentoo.org/peps">GLEP Index</a></b>] 20[<b><a href="http://www.gentoo.org/proj/en/glep">GLEP Index</a></b>]
268[<b><a href="http://www.gentoo.org/proj/en/glep/glep-0052.txt">GLEP Source</a></b>] 21[<b><a href="http://www.gentoo.org/proj/en/glep/glep-0052.txt">GLEP Source</a></b>]
269</td></tr></table> 22</td></tr></table>
270<table class="rfc2822 docutils field-list" frame="void" rules="none"> 23<table class="rfc2822 docutils field-list" frame="void" rules="none">
271<col class="field-name" /> 24<col class="field-name" />
272<col class="field-body" /> 25<col class="field-body" />
273<tbody valign="top"> 26<tbody valign="top">
274<tr class="field"><th class="field-name">GLEP:</th><td class="field-body">52</td> 27<tr class="field"><th class="field-name">GLEP:</th><td class="field-body">52</td>
275</tr> 28</tr>
276<tr class="field"><th class="field-name">Title:</th><td class="field-body">RESTRICT=interactive</td> 29<tr class="field"><th class="field-name">Title:</th><td class="field-body">RESTRICT=unattended</td>
277</tr> 30</tr>
278<tr class="field"><th class="field-name">Version:</th><td class="field-body">1.1</td> 31<tr class="field"><th class="field-name">Version:</th><td class="field-body">1.5</td>
279</tr> 32</tr>
280<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">2005/12/06 03:34:21</a></td> 33<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>
281</tr> 34</tr>
282<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> 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>
283</tr> 36</tr>
284<tr class="field"><th class="field-name">Status:</th><td class="field-body">Draft</td> 37<tr class="field"><th class="field-name">Status:</th><td class="field-body">Withdrawn</td>
285</tr> 38</tr>
286<tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td> 39<tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td>
287</tr> 40</tr>
288<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> 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>
289</tr> 42</tr>
295</table> 48</table>
296<hr /> 49<hr />
297<div class="contents topic"> 50<div class="contents topic">
298<p class="topic-title first"><a id="contents" name="contents">Contents</a></p> 51<p class="topic-title first"><a id="contents" name="contents">Contents</a></p>
299<ul class="simple"> 52<ul class="simple">
300<li><a class="reference" href="#abstract" id="id1" name="id1">Abstract</a></li> 53<li><a class="reference" href="#abstract" id="id4" name="id4">Abstract</a></li>
301<li><a class="reference" href="#motivation" id="id2" name="id2">Motivation</a></li> 54<li><a class="reference" href="#motivation" id="id5" name="id5">Motivation</a></li>
302<li><a class="reference" href="#specification" id="id3" name="id3">Specification</a></li> 55<li><a class="reference" href="#specification" id="id6" name="id6">Specification</a></li>
303<li><a class="reference" href="#rationale" id="id4" name="id4">Rationale</a></li> 56<li><a class="reference" href="#rationale" id="id7" name="id7">Rationale</a></li>
304<li><a class="reference" href="#backwards-compatibility" id="id5" name="id5">Backwards Compatibility</a></li> 57<li><a class="reference" href="#backwards-compatibility" id="id8" name="id8">Backwards Compatibility</a></li>
305<li><a class="reference" href="#reference-implementation" id="id6" name="id6">Reference Implementation</a></li> 58<li><a class="reference" href="#reference-implementation" id="id9" name="id9">Reference Implementation</a></li>
306<li><a class="reference" href="#credits" id="id7" name="id7">Credits</a></li> 59<li><a class="reference" href="#credits" id="id10" name="id10">Credits</a></li>
307<li><a class="reference" href="#references" id="id8" name="id8">References</a></li> 60<li><a class="reference" href="#references" id="id11" name="id11">References</a></li>
308<li><a class="reference" href="#copyright" id="id9" name="id9">Copyright</a></li> 61<li><a class="reference" href="#copyright" id="id12" name="id12">Copyright</a></li>
309</ul> 62</ul>
310</div> 63</div>
311<div class="section"> 64<div class="section">
312<h1><a class="toc-backref" href="#id1" id="abstract" name="abstract">Abstract</a></h1> 65<h1><a class="toc-backref" href="#id4" id="abstract" name="abstract">Abstract</a></h1>
313<p>This GLEP proposes a new value for the RESTRICT metadata variable in ebuilds to 66<p>This GLEP proposes a new value for the RESTRICT metadata variable in ebuilds to
314indicate that an ebuild requires interaction by the user.</p> 67indicate that an ebuild requires interaction by the user.</p>
315</div> 68</div>
316<div class="section"> 69<div class="section">
317<h1><a class="toc-backref" href="#id2" id="motivation" name="motivation">Motivation</a></h1> 70<h1><a class="toc-backref" href="#id5" id="motivation" name="motivation">Motivation</a></h1>
318<p>Certain ebuilds in the current tree require certain actions from the user to 71<p>Certain ebuilds in the current tree require certain actions from the user to
319progress. A popular example are ebuilds that require physical media (cd/dvd-rom) 72progress. A popular example are ebuilds that require physical media (cd/dvd-rom)
320for their distfiles instead of fetching them form the net. 73for their distfiles instead of fetching them form the net.
321However ebuilds are supposed to be non-interactive, so this behavior, while 74However ebuilds are supposed to be non-interactive, so this behavior, while
322sometimes necessary, violates existing policies. To account for this situation 75sometimes necessary, violates existing policies. To account for this situation
323a new RESTRICT value should be added to allow filtering those ebuilds based on 76a new RESTRICT value should be added to allow filtering those ebuilds based on
324metadata and to inform users upfront (when displaying the depgraph) that a 77metadata and to inform users upfront (when displaying the depgraph) that a
325certain package will require their attention during the build process.</p> 78certain package will require their attention during the build process.</p>
326</div> 79</div>
327<div class="section"> 80<div class="section">
328<h1><a class="toc-backref" href="#id3" id="specification" name="specification">Specification</a></h1> 81<h1><a class="toc-backref" href="#id6" id="specification" name="specification">Specification</a></h1>
329<p>Portage (and by extension other package managers) will support a new value for 82<p>Portage (and by extension other package managers) will support a new value for
330the RESTRICT metadata variable called <tt class="docutils literal"><span class="pre">interactive</span></tt>. This value may be used by 83the RESTRICT metadata variable called <tt class="docutils literal"><span class="pre">unattended</span></tt>. This value may be used by
331the package manager and tools using its API to filter packages that require 84the package manager and tools using its API to filter packages that require
332interactive actions (for example to mask them in automated build environments). 85interactive actions (for example to mask them in automated build environments).
333How the package manager exactly reacts on the presence of this new flag is beyond 86How the package manager exactly reacts on the presence of this new flag is beyond
334this specification, but it's recommended to indicate it's presence to the user 87this specification, but it's recommended to indicate it's presence to the user
335whenever relevant.</p> 88whenever relevant.</p>
336<p>This new setting should be used in ebuilds if it is known that they _typically_ 89<p>This new setting should be used in ebuilds if it is known that they _typically_
337require user attention during the build process. If an ebuild just has a limited 90require user attention during the build process. If an ebuild just has a limited
338<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) 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)
339it shouldn't be restricted.</p> 92it shouldn't be restricted. Note that only package installation is covered here,
93interactivity in package removals (in pkg_prerm and pkg_postrm) can not be
94indicated with this feature.</p>
340</div> 95</div>
341<div class="section"> 96<div class="section">
342<h1><a class="toc-backref" href="#id4" id="rationale" name="rationale">Rationale</a></h1> 97<h1><a class="toc-backref" href="#id7" id="rationale" name="rationale">Rationale</a></h1>
343<p>The new RESTRICT=interactive metadata setting will give us the following benefits:</p> 98<p>The new RESTRICT=unattended metadata setting will give us the following benefits:</p>
344<ol class="arabic simple"> 99<ol class="arabic simple">
345<li>Enable masking of interactive ebuilds for automated build environments</li> 100<li>Enable masking of interactive ebuilds for automated build environments</li>
346<li>Metadata based searching for interactive ebuilds (superior to grep)</li> 101<li>Metadata based searching for interactive ebuilds (superior to grep)</li>
347<li>Less frustrated users caused by <tt class="docutils literal"><span class="pre">hanging</span></tt> build processes</li> 102<li>Less frustrated users caused by <tt class="docutils literal"><span class="pre">hanging</span></tt> build processes</li>
348</ol> 103</ol>
349<p>This proposal does not change the existing policy regarding interactive ebuilds 104<p>This proposal does not change the existing policy regarding interactive ebuilds
350(ebuilds still should be non-interactive whenever possible), it merely states a 105(ebuilds still should be non-interactive whenever possible), it merely states a
351way to identify them.</p> 106way to identify them.</p>
352</div> 107</div>
353<div class="section"> 108<div class="section">
354<h1><a class="toc-backref" href="#id5" id="backwards-compatibility" name="backwards-compatibility">Backwards Compatibility</a></h1> 109<h1><a class="toc-backref" href="#id8" id="backwards-compatibility" name="backwards-compatibility">Backwards Compatibility</a></h1>
355<p>Strictly speaking this extension would requires an EAPI bump, however as existing 110<p>Strictly speaking this extension would requires an EAPI bump, however as existing
356portage ignore unknown RESTRICT values it shouldn't cause any real breakage to 111portage ignore unknown RESTRICT values it shouldn't cause any real breakage to
357introduce it without.</p> 112introduce it without.</p>
358</div> 113</div>
359<div class="section"> 114<div class="section">
360<h1><a class="toc-backref" href="#id6" id="reference-implementation" name="reference-implementation">Reference Implementation</a></h1> 115<h1><a class="toc-backref" href="#id9" id="reference-implementation" name="reference-implementation">Reference Implementation</a></h1>
361<p>TODO</p> 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>
362</div> 117</div>
363<div class="section"> 118<div class="section">
364<h1><a class="toc-backref" href="#id7" id="credits" name="credits">Credits</a></h1> 119<h1><a class="toc-backref" href="#id10" id="credits" name="credits">Credits</a></h1>
365<p>Thanks to the following persons for their input on or related to this GLEP 120<p>Thanks to the following persons for their input on or related to this GLEP
366(even though they might not have known it): 121(even though they might not have known it):
367Alec Warner, Zac Medico, Simon Stelling</p> 122Alec Warner, Zac Medico, Simon Stelling</p>
368</div> 123</div>
369<div class="section"> 124<div class="section">
370<h1><a class="toc-backref" href="#id8" id="references" name="references">References</a></h1> 125<h1><a class="toc-backref" href="#id11" id="references" name="references">References</a></h1>
371<table class="docutils footnote" frame="void" id="bug151113" rules="none"> 126<table class="docutils footnote" frame="void" id="bug151113" rules="none">
372<colgroup><col class="label" /><col /></colgroup> 127<colgroup><col class="label" /><col /></colgroup>
373<tbody valign="top"> 128<tbody valign="top">
374<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> 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>
375</tbody> 130</tbody>
376</table> 131</table>
132<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>
377</div> 138</div>
378<div class="section"> 139<div class="section">
379<h1><a class="toc-backref" href="#id9" id="copyright" name="copyright">Copyright</a></h1> 140<h1><a class="toc-backref" href="#id12" id="copyright" name="copyright">Copyright</a></h1>
380<p>This document has been placed in the public domain.</p> 141<p>This document has been placed in the public domain.</p>
381</div> 142</div>
382 143
383</div> 144</div>
384<div class="footer"> 145<div class="footer">
385<hr class="footer" /> 146<hr class="footer" />
386<a class="reference" href="glep-0052.txt">View document source</a>. 147<a class="reference" href="glep-0052.txt">View document source</a>.
387Generated on: 2006-10-13 22:52 UTC. 148Generated on: 2007-10-13 13:39 UTC.
388Generated 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. 149Generated 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.
389 150
390</div> 151</div>
391</body> 152</body>
392</html> 153</html>

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.7

  ViewVC Help
Powered by ViewVC 1.1.20