|
|
1 | <?xml version='1.0' encoding='UTF-8'?> |
|
|
2 | <!DOCTYPE sections SYSTEM "/dtd/book.dtd"> |
|
|
3 | |
1 | <!-- 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 --> |
2 | <!-- See http://creativecommons.org/licenses/by-sa/1.0 --> |
5 | <!-- See http://creativecommons.org/licenses/by-sa/1.0 --> |
3 | |
6 | |
4 | <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-working-use.xml,v 1.5 2003/12/16 18:08:56 swift Exp $ --> |
7 | <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-working-use.xml,v 1.12 2004/04/25 13:08:09 swift Exp $ --> |
5 | |
8 | |
6 | <sections> |
9 | <sections> |
7 | <section> |
10 | <section> |
8 | <title>What are USE-flags?</title> |
11 | <title>What are USE-flags?</title> |
9 | <subsection> |
12 | <subsection> |
… | |
… | |
25 | with KDE-support if those packages work flawlessly without? |
28 | with KDE-support if those packages work flawlessly without? |
26 | </p> |
29 | </p> |
27 | |
30 | |
28 | <p> |
31 | <p> |
29 | To help users in deciding what to install/activate and what not, we wanted the |
32 | To help users in deciding what to install/activate and what not, we wanted the |
30 | user to specify his environment in an easy way. This forces the user into |
33 | user to specify his/her environment in an easy way. This forces the user into |
31 | deciding what he really wants and eases the process for Portage, our package |
34 | deciding what they really want and eases the process for Portage, our package |
32 | managment system, to make useful decisions. |
35 | managment system, to make useful decisions. |
33 | </p> |
36 | </p> |
34 | |
37 | |
35 | </body> |
38 | </body> |
36 | </subsection> |
39 | </subsection> |
… | |
… | |
44 | Portage will know that you want support for the chosen keyword. Of course |
47 | Portage will know that you want support for the chosen keyword. Of course |
45 | this also alters the dependency information for a package. |
48 | this also alters the dependency information for a package. |
46 | </p> |
49 | </p> |
47 | |
50 | |
48 | <p> |
51 | <p> |
49 | Lets take a look at a specific example: the <c>kde</c> keyword. If you do not |
52 | Let us take a look at a specific example: the <c>kde</c> keyword. If you do not |
50 | have this keyword in your <c>USE</c> variable, all packages that have |
53 | have this keyword in your <c>USE</c> variable, all packages that have |
51 | <e>optional</e> KDE support will be compiled <e>without</e> KDE support. All |
54 | <e>optional</e> KDE support will be compiled <e>without</e> KDE support. All |
52 | packages that have an <e>optional</e> KDE dependency will be installed |
55 | packages that have an <e>optional</e> KDE dependency will be installed |
53 | <e>without</e> installing the KDE libraries (as dependency). If you have defined |
56 | <e>without</e> installing the KDE libraries (as dependency). If you have defined |
54 | the <c>kde</c> keyword, then those packages <e>will</e> be compiled with KDE |
57 | the <c>kde</c> keyword, then those packages <e>will</e> be compiled with KDE |
… | |
… | |
74 | <li> |
77 | <li> |
75 | A <e>global</e> USE-flag is used by several packages, system-wide. This is |
78 | A <e>global</e> USE-flag is used by several packages, system-wide. This is |
76 | what most people see as USE-flags. |
79 | what most people see as USE-flags. |
77 | </li> |
80 | </li> |
78 | <li> |
81 | <li> |
79 | A <e>local</e> USE-fag is used by a single package to make package-specific |
82 | A <e>local</e> USE-flag is used by a single package to make package-specific |
80 | decisions. |
83 | decisions. |
81 | </li> |
84 | </li> |
82 | </ul> |
85 | </ul> |
83 | |
86 | |
84 | <p> |
87 | <p> |
… | |
… | |
238 | # <i>emerge info</i> |
241 | # <i>emerge info</i> |
239 | </pre> |
242 | </pre> |
240 | |
243 | |
241 | </body> |
244 | </body> |
242 | </subsection> |
245 | </subsection> |
|
|
246 | <subsection> |
|
|
247 | <title>Adapting your Entire System to New USE Flags</title> |
|
|
248 | <body> |
|
|
249 | |
|
|
250 | <p> |
|
|
251 | If you have altered your USE flags and you wish to update your entire system to |
|
|
252 | use the new USE flags, you can try following the next steps to accomplish this. |
|
|
253 | Note however that these steps will take a long time to finish and that work is |
|
|
254 | on the way to adjust Portage to handle this behaviour quicker and automatically. |
|
|
255 | </p> |
|
|
256 | |
|
|
257 | <p> |
|
|
258 | First of all, rebuild your entire system using the new USE flags: |
|
|
259 | </p> |
|
|
260 | |
|
|
261 | <pre caption="Rebuilding your entire system"> |
|
|
262 | # <i>emerge --emptytree world</i> |
|
|
263 | </pre> |
|
|
264 | |
|
|
265 | <p> |
|
|
266 | Next, run Portage' depclean to remove the conditional dependencies that |
|
|
267 | were emerged on your "old" system but that have been obsoleted by the new USE |
|
|
268 | flags. |
|
|
269 | </p> |
|
|
270 | |
|
|
271 | <warn> |
|
|
272 | Running <c>emerge depclean</c> is a dangerous operation and should be handled |
|
|
273 | with care. Double-check the provided list of "obsoleted" packages to make sure |
|
|
274 | it doesn't remove packages you need. In the following example we add the |
|
|
275 | <c>-p</c> switch to have depclean only list the packages without removing them. |
|
|
276 | </warn> |
|
|
277 | |
|
|
278 | <pre caption="Removing obsoleted packages"> |
|
|
279 | # <i>emerge -p depclean</i> |
|
|
280 | </pre> |
|
|
281 | |
|
|
282 | <p> |
|
|
283 | When depclean has finished, your system is using the new USE flag settings. |
|
|
284 | </p> |
|
|
285 | |
|
|
286 | </body> |
|
|
287 | </subsection> |
243 | </section> |
288 | </section> |
244 | <section> |
289 | <section> |
245 | <title>Package specific USE-flags</title> |
290 | <title>Package specific USE-flags</title> |
246 | <subsection> |
291 | <subsection> |
247 | <title>Viewing available USE-flags</title> |
292 | <title>Viewing available USE-flags</title> |