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

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

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

Revision 1.4 Revision 1.5
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/10 20:25:14 $ 18:date: $Date: 2006/11/18 07:27:47 $
19:version: $Revision: 1.4 $ 19:version: $Revision: 1.5 $
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
277</tr> 277</tr>
278<tr class="field"><th class="field-name">Version:</th><td class="field-body">1.3</td> 278<tr class="field"><th class="field-name">Version:</th><td class="field-body">1.3</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-0023.txt?cvsroot=gentoo">2004/10/26 00:21:28</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-0023.txt?cvsroot=gentoo">2004/10/26 00:21:28</a></td>
281</tr> 281</tr>
282<tr class="field"><th class="field-name">Author:</th><td class="field-body">Jason Stubbs &lt;jstubbs&#32;&#97;t&#32;gentoo.org&gt;,</td> 282<tr class="field"><th class="field-name">Author:</th><td class="field-body">Jason Stubbs &lt;jstubbs&#32;&#97;t&#32;gentoo.org&gt;, 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">Accepted</td> 284<tr class="field"><th class="field-name">Status:</th><td class="field-body">Accepted</td>
285</tr> 285</tr>
286<tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td> 286<tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td>
287</tr> 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> 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> 289</tr>
290<tr class="field"><th class="field-name">Created:</th><td class="field-body">9-Mar-2004</td> 290<tr class="field"><th class="field-name">Created:</th><td class="field-body">9-Mar-2004</td>
291</tr> 291</tr>
292<tr class="field"><th class="field-name">Post-History:</th><td class="field-body">8-Mar-2004 10-Mar-2004 25-Oct-2004</td> 292<tr class="field"><th class="field-name">Post-History:</th><td class="field-body">8-Mar-2004 10-Mar-2004 25-Oct-2004 18-Nov-2006</td>
293</tr> 293</tr>
294</tbody> 294</tbody>
295</table> 295</table>
296<hr /> 296<hr />
297<div class="contents topic"> 297<div class="contents topic">
302<li><a class="reference" href="#motivation" id="id7" name="id7">Motivation</a></li> 302<li><a class="reference" href="#motivation" id="id7" name="id7">Motivation</a></li>
303<li><a class="reference" href="#specification" id="id8" name="id8">Specification</a><ul> 303<li><a class="reference" href="#specification" id="id8" name="id8">Specification</a><ul>
304<li><a class="reference" href="#ebuild-license-variable" id="id9" name="id9">Ebuild LICENSE Variable</a></li> 304<li><a class="reference" href="#ebuild-license-variable" id="id9" name="id9">Ebuild LICENSE Variable</a></li>
305<li><a class="reference" href="#license-groups" id="id10" name="id10">License Groups</a></li> 305<li><a class="reference" href="#license-groups" id="id10" name="id10">License Groups</a></li>
306<li><a class="reference" href="#accept-license" id="id11" name="id11">ACCEPT_LICENSE</a></li> 306<li><a class="reference" href="#accept-license" id="id11" name="id11">ACCEPT_LICENSE</a></li>
307<li><a class="reference" href="#emerge-behaviour" id="id12" name="id12">Emerge Behaviour</a></li> 307<li><a class="reference" href="#portage-behaviour" id="id12" name="id12">Portage Behaviour</a></li>
308</ul> 308</ul>
309</li> 309</li>
310<li><a class="reference" href="#rationale" id="id13" name="id13">Rationale</a></li> 310<li><a class="reference" href="#rationale" id="id13" name="id13">Rationale</a></li>
311<li><a class="reference" href="#reference-implementation" id="id14" name="id14">Reference Implementation</a></li> 311<li><a class="reference" href="#reference-implementation" id="id14" name="id14">Reference Implementation</a></li>
312<li><a class="reference" href="#backwards-compatibility" id="id15" name="id15">Backwards Compatibility</a></li> 312<li><a class="reference" href="#backwards-compatibility" id="id15" name="id15">Backwards Compatibility</a></li>
321defined and the entry itself is only used when outputting package 321defined and the entry itself is only used when outputting package
322details.</p> 322details.</p>
323</div> 323</div>
324<div class="section"> 324<div class="section">
325<h1><a class="toc-backref" href="#id6" id="status-update" name="status-update">Status Update</a></h1> 325<h1><a class="toc-backref" href="#id6" id="status-update" name="status-update">Status Update</a></h1>
326<p>Repoman has been updated to check for the LICENSE syntax.</p> 326<p>Repoman has been updated to check for the LICENSE syntax.
327A development portage branch with support for ACCEPT_LICENSE
328and license groups exists.</p>
327</div> 329</div>
328<div class="section"> 330<div class="section">
329<h1><a class="toc-backref" href="#id7" id="motivation" name="motivation">Motivation</a></h1> 331<h1><a class="toc-backref" href="#id7" id="motivation" name="motivation">Motivation</a></h1>
330<p>Many users wish to regulate the software they install with regards to 332<p>Many users wish to regulate the software they install with regards to
331licenses for various reasons <a class="footnote-reference" href="#id3" id="id1" name="id1">[1]</a>. Some want a system free of any 333licenses for various reasons <a class="footnote-reference" href="#id3" id="id1" name="id1">[1]</a>. Some want a system free of any
367<p>At a minimum, there needs to be the groups <tt class="docutils literal"><span class="pre">GPL-COMPATIBLE</span></tt>, 369<p>At a minimum, there needs to be the groups <tt class="docutils literal"><span class="pre">GPL-COMPATIBLE</span></tt>,
368<tt class="docutils literal"><span class="pre">FSF-APPROVED</span></tt>, <tt class="docutils literal"><span class="pre">OSI-APPROVED</span></tt> and <tt class="docutils literal"><span class="pre">NON-INTERACTIVE</span></tt>. 370<tt class="docutils literal"><span class="pre">FSF-APPROVED</span></tt>, <tt class="docutils literal"><span class="pre">OSI-APPROVED</span></tt> and <tt class="docutils literal"><span class="pre">NON-INTERACTIVE</span></tt>.
369<tt class="docutils literal"><span class="pre">NON-INTERACTIVE</span></tt> licenses are those that don't require interactive 371<tt class="docutils literal"><span class="pre">NON-INTERACTIVE</span></tt> licenses are those that don't require interactive
370acceptance for to be considered legally binding. This is the current 372acceptance for to be considered legally binding. This is the current
371behaviour of portage.</p> 373behaviour of portage.</p>
374<p>These groups are defined in a new file <tt class="docutils literal"><span class="pre">license_groups</span></tt> in
375the <tt class="docutils literal"><span class="pre">profiles</span></tt> subdirectory of the tree (or overlays).
376The format of this file is</p>
377<pre class="literal-block">
378&lt;groupname&gt; &lt;license1&gt; &lt;license2&gt; ... &lt;licenseN&gt;
379</pre>
380<p>Also any line starting with # is ignored and may be used for comments.
381License groups may not contain negated elements, so a group</p>
382<pre class="literal-block">
383mygroup foo -bar -bla
384</pre>
385<p>is illegal.</p>
372</div> 386</div>
373<div class="section"> 387<div class="section">
374<h2><a class="toc-backref" href="#id11" id="accept-license" name="accept-license">ACCEPT_LICENSE</a></h2> 388<h2><a class="toc-backref" href="#id11" id="accept-license" name="accept-license">ACCEPT_LICENSE</a></h2>
375<p>This GLEP proposes that a user be able to explicitly accept or decline 389<p>This GLEP proposes that a user be able to explicitly accept or decline
376licenses by editing a new variable <tt class="docutils literal"><span class="pre">ACCEPT_LICENSE</span></tt> in 390licenses by editing a new variable <tt class="docutils literal"><span class="pre">ACCEPT_LICENSE</span></tt> in
383This GLEP proposes that the license group be prepended by the special 397This GLEP proposes that the license group be prepended by the special
384character &quot;<tt class="docutils literal"><span class="pre">&#64;</span></tt>&quot;. For example:</p> 398character &quot;<tt class="docutils literal"><span class="pre">&#64;</span></tt>&quot;. For example:</p>
385<pre class="literal-block"> 399<pre class="literal-block">
386ACCEPT_LICENSE=&quot;-* &#64;FSF-APPROVED&quot; 400ACCEPT_LICENSE=&quot;-* &#64;FSF-APPROVED&quot;
387</pre> 401</pre>
402<p>License groups may be negated with the result that all elements of that group
403are also negated.</p>
388</div> 404</div>
389<div class="section"> 405<div class="section">
390<h2><a class="toc-backref" href="#id12" id="emerge-behaviour" name="emerge-behaviour">Emerge Behaviour</a></h2> 406<h2><a class="toc-backref" href="#id12" id="portage-behaviour" name="portage-behaviour">Portage Behaviour</a></h2>
391<p>At a minimum, emerge must handle unaccepted licenses the same way that 407<p>Unaccepted licenses will be treated like any other masked package, that is
392it handles blockers. That is, with the --pretend flag the 408emerge will display a message listing any license that has to be accepted
393not-yet-accepted license should be listed in the output. Without the 409before the package can be merged with a pointer to the exact license text.</p>
394--pretend flag, emerge should stop before any software is installed.</p> 410<p>Past versions of this document proposed to handle license-masked packages
395<p>This GLEP proposes that, unlike blockers, dependencies for software 411like blockers, but this would be inconsistent with other visibility
396should be checked regardless of license acceptance. Doing so will allow 412filters as well as the current blocker system (as a blocker affects two
397the user to review all necessary licenses before initiating an actual 413packages) and be more complicated to implement.</p>
398emerge.</p>
399<p>It is also proposed that the --ask option will display an unaccepted
400license and ask for acceptance, but not update any configuration files
401at this stage. Finally, the --verbose option should also list the
402licenses accepted for each package.</p>
403</div> 414</div>
404</div> 415</div>
405<div class="section"> 416<div class="section">
406<h1><a class="toc-backref" href="#id13" id="rationale" name="rationale">Rationale</a></h1> 417<h1><a class="toc-backref" href="#id13" id="rationale" name="rationale">Rationale</a></h1>
407<p>An implementation of this proposal should make it easy for users wishing 418<p>An implementation of this proposal should make it easy for users wishing
408to regulate their software without affecting those that don't.</p> 419to regulate their software without affecting those that don't.</p>
409</div> 420</div>
410<div class="section"> 421<div class="section">
411<h1><a class="toc-backref" href="#id14" id="reference-implementation" name="reference-implementation">Reference Implementation</a></h1> 422<h1><a class="toc-backref" href="#id14" id="reference-implementation" name="reference-implementation">Reference Implementation</a></h1>
412<p>TODO</p> 423<p>Available in portage svn repository under main/branches/license-masking</p>
413</div> 424</div>
414<div class="section"> 425<div class="section">
415<h1><a class="toc-backref" href="#id15" id="backwards-compatibility" name="backwards-compatibility">Backwards Compatibility</a></h1> 426<h1><a class="toc-backref" href="#id15" id="backwards-compatibility" name="backwards-compatibility">Backwards Compatibility</a></h1>
416<p>There should be no change to the user experience without the user 427<p>There should be no change to the user experience without the user
417explicitly choosing to do so. This mandates that the 428explicitly choosing to do so. This mandates that the
418configuration variable be named <tt class="docutils literal"><span class="pre">ACCEPT_LICENSE</span></tt> as some users may 429configuration variable be named <tt class="docutils literal"><span class="pre">ACCEPT_LICENSE</span></tt> as some users may
419already have it set due to ebuilds using <tt class="docutils literal"><span class="pre">eutil.eclass</span></tt>'s 430already have it set due to ebuilds using <tt class="docutils literal"><span class="pre">eutil.eclass</span></tt>'s
420implementation. It also mandates that the default <tt class="docutils literal"><span class="pre">ACCEPT_LICENSE</span></tt> be 431implementation. It also mandates that the default <tt class="docutils literal"><span class="pre">ACCEPT_LICENSE</span></tt> be
421set to <tt class="docutils literal"><span class="pre">&#64;NON-INTERACTIVE</span></tt>.</p> 432set to <tt class="docutils literal"><span class="pre">&#64;NON-INTERACTIVE</span></tt> in the main gentoo repository as there will
433be no internal default in portage.</p>
422</div> 434</div>
423<div class="section"> 435<div class="section">
424<h1><a class="toc-backref" href="#id16" id="references" name="references">References</a></h1> 436<h1><a class="toc-backref" href="#id16" id="references" name="references">References</a></h1>
425<table class="docutils footnote" frame="void" id="id3" rules="none"> 437<table class="docutils footnote" frame="void" id="id3" rules="none">
426<colgroup><col class="label" /><col /></colgroup> 438<colgroup><col class="label" /><col /></colgroup>
444 456
445</div> 457</div>
446<div class="footer"> 458<div class="footer">
447<hr class="footer" /> 459<hr class="footer" />
448<a class="reference" href="glep-0023.txt">View document source</a>. 460<a class="reference" href="glep-0023.txt">View document source</a>.
449Generated on: 2006-10-10 20:23 UTC. 461Generated on: 2006-11-18 07:35 UTC.
450Generated 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. 462Generated 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.
451 463
452</div> 464</div>
453</body> 465</body>
454</html> 466</html>

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

  ViewVC Help
Powered by ViewVC 1.1.20