/[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.3
7to templates. DO NOT USE THIS HTML FILE AS YOUR TEMPLATE! 7to templates. DO NOT USE THIS HTML FILE AS YOUR TEMPLATE!
8--> 8-->
9<head> 9<head>
10 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 10 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
11 <meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" /> 11 <meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
12 <title>GLEP 52 -- RESTRICT=interactive</title> 12 <title>GLEP 52 -- RESTRICT=unattended</title>
13 <style type="text/css"> 13 <style type="text/css">
14 14
15/* 15/*
16:Author: David Goodger 16:Author: David Goodger
17:Contact: goodger@users.sourceforge.net 17:Contact: goodger@users.sourceforge.net
18:date: $Date: 2006/10/13 22:48:15 $ 18:date: $Date: 2006/10/27 15:45:26 $
19:version: $Revision: 1.1 $ 19:version: $Revision: 1.3 $
20:copyright: This stylesheet has been placed in the public domain. 20:copyright: This stylesheet has been placed in the public domain.
21 21
22Default cascading style sheet for the PEP HTML output of Docutils. 22Default cascading style sheet for the PEP HTML output of Docutils.
23*/ 23*/
24 24
271<col class="field-name" /> 271<col class="field-name" />
272<col class="field-body" /> 272<col class="field-body" />
273<tbody valign="top"> 273<tbody valign="top">
274<tr class="field"><th class="field-name">GLEP:</th><td class="field-body">52</td> 274<tr class="field"><th class="field-name">GLEP:</th><td class="field-body">52</td>
275</tr> 275</tr>
276<tr class="field"><th class="field-name">Title:</th><td class="field-body">RESTRICT=interactive</td> 276<tr class="field"><th class="field-name">Title:</th><td class="field-body">RESTRICT=unattended</td>
277</tr> 277</tr>
278<tr class="field"><th class="field-name">Version:</th><td class="field-body">1.1</td> 278<tr class="field"><th class="field-name">Version:</th><td class="field-body">1.1</td>
279</tr> 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">2005/12/06 03:34:21</a></td> 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/13 22:48:15</a></td>
281</tr> 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> 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> 283</tr>
284<tr class="field"><th class="field-name">Status:</th><td class="field-body">Draft</td> 284<tr class="field"><th class="field-name">Status:</th><td class="field-body">Draft</td>
285</tr> 285</tr>
295</table> 295</table>
296<hr /> 296<hr />
297<div class="contents topic"> 297<div class="contents topic">
298<p class="topic-title first"><a id="contents" name="contents">Contents</a></p> 298<p class="topic-title first"><a id="contents" name="contents">Contents</a></p>
299<ul class="simple"> 299<ul class="simple">
300<li><a class="reference" href="#abstract" id="id1" name="id1">Abstract</a></li> 300<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> 301<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> 302<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> 303<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> 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="id6" name="id6">Reference Implementation</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="id7" name="id7">Credits</a></li> 306<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> 307<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> 308<li><a class="reference" href="#copyright" id="id12" name="id12">Copyright</a></li>
309</ul> 309</ul>
310</div> 310</div>
311<div class="section"> 311<div class="section">
312<h1><a class="toc-backref" href="#id1" id="abstract" name="abstract">Abstract</a></h1> 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 313<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> 314indicate that an ebuild requires interaction by the user.</p>
315</div> 315</div>
316<div class="section"> 316<div class="section">
317<h1><a class="toc-backref" href="#id2" id="motivation" name="motivation">Motivation</a></h1> 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 318<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) 319progress. A popular example are ebuilds that require physical media (cd/dvd-rom)
320for their distfiles instead of fetching them form the net. 320for their distfiles instead of fetching them form the net.
321However ebuilds are supposed to be non-interactive, so this behavior, while 321However ebuilds are supposed to be non-interactive, so this behavior, while
322sometimes necessary, violates existing policies. To account for this situation 322sometimes necessary, violates existing policies. To account for this situation
323a new RESTRICT value should be added to allow filtering those ebuilds based on 323a 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 324metadata and to inform users upfront (when displaying the depgraph) that a
325certain package will require their attention during the build process.</p> 325certain package will require their attention during the build process.</p>
326</div> 326</div>
327<div class="section"> 327<div class="section">
328<h1><a class="toc-backref" href="#id3" id="specification" name="specification">Specification</a></h1> 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 329<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 330the 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 331the package manager and tools using its API to filter packages that require
332interactive actions (for example to mask them in automated build environments). 332interactive 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 333How 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 334this specification, but it's recommended to indicate it's presence to the user
335whenever relevant.</p> 335whenever relevant.</p>
337require user attention during the build process. If an ebuild just has a limited 337require 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) 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)
339it shouldn't be restricted.</p> 339it shouldn't be restricted.</p>
340</div> 340</div>
341<div class="section"> 341<div class="section">
342<h1><a class="toc-backref" href="#id4" id="rationale" name="rationale">Rationale</a></h1> 342<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> 343<p>The new RESTRICT=unattended metadata setting will give us the following benefits:</p>
344<ol class="arabic simple"> 344<ol class="arabic simple">
345<li>Enable masking of interactive ebuilds for automated build environments</li> 345<li>Enable masking of interactive ebuilds for automated build environments</li>
346<li>Metadata based searching for interactive ebuilds (superior to grep)</li> 346<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> 347<li>Less frustrated users caused by <tt class="docutils literal"><span class="pre">hanging</span></tt> build processes</li>
348</ol> 348</ol>
349<p>This proposal does not change the existing policy regarding interactive ebuilds 349<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 350(ebuilds still should be non-interactive whenever possible), it merely states a
351way to identify them.</p> 351way to identify them.</p>
352</div> 352</div>
353<div class="section"> 353<div class="section">
354<h1><a class="toc-backref" href="#id5" id="backwards-compatibility" name="backwards-compatibility">Backwards Compatibility</a></h1> 354<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 355<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 356portage ignore unknown RESTRICT values it shouldn't cause any real breakage to
357introduce it without.</p> 357introduce it without.</p>
358</div> 358</div>
359<div class="section"> 359<div class="section">
360<h1><a class="toc-backref" href="#id6" id="reference-implementation" name="reference-implementation">Reference Implementation</a></h1> 360<h1><a class="toc-backref" href="#id9" id="reference-implementation" name="reference-implementation">Reference Implementation</a></h1>
361<p>TODO</p> 361<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> 362</div>
363<div class="section"> 363<div class="section">
364<h1><a class="toc-backref" href="#id7" id="credits" name="credits">Credits</a></h1> 364<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 365<p>Thanks to the following persons for their input on or related to this GLEP
366(even though they might not have known it): 366(even though they might not have known it):
367Alec Warner, Zac Medico, Simon Stelling</p> 367Alec Warner, Zac Medico, Simon Stelling</p>
368</div> 368</div>
369<div class="section"> 369<div class="section">
370<h1><a class="toc-backref" href="#id8" id="references" name="references">References</a></h1> 370<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"> 371<table class="docutils footnote" frame="void" id="bug151113" rules="none">
372<colgroup><col class="label" /><col /></colgroup> 372<colgroup><col class="label" /><col /></colgroup>
373<tbody valign="top"> 373<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> 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>
375</tbody> 375</tbody>
376</table> 376</table>
377<table class="docutils footnote" frame="void" id="id2" rules="none">
378<colgroup><col class="label" /><col /></colgroup>
379<tbody valign="top">
380<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>
381</tbody>
382</table>
377</div> 383</div>
378<div class="section"> 384<div class="section">
379<h1><a class="toc-backref" href="#id9" id="copyright" name="copyright">Copyright</a></h1> 385<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> 386<p>This document has been placed in the public domain.</p>
381</div> 387</div>
382 388
383</div> 389</div>
384<div class="footer"> 390<div class="footer">
385<hr class="footer" /> 391<hr class="footer" />
386<a class="reference" href="glep-0052.txt">View document source</a>. 392<a class="reference" href="glep-0052.txt">View document source</a>.
387Generated on: 2006-10-13 22:52 UTC. 393Generated on: 2006-10-14 02:53 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. 394Generated 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 395
390</div> 396</div>
391</body> 397</body>
392</html> 398</html>

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

  ViewVC Help
Powered by ViewVC 1.1.20