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

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

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

Revision 1.1 Revision 1.2
31<tbody valign="top"> 31<tbody valign="top">
32<tr class="field"><th class="field-name">GLEP:</th><td class="field-body">29</td> 32<tr class="field"><th class="field-name">GLEP:</th><td class="field-body">29</td>
33</tr> 33</tr>
34<tr class="field"><th class="field-name">Title:</th><td class="field-body">USE flag groups</td> 34<tr class="field"><th class="field-name">Title:</th><td class="field-body">USE flag groups</td>
35</tr> 35</tr>
36<tr class="field"><th class="field-name">Version:</th><td class="field-body">1.1</td> 36<tr class="field"><th class="field-name">Version:</th><td class="field-body">1.3</td>
37</tr> 37</tr>
38<tr class="field"><th class="field-name">Author:</th><td class="field-body">Ciaran McCreesh &lt;ciaranm&#32;&#97;t&#32;gentoo.org&gt;</td> 38<tr class="field"><th class="field-name">Author:</th><td class="field-body">Ciaran McCreesh &lt;ciaranm&#32;&#97;t&#32;gentoo.org&gt;</td>
39</tr> 39</tr>
40<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/xml/htdocs/proj/en/glep/glep-0029.txt?cvsroot=gentoo">2004/08/22 01:59:24</a></td> 40<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/xml/htdocs/proj/en/glep/glep-0029.txt?cvsroot=gentoo">2004/10/18 15:32:10</a></td>
41</tr> 41</tr>
42<tr class="field"><th class="field-name">Status:</th><td class="field-body">Draft</td> 42<tr class="field"><th class="field-name">Status:</th><td class="field-body">Draft</td>
43</tr> 43</tr>
44<tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td> 44<tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td>
45</tr> 45</tr>
46<tr class="field"><th class="field-name">Content-Type:</th><td class="field-body"><a class="reference" href="glep-0012.html">text/x-rst</a></td> 46<tr class="field"><th class="field-name">Content-Type:</th><td class="field-body"><a class="reference" href="glep-0012.html">text/x-rst</a></td>
47</tr> 47</tr>
48<tr class="field"><th class="field-name">Created:</th><td class="field-body">19-August-2004</td> 48<tr class="field"><th class="field-name">Created:</th><td class="field-body">19-August-2004</td>
49</tr> 49</tr>
50<tr class="field"><th class="field-name">Post-Date:</th><td class="field-body">21-August-2004</td> 50<tr class="field"><th class="field-name">Post-Date:</th><td class="field-body">21-August-2004, 18-October-2004</td>
51</tr> 51</tr>
52</tbody> 52</tbody>
53</table> 53</table>
54<hr /> 54<hr />
55<div class="contents topic" id="contents"> 55<div class="contents topic" id="contents">
70<li><a class="reference" href="#backwards-compatability" id="id13" name="id13">Backwards Compatability</a></li> 70<li><a class="reference" href="#backwards-compatability" id="id13" name="id13">Backwards Compatability</a></li>
71<li><a class="reference" href="#references" id="id14" name="id14">References</a></li> 71<li><a class="reference" href="#references" id="id14" name="id14">References</a></li>
72<li><a class="reference" href="#copyright" id="id15" name="id15">Copyright</a></li> 72<li><a class="reference" href="#copyright" id="id15" name="id15">Copyright</a></li>
73</ul> 73</ul>
74</div> 74</div>
75<p>BIG FAT DISCLAIMER: EARLY DRAFT, SEND COMMENTS TO ciaranm. EVERYTHING IN
76HERE IS OPEN TO DISCUSSION. THE WRITING STYLE SUCKS. MAY CAUSE CANCER IN
77PUPPIES.</p>
78<div class="section" id="abstract"> 75<div class="section" id="abstract">
79<h1><a class="toc-backref" href="#id3" name="abstract">Abstract</a></h1> 76<h1><a class="toc-backref" href="#id3" name="abstract">Abstract</a></h1>
80<p>Currently, USE flags must be selected on a one-by-one basis, making it 77<p>Currently, USE flags must be selected on a one-by-one basis, making it
81time-consuming to set up make.conf appropriately for a machine's role.</p> 78time-consuming to set up make.conf appropriately for a machine's role.</p>
82</div> 79</div>
83<div class="section" id="motivation"> 80<div class="section" id="motivation">
84<h1><a class="toc-backref" href="#id4" name="motivation">Motivation</a></h1> 81<h1><a class="toc-backref" href="#id4" name="motivation">Motivation</a></h1>
85<p>USE flags allow the user to have software built in a manner which is 82<p>Many packages have optional support for other packages (for example, the
86relevant for their system's role. For example, a desktop user will 83Vim text editor can optionally support perl, python and ruby
87probably want to enable optional X support in packages, whereas a server 84interpreters). In Gentoo, these optional dependencies can be selected by
88user will not. However, with several hundred USE flags available, it can 85the user using USE flags. This allows a system appropriate for a given
89be time consuming to set up make.conf appropriately.</p> 86environment to be built -- a server, for example, should not typically
90<p>This GLEP proposes a mechanism for grouping USE flags to simplify 87have an X11 server or sound support, whereas both would be desirable on
91selection.</p> 88most desktop systems.</p>
89<p>With several hundred USE flags available, deciding upon which USE flags to
90enable and which to disable can take a long time. This GLEP proposes a
91mechanism for grouping USE flags to simplify selection.</p>
92</div> 92</div>
93<div class="section" id="specification"> 93<div class="section" id="specification">
94<h1><a class="toc-backref" href="#id5" name="specification">Specification</a></h1> 94<h1><a class="toc-backref" href="#id5" name="specification">Specification</a></h1>
95<div class="section" id="group-specification"> 95<div class="section" id="group-specification">
96<h2><a class="toc-backref" href="#id6" name="group-specification">Group Specification</a></h2> 96<h2><a class="toc-backref" href="#id6" name="group-specification">Group Specification</a></h2>
97<p>A group shall consist of one or more USE flags. These groups are defined 97<p>A group shall consist of one or more USE flags. These groups are defined
98in <tt class="literal"><span class="pre">${PORTDIR}/profiles/use.groups</span></tt>. It is proposed that uppercase names 98in <tt class="literal"><span class="pre">${PORTDIR}/profiles/use.groups</span></tt>. It is proposed that uppercase names
99only are used for groups to keep them visually distinct from normal USE 99only are used for groups to keep them visually distinct from normal USE
100flags. The file format is similar to the existing use.* files:</p> 100flags, although this should not be enforced programatically. The file
101should be similar in format to the existing use.* files. In the following,
102<tt class="literal"><span class="pre">SOME_GROUP</span></tt> and <tt class="literal"><span class="pre">OTHER_GROUP</span></tt> are group names, and <tt class="literal"><span class="pre">flag1</span></tt> through
103<tt class="literal"><span class="pre">flag5</span></tt> are USE flag names:</p>
101<pre class="literal-block"> 104<pre class="literal-block">
102SOME_GROUP flag1 flag2 flag3 105SOME_GROUP flag1 flag2 flag3
103OTHER_GROUP flag2 flag4 106OTHER_GROUP flag2 flag4
104</pre> 107</pre>
105<p>Groups may recursively include other groups. For consistency with GLEP 23 108<p>Groups may recursively include other groups. For consistency with GLEP 23
107<pre class="literal-block"> 110<pre class="literal-block">
108GROUP1 flag1 111GROUP1 flag1
109GROUP2 flag2 flag3 &#64;GROUP1 112GROUP2 flag2 flag3 &#64;GROUP1
110GROUP3 flag4 113GROUP3 flag4
111GROUP4 &#64;GROUP2 &#64;GROUP3 flag5 114GROUP4 &#64;GROUP2 &#64;GROUP3 flag5
115</pre>
116<p>The same flag may end up being in a particular group more than once:</p>
117<pre class="literal-block">
118GROUP1 flag1 flag2
119GROUP2 flag2 flag3
120GROUP3 &#64;GROUP1 &#64;GROUP2 flag3 flag4
121</pre>
122<p>As with similar files, comments may be included. Lines which begin with a
123hash symbol (#) are comments.</p>
124<pre class="literal-block">
125# This is a comment
126FOO bar baz fnord
112</pre> 127</pre>
113<p>Users may create their own groups using <tt class="literal"><span class="pre">/etc/portage/use.groups</span></tt>. This 128<p>Users may create their own groups using <tt class="literal"><span class="pre">/etc/portage/use.groups</span></tt>. This
114file overrides the profile settings in the case of duplicates.</p> 129file overrides the profile settings in the case of duplicates.</p>
115</div> 130</div>
116<div class="section" id="group-descriptions"> 131<div class="section" id="group-descriptions">
117<h2><a class="toc-backref" href="#id7" name="group-descriptions">Group Descriptions</a></h2> 132<h2><a class="toc-backref" href="#id7" name="group-descriptions">Group Descriptions</a></h2>
118<p>Groups shall have a textual description associated with them in the same 133<p>Groups shall have a textual description associated with them in the same
119way as USE flags. The file <tt class="literal"><span class="pre">${PORTDIR}/profiles/use.groups.desc</span></tt> 134way as USE flags. The file <tt class="literal"><span class="pre">${PORTDIR}/profiles/use.groups.desc</span></tt>
120contains these:</p> 135contains these:</p>
121<pre class="literal-block"> 136<pre class="literal-block">
137# This is a comment
122DESKTOP Flags which are appropriate for most desktop systems 138DESKTOP Flags which are appropriate for most desktop systems
123RECOMMENDED Flags which should be enabled on almost all systems 139RECOMMENDED Flags which should be enabled on almost all systems
124</pre> 140</pre>
125</div> 141</div>
126<div class="section" id="using-groups"> 142<div class="section" id="using-groups">
141specify that they wanted both Gnome <em>and</em> KDE to be used where applicable, 157specify that they wanted both Gnome <em>and</em> KDE to be used where applicable,
142chaos would ensue. However, for the sake of consistency, -flags should be 158chaos would ensue. However, for the sake of consistency, -flags should be
143supported even if their use is strongly discouraged.</p> 159supported even if their use is strongly discouraged.</p>
144<p>It is proposed that <tt class="literal"><span class="pre">-&#64;GROUP</span></tt> syntax should <em>not</em> be supported. Instead, 160<p>It is proposed that <tt class="literal"><span class="pre">-&#64;GROUP</span></tt> syntax should <em>not</em> be supported. Instead,
145users wishing to turn most things off could use the <tt class="literal"><span class="pre">-*</span></tt> USE syntax 161users wishing to turn most things off could use the <tt class="literal"><span class="pre">-*</span></tt> USE syntax
146along with a group (for example, &#64;RECOMMENDED) which turned on flags (for 162along with a group (for example, &#64;RECOMMENDED or &#64;MINIMAL) which turned on
147example, pam and readline) which should usually be used.</p> 163flags (for example, pam and readline) which should usually be used.</p>
148</div> 164</div>
149<div class="section" id="adding-new-groups"> 165<div class="section" id="adding-new-groups">
150<h2><a class="toc-backref" href="#id10" name="adding-new-groups">Adding New Groups</a></h2> 166<h2><a class="toc-backref" href="#id10" name="adding-new-groups">Adding New Groups</a></h2>
151<p>The actual groups to be created is beyond the scope of this GLEP, and any 167<p>The actual groups to be created is beyond the scope of this GLEP, and any
152group names contained herein should be treated as examples only. Creation 168group names contained herein should be treated as examples only. Creation
199</div> 215</div>
200 216
201<hr class="footer" /> 217<hr class="footer" />
202<div class="footer"> 218<div class="footer">
203<a class="reference" href="glep-0029.txt">View document source</a>. 219<a class="reference" href="glep-0029.txt">View document source</a>.
204Generated on: 2004-08-22 01:47 UTC. 220Generated on: 2004-10-18 15:31 UTC.
205Generated 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. 221Generated 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.
206</div> 222</div>
207</body> 223</body>
208</html> 224</html>
209 225

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

  ViewVC Help
Powered by ViewVC 1.1.20