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

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

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

Revision 1.2 Revision 1.4
1GLEP: 23 1GLEP: 23
2Title: Portage handling of ACCEPT_LICENSE 2Title: Portage handling of ACCEPT_LICENSE
3Version: $Revision: 1.2 $ 3Version: $Revision: 1.4 $
4Last-Modified: $Date: 2004/03/11 02:35:40 $ 4Last-Modified: $Date: 2006/11/18 07:27:47 $
5Author: Jason Stubbs <jstubbs@gentoo.org>, 5Author: Jason Stubbs <jstubbs@gentoo.org>, Marius Mauch <genone@gentoo.org>
6Status: Draft 6Status: Accepted
7Type: Standards Track 7Type: Standards Track
8Content-Type: text/x-rst 8Content-Type: text/x-rst
9Created: 9-Mar-2004 9Created: 9-Mar-2004
10Post-History: 8-Mar-2004 10-Mar-2004 10Post-History: 8-Mar-2004 10-Mar-2004 25-Oct-2004 18-Nov-2006
11 11
12 12
13Abstract 13Abstract
14======== 14========
15 15
16Currently, every ebuild in the portage tree is required to have a valid 16Currently, every ebuild in the portage tree is required to have a valid
17LICENSE entry. However, the syntax of this entry is not officially 17LICENSE entry. However, the syntax of this entry is not officially
18defined and the entry itself is only used when outputting package 18defined and the entry itself is only used when outputting package
19details. 19details.
20 20
21Status Update
22=============
23
24Repoman has been updated to check for the LICENSE syntax.
25A development portage branch with support for ACCEPT_LICENSE
26and license groups exists.
21 27
22Motivation 28Motivation
23========== 29==========
24 30
25Many users wish to regulate the software they install with regards to 31Many users wish to regulate the software they install with regards to
74``FSF-APPROVED``, ``OSI-APPROVED`` and ``NON-INTERACTIVE``. 80``FSF-APPROVED``, ``OSI-APPROVED`` and ``NON-INTERACTIVE``.
75``NON-INTERACTIVE`` licenses are those that don't require interactive 81``NON-INTERACTIVE`` licenses are those that don't require interactive
76acceptance for to be considered legally binding. This is the current 82acceptance for to be considered legally binding. This is the current
77behaviour of portage. 83behaviour of portage.
78 84
85These groups are defined in a new file ``license_groups`` in
86the ``profiles`` subdirectory of the tree (or overlays).
87The format of this file is
88
89::
90
91 <groupname> <license1> <license2> ... <licenseN>
92
93Also any line starting with # is ignored and may be used for comments.
94License groups may not contain negated elements, so a group
95
96::
97
98 mygroup foo -bar -bla
99
100is illegal.
101
79 102
80ACCEPT_LICENSE 103ACCEPT_LICENSE
81-------------- 104--------------
82 105
83This GLEP proposes that a user be able to explicitly accept or decline 106This GLEP proposes that a user be able to explicitly accept or decline
95 118
96:: 119::
97 120
98 ACCEPT_LICENSE="-* @FSF-APPROVED" 121 ACCEPT_LICENSE="-* @FSF-APPROVED"
99 122
123License groups may be negated with the result that all elements of that group
124are also negated.
100 125
101Emerge Behaviour 126Portage Behaviour
102---------------- 127-----------------
103 128
104At a minimum, emerge must handle unaccepted licenses the same way that 129Unaccepted licenses will be treated like any other masked package, that is
105it handles blockers. That is, with the --pretend flag the 130emerge will display a message listing any license that has to be accepted
106not-yet-accepted license should be listed in the output. Without the 131before the package can be merged with a pointer to the exact license text.
107--pretend flag, emerge should stop before any software is installed.
108 132
109This GLEP proposes that, unlike blockers, dependencies for software 133Past versions of this document proposed to handle license-masked packages
110should be checked regardless of license acceptance. Doing so will allow 134like blockers, but this would be inconsistent with other visibility
111the user to review all necessary licenses before initiating an actual 135filters as well as the current blocker system (as a blocker affects two
112emerge. 136packages) and be more complicated to implement.
113
114It is also proposed that the --ask option will display an unaccepted
115license and ask for acceptance, but not update any configuration files
116at this stage. Finally, the --verbose option should also list the
117licenses accepted for each package.
118
119 137
120Rationale 138Rationale
121========= 139=========
122 140
123An implementation of this proposal should make it easy for users wishing 141An implementation of this proposal should make it easy for users wishing
125 143
126 144
127Reference Implementation 145Reference Implementation
128======================== 146========================
129 147
130TODO 148Available in portage svn repository under main/branches/license-masking
131 149
132 150
133Backwards Compatibility 151Backwards Compatibility
134======================= 152=======================
135 153
136There should be no change to the user experience without the user 154There should be no change to the user experience without the user
137explicitly choosing to do so. This mandates that the 155explicitly choosing to do so. This mandates that the
138configuration variable be named ``ACCEPT_LICENSE`` as some users may 156configuration variable be named ``ACCEPT_LICENSE`` as some users may
139already have it set due to ebuilds using ``eutil.eclass``'s 157already have it set due to ebuilds using ``eutil.eclass``'s
140implementation. It also mandates that the default ``ACCEPT_LICENSE`` be 158implementation. It also mandates that the default ``ACCEPT_LICENSE`` be
141set to ``@NON-INTERACTIVE``. 159set to ``@NON-INTERACTIVE`` in the main gentoo repository as there will
142 160be no internal default in portage.
143 161
144References 162References
145========== 163==========
146 164
147.. [1] Gentoo Linux Bug 17367 165.. [1] Gentoo Linux Bug 17367

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

  ViewVC Help
Powered by ViewVC 1.1.20