/[gentoo]/xml/htdocs/doc/en/handbook/hb-working-use.xml
Gentoo

Diff of /xml/htdocs/doc/en/handbook/hb-working-use.xml

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

Revision 1.36 Revision 1.44
1<?xml version='1.0' encoding='UTF-8'?> 1<?xml version='1.0' encoding='UTF-8'?>
2<!DOCTYPE sections SYSTEM "/dtd/book.dtd"> 2<!DOCTYPE sections SYSTEM "/dtd/book.dtd">
3 3
4<!-- The content of this document is licensed under the CC-BY-SA license --> 4<!-- The content of this document is licensed under the CC-BY-SA license -->
5<!-- See http://creativecommons.org/licenses/by-sa/1.0 --> 5<!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
6 6
7<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-working-use.xml,v 1.36 2005/10/26 14:37:18 rane Exp $ --> 7<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-working-use.xml,v 1.44 2006/10/28 09:17:55 neysx Exp $ -->
8 8
9<sections> 9<sections>
10 10
11<abstract>
12USE-flags are a very important aspect of Gentoo. In this chapter, you learn to
13work with USE-flags and understand how USE-flags interact with your system.
14</abstract>
15
11<version>1.31</version> 16<version>1.35</version>
12<date>2005-10-26</date> 17<date>2006-10-08</date>
13 18
14<section> 19<section>
15<title>What are USE-flags?</title> 20<title>What are USE-flags?</title>
16<subsection> 21<subsection>
17<title>The ideas behind USE-flags</title> 22<title>The ideas behind USE-flags</title>
34 39
35<p> 40<p>
36To help users in deciding what to install/activate and what not, we wanted the 41To help users in deciding what to install/activate and what not, we wanted the
37user to specify his/her environment in an easy way. This forces the user into 42user to specify his/her environment in an easy way. This forces the user into
38deciding what they really want and eases the process for Portage, our package 43deciding what they really want and eases the process for Portage, our package
39managment system, to make useful decisions. 44management system, to make useful decisions.
40</p> 45</p>
41 46
42</body> 47</body>
43</subsection> 48</subsection>
44<subsection> 49<subsection>
89</ul> 94</ul>
90 95
91<p> 96<p>
92A list of available global USE-flags can be found <uri 97A list of available global USE-flags can be found <uri
93link="/dyn/use-index.xml">online</uri> or locally in 98link="/dyn/use-index.xml">online</uri> or locally in
94<path>/usr/portage/profiles/use.desc</path>. A short (<e>very</e> incomplete) 99<path>/usr/portage/profiles/use.desc</path>.
95snippet:
96</p>
97
98<pre caption="A short snippet of available USE-flags">
99gtk - Adds support for x11-libs/gtk+ (The GIMP Toolkit)
100gtk2 - Use gtk+-2.0.0 over gtk+-1.2 in cases where a program supports both.
101gtkhtml - Adds support for gnome-extra/gtkhtml
102guile - Adds support for dev-util/guile (interpreter for Scheme)
103icc - Use the Intel C++ Compiler if the package supports it
104icc-pgo - Enable PGO data generation or use when use icc.
105imap - Adds support for IMAP
106</pre> 100</p>
107 101
108<p> 102<p>
109A list of available local USE-flags can be found locally in 103A list of available local USE-flags can be found locally in
110<path>/usr/portage/profiles/use.local.desc</path>. 104<path>/usr/portage/profiles/use.local.desc</path>.
111</p> 105</p>
146 140
147<pre caption="Cumulative make.defaults USE variable for the 2004.3 profile"> 141<pre caption="Cumulative make.defaults USE variable for the 2004.3 profile">
148<comment>(This example is the sum of the settings in base, default-linux, 142<comment>(This example is the sum of the settings in base, default-linux,
149 default-linux/x86 and default-linux/x86/2004.3)</comment> 143 default-linux/x86 and default-linux/x86/2004.3)</comment>
150USE="x86 oss apm arts avi berkdb bitmap-fonts crypt cups encode fortran f77 144USE="x86 oss apm arts avi berkdb bitmap-fonts crypt cups encode fortran f77
151 foomaticdb gdbm gif gpm gtk gtk2 imlib jpeg kde gnome libg++ libwww mad 145 foomaticdb gdbm gif gpm gtk imlib jpeg kde gnome libg++ libwww mad
152 mikmod motif mpeg ncurses nls oggvorbis opengl pam pdflib png python qt 146 mikmod motif mpeg ncurses nls oggvorbis opengl pam pdflib png python qt
153 quicktime readline sdl spell ssl svga tcpd truetype X xml2 xmms xv zlib" 147 quicktime readline sdl spell ssl svga tcpd truetype X xml2 xmms xv zlib"
154</pre> 148</pre>
155 149
156<p> 150<p>
172For instance, to remove support for KDE and QT but add support for ldap, the 166For instance, to remove support for KDE and QT but add support for ldap, the
173following <c>USE</c> can be defined in <path>/etc/make.conf</path>: 167following <c>USE</c> can be defined in <path>/etc/make.conf</path>:
174</p> 168</p>
175 169
176<pre caption="An example USE setting in /etc/make.conf"> 170<pre caption="An example USE setting in /etc/make.conf">
177USE="-kde -qt ldap" 171USE="-kde -qt3 -qt4 ldap"
178</pre> 172</pre>
179 173
180</body> 174</body>
181</subsection> 175</subsection>
182<subsection> 176<subsection>
232</pre> 226</pre>
233 227
234</body> 228</body>
235</subsection> 229</subsection>
236<subsection> 230<subsection>
237<title>Automatic USE Flags</title>
238<body>
239
240<p>
241After certain packages are installed, additional USE flags will automatically
242be enabled for you if you do not explicitly disable them. To view the list
243of packages that trigger automatic USE-flags, check
244<path>/etc/make.profile/use.defaults</path> and the <path>use.defaults</path>
245files of the parent profiles.
246</p>
247
248<pre caption="A snippet from /etc/make.profile/use.defaults">
249gnome gnome-base/gnome
250gtk x11-libs/gtk+
251qt x11-libs/qt
252kde kde-base/kdebase
253motif x11-libs/openmotif
254</pre>
255
256</body>
257</subsection>
258<subsection>
259<title>Precedence</title> 231<title>Precedence</title>
260<body> 232<body>
261 233
262<p> 234<p>
263Of course there is a certain precedence on what setting has priority over the 235Of course there is a certain precedence on what setting has priority over the
269 241
270<ol> 242<ol>
271 <li> 243 <li>
272 Default USE setting declared in the <path>make.defaults</path> files part of 244 Default USE setting declared in the <path>make.defaults</path> files part of
273 your profile 245 your profile
274 </li>
275 <li>
276 Inherited USE setting if a package from profile <path>use.defaults</path> is installed
277 </li> 246 </li>
278 <li> 247 <li>
279 User-defined USE setting in <path>/etc/make.conf</path> 248 User-defined USE setting in <path>/etc/make.conf</path>
280 </li> 249 </li>
281 <li> 250 <li>
361<pre caption="Viewing the used USE-flags"> 330<pre caption="Viewing the used USE-flags">
362# <i>emerge --pretend --verbose mozilla</i> 331# <i>emerge --pretend --verbose mozilla</i>
363These are the packages that I would merge, in order: 332These are the packages that I would merge, in order:
364 333
365Calculating dependencies ...done! 334Calculating dependencies ...done!
366[ebuild N ] net-www/mozilla-1.5-r1 +java +crypt -ipv6 -gtk2 +ssl +ldap 335[ebuild R ] www-client/mozilla-1.7.12-r2 USE="crypt gnome java mozsvg ssl
367+gnome -debug +mozcalendar -mozaccess -mozxmlterm -moznoirc -moznomail 336truetype xprint -debug -ipv6 -ldap -mozcalendar -mozdevelop -moznocompose
368-moznocompose -moznoxft 337-moznoirc -moznomail -moznoxft -postgres -xinerama" 0 kB
369</pre> 338</pre>
370 339
371<p> 340<p>
372<c>emerge</c> isn't the only tool for this job. In fact, we have a tool 341<c>emerge</c> isn't the only tool for this job. In fact, we have a tool
373dedicated to package information called <c>equery</c> which resides in the 342dedicated to package information called <c>equery</c> which resides in the
382Now run <c>equery</c> with the <c>uses</c> argument to view the USE-flags of a 351Now run <c>equery</c> with the <c>uses</c> argument to view the USE-flags of a
383certain package. For instance, for the <c>gnumeric</c> package: 352certain package. For instance, for the <c>gnumeric</c> package:
384</p> 353</p>
385 354
386<pre caption="Using equery to view used USE-flags"> 355<pre caption="Using equery to view used USE-flags">
387# <i>equery uses gnumeric</i> 356# <i>equery uses =gnumeric-1.6.3 -a</i>
357[ Searching for packages matching =gnumeric-1.6.3... ]
388[ Colour Code : <i>set</i> <comment>unset</comment> ] 358[ Colour Code : <comment>set</comment> <i>unset</i> ]
389[ Legend : (U) Col 1 - Current USE flags ] 359[ Legend : Left column (U) - USE flags from make.conf ]
390[ : (I) Col 2 - Installed With USE flags ] 360[ : Right column (I) - USE flags packages was installed with ]
391
392 U I [ Found these USE variables in : app-office/gnumeric-1.2.0 ] 361[ Found these USE variables for app-office/gnumeric-1.6.3 ]
393 - - <comment>libgda</comment> : Adds GNU Data Access (CORBA wrapper) support for gnumeric 362 U I
394 - - <comment>gnomedb</comment> : unknown 363- - <i>debug</i> : Tells configure and the makefiles to build for debugging.
364 Effects vary across packages, but generally it will at
365 least add -g to CFLAGS. Remember to set FEATURES=nostrip too
366- - <i>gnome</i> : Adds GNOME support
395 + + <i>python</i> : Adds support/bindings for the Python language 367+ + <comment>python</comment> : Adds support/bindings for the Python language
396 + + <i>bonobo</i> : Adds support for gnome-base/bonobo (Gnome CORBA interfaces) 368- - <i>static</i> : !!do not set this during bootstrap!! Causes binaries to be
369 statically linked instead of dynamically
397</pre> 370</pre>
398 371
399</body> 372</body>
400</subsection> 373</subsection>
401</section> 374</section>

Legend:
Removed from v.1.36  
changed lines
  Added in v.1.44

  ViewVC Help
Powered by ViewVC 1.1.20