/[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.5 - (show annotations) (download) (as text)
Thu Jan 25 03:25:53 2007 UTC (7 years, 6 months ago) by antarus
Branch: MAIN
Changes since 1.4: +3 -3 lines
File MIME type: text/html
Fix headers in all current gleps

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

  ViewVC Help
Powered by ViewVC 1.1.20