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.20 2004/10/10 11:09:27 swift Exp $ --> |
7 | <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-working-use.xml,v 1.50 2010/06/07 09:20:00 nightmorph Exp $ --> |
8 | |
8 | |
9 | <sections> |
9 | <sections> |
|
|
10 | |
|
|
11 | <abstract> |
|
|
12 | USE flags are a very important aspect of Gentoo. In this chapter, you learn to |
|
|
13 | work with USE flags and understand how USE flags interact with your system. |
|
|
14 | </abstract> |
|
|
15 | |
|
|
16 | <version>1.39</version> |
|
|
17 | <date>2010-06-07</date> |
|
|
18 | |
10 | <section> |
19 | <section> |
11 | <title>What are USE-flags?</title> |
20 | <title>What are USE flags?</title> |
12 | <subsection> |
21 | <subsection> |
13 | <title>The ideas behind USE-flags</title> |
22 | <title>The ideas behind USE flags</title> |
14 | <body> |
23 | <body> |
15 | |
24 | |
16 | <p> |
25 | <p> |
17 | When you are installing Gentoo (or any other distribution, or even operating |
26 | When you are installing Gentoo (or any other distribution, or even operating |
18 | system for that matter) you make choices depending on the environment you are |
27 | system for that matter) you make choices depending on the environment you are |
… | |
… | |
23 | <p> |
32 | <p> |
24 | This is not only true for choosing what packages you want to install, but also |
33 | This is not only true for choosing what packages you want to install, but also |
25 | what features a certain package should support. If you don't need OpenGL, why |
34 | what features a certain package should support. If you don't need OpenGL, why |
26 | would you bother installing OpenGL and build OpenGL support in most of your |
35 | would you bother installing OpenGL and build OpenGL support in most of your |
27 | packages? If you don't want to use KDE, why would you bother compiling packages |
36 | packages? If you don't want to use KDE, why would you bother compiling packages |
28 | with KDE-support if those packages work flawlessly without? |
37 | with KDE support if those packages work flawlessly without? |
29 | </p> |
38 | </p> |
30 | |
39 | |
31 | <p> |
40 | <p> |
32 | To help users in deciding what to install/activate and what not, we wanted the |
41 | To help users in deciding what to install/activate and what not, we wanted the |
33 | user to specify his/her environment in an easy way. This forces the user into |
42 | user to specify his/her environment in an easy way. This forces the user into |
34 | deciding what they really want and eases the process for Portage, our package |
43 | deciding what they really want and eases the process for Portage, our package |
35 | managment system, to make useful decisions. |
44 | management system, to make useful decisions. |
36 | </p> |
45 | </p> |
37 | |
46 | |
38 | </body> |
47 | </body> |
39 | </subsection> |
|
|
40 | <subsection> |
48 | </subsection> |
|
|
49 | <subsection> |
41 | <title>Definition of a USE-flag</title> |
50 | <title>Definition of a USE flag</title> |
42 | <body> |
51 | <body> |
43 | |
52 | |
44 | <p> |
53 | <p> |
45 | Enter the USE-flags. Such a flag is a keyword that embodies support and |
54 | Enter the USE flags. Such a flag is a keyword that embodies support and |
46 | dependency-information for a certain concept. If you define a certain USE-flag, |
55 | dependency-information for a certain concept. If you define a certain USE flag, |
47 | Portage will know that you want support for the chosen keyword. Of course |
56 | Portage will know that you want support for the chosen keyword. Of course |
48 | this also alters the dependency information for a package. |
57 | this also alters the dependency information for a package. |
49 | </p> |
58 | </p> |
50 | |
59 | |
51 | <p> |
60 | <p> |
… | |
… | |
64 | </p> |
73 | </p> |
65 | |
74 | |
66 | </body> |
75 | </body> |
67 | </subsection> |
76 | </subsection> |
68 | <subsection> |
77 | <subsection> |
69 | <title>What USE-flags exist?</title> |
78 | <title>What USE flags exist?</title> |
70 | <body> |
79 | <body> |
71 | |
80 | |
72 | <p> |
81 | <p> |
73 | There are two types of USE-flags: <e>global</e> and <e>local</e> USE-flags. |
82 | There are two types of USE flags: <e>global</e> and <e>local</e> USE flags. |
74 | </p> |
83 | </p> |
75 | |
84 | |
76 | <ul> |
85 | <ul> |
77 | <li> |
86 | <li> |
78 | A <e>global</e> USE-flag is used by several packages, system-wide. This is |
87 | A <e>global</e> USE flag is used by several packages, system-wide. This is |
79 | what most people see as USE-flags. |
88 | what most people see as USE flags. |
80 | </li> |
|
|
81 | <li> |
89 | </li> |
|
|
90 | <li> |
82 | A <e>local</e> USE-flag is used by a single package to make package-specific |
91 | A <e>local</e> USE flag is used by a single package to make package-specific |
83 | decisions. |
92 | decisions. |
84 | </li> |
93 | </li> |
85 | </ul> |
94 | </ul> |
86 | |
95 | |
87 | <p> |
96 | <p> |
88 | A list of available global USE-flags can be found <uri |
97 | A list of available global USE flags can be found <uri |
89 | link="/dyn/use-index.xml">online</uri> or locally in |
98 | link="/dyn/use-index.xml">online</uri> or locally in |
90 | <path>/usr/portage/profiles/use.desc</path>. A short (<e>very</e> incomplete) |
99 | <path>/usr/portage/profiles/use.desc</path>. |
91 | snippet: |
|
|
92 | </p> |
|
|
93 | |
|
|
94 | <pre caption="A short snippet of available USE-flags"> |
|
|
95 | gtk - Adds support for x11-libs/gtk+ (The GIMP Toolkit) |
|
|
96 | gtk2 - Use gtk+-2.0.0 over gtk+-1.2 in cases where a program supports both. |
|
|
97 | gtkhtml - Adds support for gnome-extra/gtkhtml |
|
|
98 | guile - Adds support for dev-util/guile (interpreter for Scheme) |
|
|
99 | icc - Use the Intel C++ Compiler if the package supports it |
|
|
100 | icc-pgo - Enable PGO data generation or use when use icc. |
|
|
101 | imap - Adds support for IMAP |
|
|
102 | </pre> |
|
|
103 | |
|
|
104 | <p> |
100 | </p> |
|
|
101 | |
|
|
102 | <p> |
105 | A list of available local USE-flags can be found locally in |
103 | A list of available local USE flags can be found locally in |
106 | <path>/usr/portage/profiles/use.local.desc</path>. |
104 | <path>/usr/portage/profiles/use.local.desc</path>. |
107 | </p> |
105 | </p> |
108 | |
106 | |
109 | </body> |
107 | </body> |
110 | </subsection> |
108 | </subsection> |
111 | </section> |
109 | </section> |
112 | <section> |
110 | <section> |
113 | <title>Using USE-flags</title> |
111 | <title>Using USE flags</title> |
114 | <subsection> |
112 | <subsection> |
115 | <title>Declare permanent USE-flags</title> |
113 | <title>Declare permanent USE flags</title> |
116 | <body> |
114 | <body> |
117 | |
115 | |
118 | <p> |
116 | <p> |
119 | In the hope you are convinced of the importance of USE-flags we will now inform |
117 | In the hope you are convinced of the importance of USE flags we will now inform |
120 | you how to declare USE-flags. |
118 | you how to declare USE flags. |
121 | </p> |
|
|
122 | |
|
|
123 | <p> |
119 | </p> |
|
|
120 | |
|
|
121 | <p> |
124 | As previously mentioned, all USE-flags are declared inside the <c>USE</c> |
122 | As previously mentioned, all USE flags are declared inside the <c>USE</c> |
125 | variable. To make it easy for users to search and pick USE-flags, we already |
123 | variable. To make it easy for users to search and pick USE flags, we already |
126 | provide a <e>default</e> USE setting. This setting is a collection of USE-flags |
124 | provide a <e>default</e> USE setting. This setting is a collection of USE flags |
127 | we think are commonly used by the Gentoo users. This default setting is declared |
125 | we think are commonly used by the Gentoo users. This default setting is declared |
128 | in the <path>/etc/make.profile/make.defaults</path> file. Let us take a look at |
126 | in the <path>make.defaults</path> files part of your profile. |
129 | this default setting: |
127 | </p> |
|
|
128 | |
130 | </p> |
129 | <p> |
|
|
130 | The profile your system listens to is pointed to by the |
|
|
131 | <path>/etc/make.profile</path> symlink. Each profile works on top of another, |
|
|
132 | larger profile, the end result is therefore the sum of all profiles. The top |
|
|
133 | profile is the <path>base</path> profile |
|
|
134 | (<path>/usr/portage/profiles/base</path>). |
|
|
135 | </p> |
131 | |
136 | |
132 | <pre caption="/etc/make.profile/make.defaults USE variable on an x86 system"> |
137 | <p> |
133 | USE="x86 oss apm arts avi berkdb crypt cups encode foomaticdb gdbm gif gpm |
138 | Let us take a look at this default setting for the 10.0 profile: |
134 | gtk gtk2 imlib jpeg kde gnome libg++ libwww mad mikmod motif mpeg ncurses |
139 | </p> |
135 | nls oggvorbis opengl pam pdflib png python qt quicktime readline sdl |
140 | |
136 | slang spell ssl svga tcpd truetype X xml2 xmms xv zlib" |
141 | <pre caption="Cumulative make.defaults USE variable for the 10.0 profile"> |
|
|
142 | <comment>(This example is the sum of the settings in base, default/linux, |
|
|
143 | default/linux/x86 and default/linux/x86/10.0/)</comment> |
|
|
144 | USE="a52 aac acpi alsa branding cairo cdr dbus dts dvd dvdr emboss encode exif |
|
|
145 | fam firefox flac gif gpm gtk hal jpeg lcms ldap libnotify mad mikmod mng mp3 |
|
|
146 | mp4 mpeg ogg opengl pango pdf png ppds qt3support qt4 sdl spell |
|
|
147 | startup-notification svg tiff truetype vorbis unicode usb X xcb x264 xml |
|
|
148 | xulrunner xv xvid" |
137 | </pre> |
149 | </pre> |
138 | |
150 | |
139 | <p> |
151 | <p> |
140 | As you can see, this variable already contains quite a lot of keywords. Do |
152 | As you can see, this variable already contains quite a lot of keywords. Do |
141 | <b>not</b> alter the <path>/etc/make.profile/make.defaults</path> file to tailor |
153 | <b>not</b> alter any <path>make.defaults</path> file to tailor |
142 | the <c>USE</c> variable to your needs: changes in this file will be undone when |
154 | the <c>USE</c> variable to your needs: changes in this file will be undone when |
143 | you update Portage! |
155 | you update Portage! |
144 | </p> |
156 | </p> |
145 | |
157 | |
146 | <p> |
158 | <p> |
147 | To change this default setting, you need to add or remove keywords to the |
159 | To change this default setting, you need to add or remove keywords to the |
148 | <c>USE</c> variable. This is done globally by defining the <c>USE</c> variable |
160 | <c>USE</c> variable. This is done globally by defining the <c>USE</c> variable |
149 | in <path>/etc/make.conf</path>. In this variable you add the extra USE-flags you |
161 | in <path>/etc/make.conf</path>. In this variable you add the extra USE flags you |
150 | require, or remove the USE-flags you don't want. This latter is done by |
162 | require, or remove the USE flags you don't want. This latter is done by |
151 | prefixing the keyword with the minus-sign ("-"). |
163 | prefixing the keyword with the minus-sign ("-"). |
152 | </p> |
164 | </p> |
153 | |
165 | |
154 | <p> |
166 | <p> |
155 | For instance, to remove support for KDE and QT but add support for ldap, the |
167 | For instance, to remove support for KDE and QT but add support for ldap, the |
156 | following <c>USE</c> can be defined in <path>/etc/make.conf</path>: |
168 | following <c>USE</c> can be defined in <path>/etc/make.conf</path>: |
157 | </p> |
169 | </p> |
158 | |
170 | |
159 | <pre caption="An example USE setting in /etc/make.conf"> |
171 | <pre caption="An example USE setting in /etc/make.conf"> |
160 | USE="-kde -qt ldap" |
172 | USE="-kde -qt4 ldap" |
161 | </pre> |
173 | </pre> |
162 | |
174 | |
163 | </body> |
175 | </body> |
164 | </subsection> |
176 | </subsection> |
165 | <subsection> |
177 | <subsection> |
… | |
… | |
168 | |
180 | |
169 | <p> |
181 | <p> |
170 | Sometimes you want to declare a certain USE flag for one (or a couple) of |
182 | Sometimes you want to declare a certain USE flag for one (or a couple) of |
171 | applications but not system-wide. To accomplish this, you will need to create |
183 | applications but not system-wide. To accomplish this, you will need to create |
172 | the <path>/etc/portage</path> directory (if it doesn't exist yet) and edit |
184 | the <path>/etc/portage</path> directory (if it doesn't exist yet) and edit |
173 | <path>/etc/portage/package.use</path>. |
185 | <path>/etc/portage/package.use</path>. This is usually a single file, but can |
|
|
186 | also be a directory; see <c>man portage</c> for more information. The following |
|
|
187 | examples assume <path>package.use</path> is a single file. |
174 | </p> |
188 | </p> |
175 | |
189 | |
176 | <p> |
190 | <p> |
177 | For instance, if you don't want <c>berkdb</c> support globally but you do want |
191 | For instance, if you don't want <c>berkdb</c> support globally but you do want |
178 | it for <c>mysql</c>, you would add: |
192 | it for <c>mysql</c>, you would add: |
… | |
… | |
192 | </pre> |
206 | </pre> |
193 | |
207 | |
194 | </body> |
208 | </body> |
195 | </subsection> |
209 | </subsection> |
196 | <subsection> |
210 | <subsection> |
197 | <title>Declare temporary USE-flags</title> |
211 | <title>Declare temporary USE flags</title> |
198 | <body> |
212 | <body> |
199 | |
213 | |
200 | <p> |
214 | <p> |
201 | Sometimes you want to set a certain USE-setting only once. Instead of editing |
215 | Sometimes you want to set a certain USE setting only once. Instead of editing |
202 | <path>/etc/make.conf</path> twice (to do and undo the USE-changes) you can just |
216 | <path>/etc/make.conf</path> twice (to do and undo the USE changes) you can just |
203 | declare the USE-variable as environment variable. Remember that, when you |
217 | declare the USE variable as environment variable. Remember that, when you |
204 | re-emerge or update this application (either explicitly or as part of a system |
218 | re-emerge or update this application (either explicitly or as part of a system |
205 | update) your changes will be lost! |
219 | update) your changes will be lost! |
206 | </p> |
220 | </p> |
207 | |
221 | |
208 | <p> |
222 | <p> |
209 | As an example we will temporarily remove java from the USE-setting |
223 | As an example we will temporarily remove java from the USE setting |
210 | during the installation of mozilla. |
224 | during the installation of seamonkey. |
211 | </p> |
225 | </p> |
212 | |
|
|
213 | <note> |
|
|
214 | The <c>emerge</c> command will be discussed more thoroughly in <uri |
|
|
215 | link="?part=2&chap=2">Portage and Software</uri>. |
|
|
216 | </note> |
|
|
217 | |
226 | |
218 | <pre caption="Using USE as environment variable"> |
227 | <pre caption="Using USE as environment variable"> |
219 | # <i>USE="-java" emerge mozilla</i> |
228 | # <i>USE="-java" emerge seamonkey</i> |
220 | </pre> |
|
|
221 | |
|
|
222 | </body> |
|
|
223 | </subsection> |
|
|
224 | <subsection> |
|
|
225 | <title>Inheriting USE-flags</title> |
|
|
226 | <body> |
|
|
227 | |
|
|
228 | <p> |
|
|
229 | Some packages don't only listen to USE-flags, but also provide USE-flags. When |
|
|
230 | you install such a package, the USE-flag they provide is added to your USE |
|
|
231 | setting. To view the list of packages that provide a USE-flag, check |
|
|
232 | <path>/etc/make.profile/use.defaults</path>: |
|
|
233 | </p> |
|
|
234 | |
|
|
235 | <pre caption="A snippet from /etc/make.profile/use.defaults"> |
|
|
236 | gnome gnome-base/gnome |
|
|
237 | gtk x11-libs/gtk+ |
|
|
238 | qt x11-libs/qt |
|
|
239 | kde kde-base/kdebase |
|
|
240 | motif x11-libs/openmotif |
|
|
241 | </pre> |
229 | </pre> |
242 | |
230 | |
243 | </body> |
231 | </body> |
244 | </subsection> |
232 | </subsection> |
245 | <subsection> |
233 | <subsection> |
246 | <title>Precedence</title> |
234 | <title>Precedence</title> |
247 | <body> |
235 | <body> |
248 | |
236 | |
249 | <p> |
237 | <p> |
250 | Of course there is a certain precedence on what setting has priority over the |
238 | Of course there is a certain precedence on what setting has priority over the |
251 | USE setting. You don't want to declare <c>USE="-java"</c> only to see that |
239 | USE setting. You don't want to declare <c>USE="-java"</c> only to see that |
252 | <c>java</c> is declared anyway. The precedence for the USE setting is, ordered |
240 | <c>java</c> is still used due to a setting that has a higher priority. |
|
|
241 | The precedence for the USE setting is, ordered |
253 | by priority (first has lowest priority): |
242 | by priority (first has lowest priority): |
254 | </p> |
243 | </p> |
255 | |
244 | |
256 | <ol> |
245 | <ol> |
257 | <li> |
246 | <li> |
258 | Default USE setting declared in <path>/etc/make.profile/make.defaults</path> |
247 | Default USE setting declared in the <path>make.defaults</path> files part of |
259 | </li> |
248 | your profile |
260 | <li> |
|
|
261 | Inherited USE setting if a package from |
|
|
262 | <path>/etc/make.profile/use.defaults</path> is installed |
|
|
263 | </li> |
249 | </li> |
264 | <li> |
250 | <li> |
265 | User-defined USE setting in <path>/etc/make.conf</path> |
251 | User-defined USE setting in <path>/etc/make.conf</path> |
266 | </li> |
252 | </li> |
267 | <li> |
253 | <li> |
… | |
… | |
271 | User-defined USE setting as environment variable |
257 | User-defined USE setting as environment variable |
272 | </li> |
258 | </li> |
273 | </ol> |
259 | </ol> |
274 | |
260 | |
275 | <p> |
261 | <p> |
276 | To view the final <c>USE</c> setting as seen by Portage, run <c>emerge info</c>. |
262 | To view the final <c>USE</c> setting as seen by Portage, run <c>emerge |
277 | This will list all relevant variables (including the <c>USE</c> variable) with |
263 | --info</c>. This will list all relevant variables (including the <c>USE</c> |
278 | the content used by Portage. |
264 | variable) with the content used by Portage. |
279 | </p> |
265 | </p> |
280 | |
266 | |
281 | <pre caption="Running emerge info"> |
267 | <pre caption="Running emerge --info"> |
282 | # <i>emerge info</i> |
268 | # <i>emerge --info</i> |
283 | </pre> |
269 | </pre> |
284 | |
270 | |
285 | </body> |
271 | </body> |
286 | </subsection> |
272 | </subsection> |
287 | <subsection> |
273 | <subsection> |
288 | <title>Adapting your Entire System to New USE Flags</title> |
274 | <title>Adapting your Entire System to New USE Flags</title> |
289 | <body> |
275 | <body> |
290 | |
276 | |
291 | <p> |
277 | <p> |
292 | If you have altered your USE flags and you wish to update your entire system to |
278 | If you have altered your USE flags and you wish to update your entire system to |
293 | use the new USE flags, you can try following the next steps to accomplish this. |
279 | use the new USE flags, use <c>emerge</c>'s <c>--newuse</c> option: |
294 | Note however that these steps will take a long time to finish and that work is |
|
|
295 | on the way to adjust Portage to handle this behaviour quicker and automatically. |
|
|
296 | </p> |
|
|
297 | |
|
|
298 | <p> |
|
|
299 | First of all, rebuild your entire system using the new USE flags: |
|
|
300 | </p> |
280 | </p> |
301 | |
281 | |
302 | <pre caption="Rebuilding your entire system"> |
282 | <pre caption="Rebuilding your entire system"> |
303 | # <i>emerge --emptytree world</i> |
283 | # <i>emerge --update --deep --newuse world</i> |
304 | </pre> |
284 | </pre> |
305 | |
285 | |
306 | <p> |
286 | <p> |
307 | Next, run Portage's depclean to remove the conditional dependencies that |
287 | Next, run Portage's depclean to remove the conditional dependencies that |
308 | were emerged on your "old" system but that have been obsoleted by the new USE |
288 | were emerged on your "old" system but that have been obsoleted by the new USE |
309 | flags. |
289 | flags. |
310 | </p> |
290 | </p> |
311 | |
291 | |
312 | <warn> |
292 | <warn> |
313 | Running <c>emerge depclean</c> is a dangerous operation and should be handled |
293 | Running <c>emerge --depclean</c> is a dangerous operation and should be handled |
314 | with care. Double-check the provided list of "obsoleted" packages to make sure |
294 | with care. Double-check the provided list of "obsoleted" packages to make sure |
315 | it doesn't remove packages you need. In the following example we add the |
295 | it doesn't remove packages you need. In the following example we add the |
316 | <c>-p</c> switch to have depclean only list the packages without removing them. |
296 | <c>-p</c> switch to have depclean only list the packages without removing them. |
317 | </warn> |
297 | </warn> |
318 | |
298 | |
319 | <pre caption="Removing obsoleted packages"> |
299 | <pre caption="Removing obsoleted packages"> |
320 | # <i>emerge -p depclean</i> |
300 | # <i>emerge -p --depclean</i> |
321 | </pre> |
301 | </pre> |
322 | |
302 | |
|
|
303 | <p> |
|
|
304 | When depclean has finished, run <c>revdep-rebuild</c> to rebuild the |
|
|
305 | applications that are dynamically linked against shared objects provided by |
|
|
306 | possibly removed packages. <c>revdep-rebuild</c> is part of the |
|
|
307 | <c>gentoolkit</c> package; don't forget to emerge it first. |
323 | <p> |
308 | </p> |
|
|
309 | |
|
|
310 | <pre caption="Running revdep-rebuild"> |
|
|
311 | # <i>revdep-rebuild</i> |
|
|
312 | </pre> |
|
|
313 | |
|
|
314 | <p> |
324 | When depclean has finished, your system is using the new USE flag settings. |
315 | When all this is accomplished, your system is using the new USE flag settings. |
325 | </p> |
316 | </p> |
326 | |
317 | |
327 | </body> |
318 | </body> |
328 | </subsection> |
319 | </subsection> |
329 | </section> |
320 | </section> |
330 | <section> |
321 | <section> |
331 | <title>Package specific USE-flags</title> |
322 | <title>Package specific USE flags</title> |
332 | <subsection> |
323 | <subsection> |
333 | <title>Viewing available USE-flags</title> |
324 | <title>Viewing available USE flags</title> |
334 | <body> |
325 | <body> |
335 | |
326 | |
336 | <p> |
|
|
337 | In the next chapter on <uri link="?part=2&chap=2">Portage and Software</uri> |
|
|
338 | we will explain how to manage your installed software and how to work with |
|
|
339 | <c>emerge</c>. However, we will give you a primer on <c>emerge</c> by showing |
|
|
340 | you how to view what USE-flags a package uses. |
|
|
341 | </p> |
327 | <p> |
342 | |
|
|
343 | <p> |
|
|
344 | Let us take the example of <c>mozilla</c>: what USE-flags does it listen to? To |
328 | Let us take the example of <c>seamonkey</c>: what USE flags does it listen to? To |
345 | find out, we use <c>emerge</c> with the <c>--pretend</c> (don't really do |
329 | find out, we use <c>emerge</c> with the <c>--pretend</c> and <c>--verbose</c> |
346 | anything) and <c>--verbose</c> (give more output) options: |
330 | options: |
347 | </p> |
331 | </p> |
348 | |
332 | |
349 | <pre caption="Viewing the used USE-flags"> |
333 | <pre caption="Viewing the used USE flags"> |
350 | # <i>emerge --pretend --verbose mozilla</i> |
334 | # <i>emerge --pretend --verbose seamonkey</i> |
351 | These are the packages that I would merge, in order: |
335 | These are the packages that I would merge, in order: |
352 | |
336 | |
353 | Calculating dependencies ...done! |
337 | Calculating dependencies ...done! |
354 | [ebuild N ] net-www/mozilla-1.5-r1 +java +crypt -ipv6 -gtk2 +ssl +ldap |
338 | [ebuild R ] www-client/seamonkey-1.0.7 USE="crypt gnome java -debug -ipv6 |
355 | +gnome -debug +mozcalendar -mozaccess -mozxmlterm -moznoirc -moznomail |
339 | -ldap -mozcalendar -mozdevelop -moznocompose -moznoirc -moznomail -moznopango |
356 | -moznocompose -moznoxft |
340 | -moznoroaming -postgres -xinerama -xprint" 0 kB |
357 | </pre> |
341 | </pre> |
358 | |
342 | |
359 | <p> |
343 | <p> |
360 | <c>emerge</c> isn't the only tool for this job. In fact, we have a tool |
344 | <c>emerge</c> isn't the only tool for this job. In fact, we have a tool |
361 | dedicated to package information called <c>etcat</c> which resides in the |
345 | dedicated to package information called <c>equery</c> which resides in the |
362 | <c>gentoolkit</c> package. First, install <c>gentoolkit</c>: |
346 | <c>gentoolkit</c> package. First, install <c>gentoolkit</c>: |
363 | </p> |
347 | </p> |
364 | |
348 | |
365 | <pre caption="Installing gentoolkit"> |
349 | <pre caption="Installing gentoolkit"> |
366 | # <i>emerge --usepkg gentoolkit</i> |
350 | # <i>emerge gentoolkit</i> |
367 | </pre> |
351 | </pre> |
368 | |
352 | |
369 | <p> |
353 | <p> |
370 | Now run <c>etcat</c> with the <c>uses</c> argument to view the USE-flags of a |
354 | Now run <c>equery</c> with the <c>uses</c> argument to view the USE flags of a |
371 | certain package. For instance, for the <c>gnumeric</c> package: |
355 | certain package. For instance, for the <c>gnumeric</c> package: |
372 | </p> |
356 | </p> |
373 | |
357 | |
374 | <pre caption="Using etcat to view used USE-flags"> |
358 | <pre caption="Using equery to view used USE flags"> |
375 | # <i>etcat uses gnumeric</i> |
359 | # <i>equery --nocolor uses =gnumeric-1.6.3 -a</i> |
376 | [ Colour Code : <i>set</i> <comment>unset</comment> ] |
360 | [ Searching for packages matching =gnumeric-1.6.3... ] |
377 | [ Legend : (U) Col 1 - Current USE flags ] |
361 | [ Colour Code : set unset ] |
378 | [ : (I) Col 2 - Installed With USE flags ] |
362 | [ Legend : Left column (U) - USE flags from make.conf ] |
379 | |
363 | [ : Right column (I) - USE flags packages was installed with ] |
380 | U I [ Found these USE variables in : app-office/gnumeric-1.2.0 ] |
364 | [ Found these USE variables for app-office/gnumeric-1.6.3 ] |
381 | - - <comment>libgda</comment> : Adds GNU Data Access (CORBA wrapper) support for gnumeric |
365 | U I |
382 | - - <comment>gnomedb</comment> : unknown |
366 | - - debug : Enable extra debug codepaths, like asserts and extra output. |
|
|
367 | If you want to get meaningful backtraces see |
|
|
368 | http://www.gentoo.org/proj/en/qa/backtraces.xml . |
|
|
369 | + + gnome : Adds GNOME support |
383 | + + <i>python</i> : Adds support/bindings for the Python language |
370 | + + python : Adds support/bindings for the Python language |
384 | + + <i>bonobo</i> : Adds support for gnome-base/bonobo (Gnome CORBA interfaces) |
371 | - - static : !!do not set this during bootstrap!! Causes binaries to be |
|
|
372 | statically linked instead of dynamically |
385 | </pre> |
373 | </pre> |
386 | |
374 | |
387 | </body> |
375 | </body> |
388 | </subsection> |
376 | </subsection> |
389 | </section> |
377 | </section> |