/[gentoo]/xml/htdocs/doc/en/gentoolkit.xml
Gentoo

Contents of /xml/htdocs/doc/en/gentoolkit.xml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.17 - (hide annotations) (download) (as text)
Sun Oct 24 22:48:37 2004 UTC (10 years ago) by neysx
Branch: MAIN
Changes since 1.16: +3 -3 lines
File MIME type: application/xml
Fixed links into the handbook

1 vapier 1.11 <?xml version="1.0" encoding="UTF-8"?>
2 neysx 1.17 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/gentoolkit.xml,v 1.16 2004/10/18 13:40:45 neysx Exp $ -->
3 drobbins 1.1 <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
4    
5 cam 1.9 <guide link="/doc/en/gentoolkit.xml">
6 drobbins 1.1 <title>Gentoolkit</title>
7 cam 1.9
8     <author title="Author">
9     <mail link="mbutcher@aleph-null.tv">Matt Butcher</mail>
10 drobbins 1.1 </author>
11 cam 1.9 <author title="Editor">
12     <!-- zhen@gentoo.org -->John P. Davis
13 swift 1.5 </author>
14 erwin 1.7 <author title="Editor">
15     <mail link="erwin@gentoo.org">Erwin</mail>
16     </author>
17 neysx 1.13 <author title="Editor">
18     <mail link="fox2mike@gmail.com">Shyam Mani</mail>
19     </author>
20     <author title="Editor">
21     <mail link="neysx@gentoo.org">Xavier Neys</mail>
22     </author>
23 cam 1.9
24 drobbins 1.1 <!-- Licensed under GFDL -->
25    
26     <abstract>
27 cam 1.9 Gentoolkit is a suite of tools to ease the administration of a Gentoo system.
28     This document covers the basics of some of the tools present in Gentoolkit.
29 drobbins 1.1 </abstract>
30    
31 neysx 1.13 <version>1.4</version>
32     <date>August 25, 2004</date>
33 drobbins 1.1
34     <chapter>
35 cam 1.9 <title>Introduction</title>
36     <section>
37     <title>What is Gentoolkit?</title>
38     <body>
39    
40     <p>
41 neysx 1.13 Gentoo is a unique distribution and presents some complexities that simply
42 cam 1.9 don't exist for other distributions. As Gentoo developers and contributors
43     discovered some of these complexities, they also wrote tools to help users and
44     administrators work around them. Many of these tools have been contributed to
45 neysx 1.13 the Gentoo project and are included in the package
46 cam 1.9 <c>app-portage/gentoolkit</c>.
47     </p>
48    
49 neysx 1.13 <note>
50     As of now, there are two versions of gentoolkit: <c>app-portage/gentoolkit</c>
51     and <c>app-portage/gentoolkit-dev</c>. While the former contains administration
52     scripts, the latter contains scripts specific to help development on Gentoo.
53     This document discusses gentoolkit only.
54     </note>
55    
56 cam 1.9 <p>
57 neysx 1.13 Gentoolkit contains a whole bunch of useful tools to help manage your packages
58 neysx 1.15 and keep track of what is going on in your system. Most users --&nbsp;particularly
59 neysx 1.13 those who update systems often&nbsp;-- will benefit from having gentoolkit
60     installed.
61 cam 1.9 </p>
62    
63     </body>
64     </section>
65     <section>
66     <title>Installation</title>
67     <body>
68    
69     <p>
70     Just as with any Gentoo package, installation is just a simple emerge.
71     </p>
72    
73 neysx 1.13 <pre caption="Getting gentoolkit">
74 cam 1.10 # <i>emerge gentoolkit</i>
75 cam 1.9 </pre>
76    
77     <note>
78     Many of the tools in gentoolkit reveal important information about your system
79 neysx 1.13 or require root privilege. For that reason, some of the programs may only be
80     executed (or only function properly) if run by a user with root permission.
81 cam 1.9 </note>
82    
83     </body>
84     </section>
85     <section>
86     <title>Finding Documentation</title>
87     <body>
88    
89     <p>
90 neysx 1.13 Any documentation that a program might have (other than man pages) is stored in
91 cam 1.9 <path>/usr/doc/gentoolkit-[version]/[program-name]/</path>.
92     </p>
93 cam 1.10
94 cam 1.9 </body>
95     </section>
96 drobbins 1.1 </chapter>
97 cam 1.10
98 drobbins 1.1 <chapter>
99 cam 1.9 <title>Querying Package Data with qpkg</title>
100     <section>
101     <title>Introduction</title>
102     <body>
103 cam 1.10
104     <p>
105 neysx 1.13 <c>qpkg</c> is a flexible tool for determining information about installed
106     ebuilds. It can provide information about what files belong to which ebuilds,
107     whether multiple versions of the same package are installed and what a
108     particular ebuild does. It can also be used to query some information about
109     ebuilds that have not been installed.
110 cam 1.9 </p>
111 cam 1.10
112     <p>
113 neysx 1.13 Calling <c>qpkg</c> with no arguments prints a list of all ebuilds with
114 cam 1.10 asterisks (*) next to the packages that are installed on the system.
115 cam 1.9 </p>
116 cam 1.10
117     <note>
118     By default, <c>qpkg</c> prints output in color. To turn this off on the command
119     line, use the <c>--no-color</c> or <c>-nc</c> flag.
120     </note>
121 cam 1.9
122     </body>
123     </section>
124     <section>
125     <title>Querying Package Information</title>
126     <body>
127 cam 1.10
128     <p>
129     One of the most common uses for <c>qpkg</c> is determining what a given package
130 cam 1.9 is. For instance, while looking through <path>net-misc</path>, I saw a package
131     called <path>neon</path>. Having no idea what it was, I ran qpkg.
132     </p>
133 drobbins 1.1
134 neysx 1.13 <pre caption="Package Information">
135 cam 1.10 # <i>qpkg -i net-misc/neon</i>
136 neysx 1.13 net-misc/neon-0.24.4
137     HTTP and WebDAV client library [ http://www.webdav.org/neon ]
138     net-misc/neon-0.23.8
139     HTTP and WebDAV client library [ http://www.webdav.org/neon ]
140     net-misc/neon-0.24.6
141     HTTP and WebDAV client library [ http://www.webdav.org/neon/ ]
142     net-misc/neon-0.24.5
143     HTTP and WebDAV client library [ http://www.webdav.org/neon ]
144     net-misc/neon-0.24.0
145     HTTP and WebDAV client library [ http://www.webdav.org/neon ]
146     net-misc/neon-0.21.3
147     HTTP and WebDAV client library [ http://www.webdav.org/neon ]
148     net-misc/neon-0.23.9
149     HTTP and WebDAV client library [ http://www.webdav.org/neon ]
150     net-misc/neon-0.24.7
151     HTTP and WebDAV client library [ http://www.webdav.org/neon/ ]
152     net-misc/neon-0.24.2
153     HTTP and WebDAV client library [ http://www.webdav.org/neon ]
154 cam 1.9 </pre>
155 cam 1.10
156 cam 1.9 <p>
157 neysx 1.13 <c>qpkg</c> read through the ebuild files for the nine
158 cam 1.10 <path>net-misc/neon</path> ebuilds and printed out the information stored in
159     DESCRIPTION and HOMEPAGE.
160 cam 1.9 </p>
161 cam 1.10
162 cam 1.9 </body>
163 cam 1.10 </section>
164 cam 1.9 <section>
165     <title>Listing Files Belonging to an Ebuild</title>
166     <body>
167 cam 1.10
168 cam 1.9 <p>
169     <c>qpkg</c> can also list the files that belong to an installed ebuild. I
170 neysx 1.13 know that gentoolkit installed several tools, but I don't know what they
171 cam 1.10 all are. To find out, I can do a <c>qpkg -l</c>.
172     </p>
173 drobbins 1.1
174 neysx 1.13 <pre caption="Package File list using qpkg">
175 cam 1.10 # <i>qpkg -l app-portage/gentoolkit</i>
176 neysx 1.13 app-portage/gentoolkit-0.2.0_pre8 *
177 drobbins 1.1 CONTENTS:
178     /usr
179     /usr/bin
180 neysx 1.13 /usr/bin/euse
181 drobbins 1.1 /usr/bin/qpkg
182 neysx 1.13 /usr/bin/etcat
183     /usr/bin/revdep-rebuild
184     /usr/bin/glsa-check
185     /usr/bin/dep-clean
186     /usr/bin/equery
187     /usr/bin/ewhich
188 drobbins 1.1 /usr/bin/pkg-size
189 neysx 1.13 /usr/lib
190     /usr/lib/gentoolkit
191     /usr/lib/gentoolkit/pym
192     /usr/lib/gentoolkit/pym/glsa.py
193     /usr/lib/gentoolkit/pym/gentoolkit.py
194 drobbins 1.1 /usr/sbin
195     /usr/sbin/pkg-clean
196     /usr/sbin/mkebuild
197 neysx 1.13 /usr/share
198     /usr/share/doc
199     /usr/share/doc/gentoolkit-0.2.0_pre8
200     /usr/share/doc/gentoolkit-0.2.0_pre8/NEWS
201     /usr/share/doc/gentoolkit-0.2.0_pre8/TODO
202     /usr/share/doc/gentoolkit-0.2.0_pre8/euse
203     /usr/share/doc/gentoolkit-0.2.0_pre8/euse/TODO
204     /usr/share/doc/gentoolkit-0.2.0_pre8/euse/README
205     /usr/share/doc/gentoolkit-0.2.0_pre8/euse/AUTHORS
206     /usr/share/doc/gentoolkit-0.2.0_pre8/euse/ChangeLog
207     /usr/share/doc/gentoolkit-0.2.0_pre8/qpkg
208     /usr/share/doc/gentoolkit-0.2.0_pre8/qpkg/README
209     /usr/share/doc/gentoolkit-0.2.0_pre8/qpkg/AUTHORS
210     /usr/share/doc/gentoolkit-0.2.0_pre8/qpkg/ChangeLog
211     /usr/share/doc/gentoolkit-0.2.0_pre8/etcat
212     /usr/share/doc/gentoolkit-0.2.0_pre8/etcat/README
213     /usr/share/doc/gentoolkit-0.2.0_pre8/etcat/AUTHORS
214     /usr/share/doc/gentoolkit-0.2.0_pre8/revdep-rebuild
215     /usr/share/doc/gentoolkit-0.2.0_pre8/revdep-rebuild/TODO
216     /usr/share/doc/gentoolkit-0.2.0_pre8/revdep-rebuild/README
217     /usr/share/doc/gentoolkit-0.2.0_pre8/revdep-rebuild/AUTHORS
218     /usr/share/doc/gentoolkit-0.2.0_pre8/README
219     /usr/share/doc/gentoolkit-0.2.0_pre8/equery
220     /usr/share/doc/gentoolkit-0.2.0_pre8/equery/README
221     /usr/share/doc/gentoolkit-0.2.0_pre8/equery/AUTHORS
222     /usr/share/doc/gentoolkit-0.2.0_pre8/AUTHORS
223     /usr/share/doc/gentoolkit-0.2.0_pre8/gentoolkit
224     /usr/share/doc/gentoolkit-0.2.0_pre8/gentoolkit/TODO
225     /usr/share/doc/gentoolkit-0.2.0_pre8/gentoolkit/README
226     /usr/share/doc/gentoolkit-0.2.0_pre8/gentoolkit/AUTHORS
227     /usr/share/doc/gentoolkit-0.2.0_pre8/gentoolkit/ChangeLog
228     /usr/share/doc/gentoolkit-0.2.0_pre8/ChangeLog
229     /usr/share/doc/gentoolkit-0.2.0_pre8/COPYING
230     /usr/share/man
231     /usr/share/man/man1
232     /usr/share/man/man1/revdep-rebuild.1.gz
233     /usr/share/man/man1/mkebuild.1.gz
234     /usr/share/man/man1/qpkg.1.gz
235     /usr/share/man/man1/pkg-clean.1.gz
236     /usr/share/man/man1/etcat.1.gz
237     /usr/share/man/man1/ewhich.1.gz
238     /usr/share/man/man1/equery.1.gz
239     /usr/share/man/man1/euse.1.gz
240     /usr/share/man/man1/dep-clean.1.gz
241     /usr/share/man/man1/pkg-size.1.gz
242 cam 1.9 </pre>
243 cam 1.10
244 neysx 1.13 <note>
245     In case you have gentoolkit-dev installed, <c>qpkg</c> will list out files for
246     that as well, i.e. it displays the file list for all installed packages with
247     the name gentoolkit.
248     </note>
249    
250 cam 1.9 </body>
251     </section>
252     <section>
253 neysx 1.13 <title>Finding the Package That a File Came From</title>
254 cam 1.9 <body>
255    
256     <p>
257 cam 1.10 To find the package that a file came from, use the <c>-f</c> or
258     <c>--find-file</c> flag.
259 cam 1.9 </p>
260 cam 1.10
261 neysx 1.13 <pre caption="Finding the ebuild that installed a given file">
262 vapier 1.11 # <i>qpkg -f /usr/lib/mozilla</i>
263     net-www/mozilla *
264 cam 1.9 </pre>
265    
266     </body>
267     </section>
268     <section>
269     <title>Listing Duplicate Packages</title>
270     <body>
271 cam 1.10
272 cam 1.9 <p>
273 neysx 1.12 Sometimes multiple versions of the same package may exist. <c>qpkg --dups</c>
274 cam 1.10 will print a list of duplicate packages. The existence of a duplicate package
275 cam 1.9 though may not indicate that the older version may be removed. They may fill
276 neysx 1.13 different slots. To look for duplicates in the same slot, use <c>qpkg --dups
277     --slot</c>. I just updated KDE from 3.0 to 3.0.2, so I have some duplicates in
278     the same slot.
279 cam 1.9 </p>
280 cam 1.10
281 neysx 1.13 <pre caption="Finding duplicate packages">
282 cam 1.10 # <i>qpkg --dups --slot</i>
283 erwin 1.7 app-portage/gentoolkit
284 drobbins 1.1 kde-base/kdeaddons
285     kde-base/kdeadmin
286     kde-base/kdeartwork
287     kde-base/kdebase
288     kde-base/kdegames
289     kde-base/kdelibs
290     kde-base/kdemultimedia
291     kde-base/kdenetwork
292     kde-base/kdetoys
293     kde-base/kdeutils
294     media-libs/freetype
295 cam 1.10 x11-libs/qt
296 cam 1.9 </pre>
297 cam 1.10
298 cam 1.9 </body>
299     </section>
300     <section>
301     <title>Verifying Package Integrity</title>
302 cam 1.10 <body>
303    
304     <p>
305     Sometimes it is useful to check a package's integrity to know that files have
306     not been replaced since they were installed. <c>qpkg</c> can verify md5 sums as
307 neysx 1.13 well as install times to indicate whether files for the package might have been
308     corrupted, replaced, or removed.
309 cam 1.10 </p>
310 cam 1.9
311     <p>
312 cam 1.10 To check both mtimes and md5 sums, use the <c>-c</c> flag.
313 cam 1.9 </p>
314 cam 1.10
315 neysx 1.13 <pre caption="See the Difference?">
316     # <i>qpkg cdrtools -c -v</i>
317     app-cdr/cdrtools-2.01_alpha25 *
318     /etc/default/rscsi.dfl !mtime!
319     /usr/bin/devdump !md5! !mtime!
320     /usr/bin/mkisofs !md5! !mtime!
321     /usr/bin/isovfy !md5! !mtime!
322     /usr/bin/readcd !md5! !mtime!
323     /usr/bin/cdda2wav !md5! !mtime!
324     /usr/bin/cdrecord !md5! !mtime!
325     /usr/bin/isodump !md5! !mtime!
326     /usr/bin/isoinfo !md5! !mtime!
327     /usr/lib/libfile.a !md5! !mtime!
328     /usr/lib/librscg.a !md5! !mtime!
329     /usr/lib/libunls.a !md5! !mtime!
330     /usr/lib/libedc_ecc.a !md5! !mtime!
331     /usr/lib/libdeflt.a !md5! !mtime!
332     /usr/lib/libhfs.a !md5! !mtime!
333     /usr/lib/libscg.a !md5! !mtime!
334     /usr/lib/libparanoia.a !md5! !mtime!
335     /usr/lib/libschily.a !md5! !mtime!
336     /usr/sbin/rscsi !md5! !mtime!
337     /usr/share/man/man1/cdrecord.1.gz !md5! !mtime!
338     /usr/share/man/man1/readcd.1.gz !md5! !mtime!
339     /usr/share/man/man1/cdda2wav.1.gz !md5! !mtime!
340     /usr/share/man/man8/mkisofs.8.gz !md5! !mtime!
341     76/150
342 drobbins 1.1
343 neysx 1.13 app-cdr/cdrtools-2.01_alpha37 *
344     0/122
345 cam 1.9 </pre>
346 cam 1.10
347 cam 1.9 <p>
348 neysx 1.13 As you can see, I have more than one version of cdrtools installed. <c>qpkg</c>
349 cam 1.9 reports that many of the files from the older version have been changed since I
350 cam 1.10 installed it. Those packages were most likely modified when I updated from
351 neysx 1.13 <path>cdrtools-2.01_alpha25</path> to <path>cdrtools-2.01_alpha37</path>. Note
352     that the last two lines indicate that 0 of 122 files from <path>cdrtools-2.01
353     _alpha37</path> have been changed since I installed. That is good. If any of
354     them had been changed, I would be worried.
355 cam 1.9 </p>
356 drobbins 1.1
357 cam 1.9 </body>
358     </section>
359     <section>
360     <title>But Wait... There's More</title>
361     <body>
362 cam 1.10
363 cam 1.9 <p>
364 neysx 1.13 <c>qpkg</c> can be used for other querying tasks that I will not cover here.
365     There is a very complete man page for <c>qpkg</c>. Please read it for more
366 cam 1.10 information.
367 cam 1.9 </p>
368 drobbins 1.1
369 cam 1.9 </body>
370     </section>
371 drobbins 1.1 </chapter>
372 cam 1.10
373 drobbins 1.1 <chapter>
374 neysx 1.13 <title>equery</title>
375 cam 1.9 <section>
376     <title>Introduction</title>
377     <body>
378 cam 1.10
379 cam 1.9 <p>
380 neysx 1.13 <c>equery</c> is a tool that supports features that <c>qpkg</c> and <c>epm</c>
381     have but has its own set of features that make it really useful. <c>equery
382     --help</c> gives you the full set of options. <c>equery</c> will eventually
383     replace <c>etcat</c> at some point of time.
384     </p>
385    
386     <note>
387     Not all features listed by <c>equery --help</c> have been implemented yet.
388     Those that have not been, are mentioned clearly.
389     </note>
390 cam 1.9
391 neysx 1.13 </body>
392     </section>
393     <section>
394     <title>Finding out Package Sizes</title>
395     <body>
396    
397     <p>
398     Ever been curious to find out how much space a specific package is occupying?
399     Since a package could have its files over a number of directories, the usual
400     <c>du -hc</c> might not give you the correct figure. Not to worry, here comes
401     <c>equery</c> to the rescue!
402     </p>
403    
404     <pre caption="Package Size">
405     # <i>equery size openoffice-bin</i>
406     * app-office/openoffice-bin-1.1.2
407     Total Files : 2908
408     Total Size : 223353.31 KiB
409     </pre>
410    
411     <p>
412     As you can see, <c>equery</c> prints the total space used in kilobytes and also
413     lists the total number of files the package has.
414 cam 1.9 </p>
415 cam 1.10
416 cam 1.9 </body>
417     </section>
418     <section>
419 neysx 1.13 <title>Package-wise list of USE Flags</title>
420 cam 1.10 <body>
421 cam 1.9
422     <p>
423 neysx 1.13 <c>equery</c> can be used to give us information about what USE flags are being
424     used by a specific package. It tells us what our current USE flags are for a
425     package and what USE flags are available for the package.
426 cam 1.9 </p>
427 cam 1.10
428 neysx 1.13 <pre caption="Set and Unset USE Flags">
429     # <i>equery uses ethereal</i>
430     [ Colour Code : set unset ]
431     [ Legend : (U) Col 1 - Current USE flags ]
432     [ : (I) Col 2 - Installed With USE flags ]
433 drobbins 1.1
434 neysx 1.13 U I [ Found these USE variables in : net-analyzer/ethereal-0.10.6 ]
435     - - adns : Adds support for the adns DNS client library
436     + + gtk : Adds support for x11-libs/gtk+ (The GIMP Toolkit)
437     - - ipv6 : Adds support for IP version 6
438     - - snmp : Adds support for the Simple Network Management Protocol if available
439     + + ssl : Adds support for Secure Socket Layer connections
440     + + gtk2 : Use gtk+-2.0.0 over gtk+-1.2 in cases where a program supports both.
441 neysx 1.14 - - debug : Tells configure and the makefiles to build for debugging. Effects vary across packages,
442     but generally it will at least add -g to CFLAGS. Remember to set FEATURES=nostrip too
443 cam 1.10 </pre>
444    
445 cam 1.9 <p>
446 neysx 1.13 I have installed ethereal with only the gtk, ssl and gtk2 flags set, but the
447     other USE flags for ethereal are adns, ipv6, snmp and debug. For more
448     information on USE flags, please refer to the <uri
449 neysx 1.17 link="/doc/en/handbook/handbook-x86.xml?part=2&amp;chap=2">USE Flags</uri>
450 neysx 1.15 chapter of the <uri link="/doc/en/handbook/">Gentoo Handbook</uri>.
451 cam 1.9 </p>
452    
453 neysx 1.13 </body>
454     </section>
455     <section>
456     <title>Where's the ebuild?</title>
457     <body>
458    
459 cam 1.9 <p>
460 neysx 1.13 We can also find out which ebuild is being used for a specific package using
461     <c>equery</c>. This is done my using the <c>equery which</c> command which
462     displays the full path to the ebuild.
463 cam 1.9 </p>
464 cam 1.10
465 neysx 1.13 <pre caption="Displaying the ebuild path">
466     # <i>equery which cdrtools</i>
467     /usr/portage/app-cdr/cdrtools/cdrtools-2.01_alpha37.ebuild
468     </pre>
469 cam 1.10
470 neysx 1.13 </body>
471     </section>
472     <section>
473     <title>Dependency Graphs</title>
474     <body>
475 drobbins 1.1
476 neysx 1.13 <p>
477     <c>equery</c> is capable of giving us a dependency graph for a specified package.
478     The dependency graph gives a listing of all the packages that have direct and
479     indirect dependencies on the package in question.
480     </p>
481 drobbins 1.1
482 neysx 1.13 <pre caption="Dependency Graph for cdrtools">
483     # <i>equery depgraph cdrtools</i>
484     Displaying dependencies for app-cdr/cdrtools-2.01_alpha37
485     `-- app-cdr/cdrtools-2.01_alpha37
486     `-- sys-libs/glibc-2.3.4.20040808 (virtual/libc)
487     `-- sys-kernel/linux-headers-2.4.22 (virtual/os-headers)
488     `-- sys-apps/baselayout-1.10.4
489     `-- sys-apps/sysvinit-2.85-r1
490     `-- sys-apps/gawk-3.1.3-r1
491     `-- sys-apps/util-linux-2.12-r4
492     `-- sys-apps/sed-4.0.9
493     `-- sys-libs/ncurses-5.4-r4
494     `-- sys-apps/pam-login-3.14
495     `-- sys-libs/pam-0.77-r1
496     `-- sys-libs/cracklib-2.7-r10
497     `-- sys-apps/miscfiles-1.3-r1
498     `-- app-arch/gzip-1.3.5-r1
499     `-- sys-apps/portage-2.0.50-r10
500 cam 1.10 </pre>
501    
502     <p>
503 neysx 1.13 For example, while glibc may be a direct dependency for cdrtools, the linux-headers
504     are an indirect dependency for cdrtools.
505 cam 1.10 </p>
506 drobbins 1.1
507 cam 1.9 </body>
508     </section>
509 drobbins 1.1 </chapter>
510 cam 1.10
511 drobbins 1.1 <chapter>
512 neysx 1.13 <title>euse</title>
513 cam 1.9 <section>
514     <title>Introduction</title>
515     <body>
516 cam 1.10
517 cam 1.9 <p>
518 neysx 1.13 <c>euse</c> is a tool to see, set and unset USE flags at various places. For
519     more information on USE flags, please refer to the <uri
520 neysx 1.17 link="/doc/en/handbook/handbook-x86.xml?part=2&amp;chap=2">USE Flags</uri>.
521 neysx 1.15 <c>euse -i</c> lists all USE flags.
522 cam 1.9 </p>
523 cam 1.10
524 cam 1.9 </body>
525     </section>
526     <section>
527 neysx 1.13 <title>Reading, Setting and Unsetting USE Flags</title>
528     <body>
529    
530     <p>
531     The <c>euse --conf</c> command reads the current USE flags set/unset from
532     make.conf.
533     </p>
534    
535     <pre caption="Viewing Current flags from make.conf">
536     # <i> euse --conf</i>
537     USE setting in make.conf:
538     alsa acpi apache2 cups cdr crypt cscope -doc ethereal fbcon gif gimpprint gnome
539     gpm gstreamer gtk2 gtkhtml imlib imlib2 innodb -java javascript jpeg libg++ libwww
540     mad md5sum mikmod mmx motif mozilla mpeg mpeg4 mysql ncurses oggvorbis odbc
541     offensive opengl pam pdflib perl png python quicktime readline sdl spell sse ssl
542     svga tcltk tiff truetype usb vanilla X xml2 xmms xosd xv xvid x86 zlib
543     </pre>
544    
545     <p>
546     Setting a USE flag is done with the help of the <c>euse --enable</c> command
547     which requires a mandatory flag name argument. If the flag is not already set,
548     <c>euse</c> appends the USE flag to the end of the current USE flag settings.
549     In case the USE flag is invalid, there is a warning. Removing a USE flag is
550     done using the <c>euse --disable</c> command. If an invalid flag is specified,
551     the user is warned suitably. If the flag is present, it is unset with a -flag
552     in make.conf
553     </p>
554    
555     <pre caption="Setting a USE Flag, 3dfx">
556     # <i>euse --enable 3dfx</i>
557     USE setting in make.conf after enabling:
558     alsa acpi apache2 cups cdr crypt cscope -doc ethereal fbcon gif gimpprint gnome
559     gpm gstreamer gtk2 gtkhtml imlib imlib2 innodb -java javascript jpeg libg++ libwww
560     mad md5sum mikmod mmx motif mozilla mpeg mpeg4 mysql ncurses oggvorbis odbc
561     offensive opengl pam pdflib perl png python quicktime readline sdl spell sse ssl
562     svga tcltk tiff truetype usb vanilla X xml2 xmms xosd xv xvid x86 zlib 3dfx
563     </pre>
564 cam 1.9
565 neysx 1.13 <pre caption="Unsetting a USE Flag, 3dfx">
566     # <i>euse --disable 3dfx</i>
567     USE setting in make.conf after disabling:
568     alsa acpi apache2 cups cdr crypt cscope -doc ethereal fbcon gif gimpprint gnome
569     gpm gstreamer gtk2 gtkhtml imlib imlib2 innodb -java javascript jpeg libg++ libwww
570     mad md5sum mikmod mmx motif mozilla mpeg mpeg4 mysql ncurses oggvorbis odbc
571     offensive opengl pam pdflib perl png python quicktime readline sdl spell sse ssl
572     svga tcltk tiff truetype usb vanilla X xml2 xmms xosd xv xvid x86 zlib -3dfx
573 cam 1.10 </pre>
574    
575 cam 1.9 <note>
576 neysx 1.13 <c>euse</c> does not physically remove the flag from make.conf. It just adds a
577     - (minus) before the flag to unset it. You may have to manually clean up your
578     make.conf to avoid unwanted variables.
579 cam 1.9 </note>
580 cam 1.10
581 cam 1.9 </body>
582     </section>
583 drobbins 1.1 </chapter>
584    
585     <chapter>
586 neysx 1.13 <title>Other tools</title>
587 cam 1.9 <section>
588 neysx 1.13 <title>revdep-rebuild</title>
589 cam 1.9 <body>
590 cam 1.10
591 cam 1.9 <p>
592 neysx 1.13 This tool is Gentoo's Reverse Dependency rebuilder. It will scan your installed
593     ebuilds to find packages that have become broken as a result of an upgrade of a
594     package they depend on. It can emerge those packages for you but it can also
595     happen that a given package does not work anymore with the currently installed
596 neysx 1.16 dependencies, in which case you should upgrade the broken package to a more
597 neysx 1.13 recent version. revdep-rebuild will pass flags to emerge which lets you use the
598     <c>--pretend</c> flag to see what is going to be emerged again before you go any
599     further.
600 cam 1.9 </p>
601    
602 neysx 1.13 <pre caption="Running revdep-rebuild in pretend mode">
603     # <i>revdep-rebuild -p</i>
604    
605     Checking reverse dependencies...
606     Packages containing binaries and libraries broken by any package update,
607     will be recompiled.
608 cam 1.10
609 neysx 1.13 Collecting system binaries and libraries... done.
610     (/root/.revdep-rebuild.1_files)
611 cam 1.10
612 neysx 1.13 Collecting complete LD_LIBRARY_PATH... done.
613     (/root/.revdep-rebuild.2_ldpath)
614 cam 1.10
615 neysx 1.13 Checking dynamic linking consistency...
616     broken /usr/lib/ao/plugins-2/libarts.so (requires libartsc.so.0)
617     broken /usr/lib/kde3/libkpresenterpart.so (requires libartskde.so.1 libqtmcop.so.1
618     libsoundserver_idl.so.1 libkmedia2_idl.so.1 libartsflow.so.1 libartsflow_idl.so.1 libmcop.so.1)
619     broken /usr/lib/ruby/site_ruby/1.8/i686-linux/fox.so (requires libFOX-1.0.so.0)
620     broken /usr/lib/xine/plugins/1.0.0/xineplug_ao_out_arts.so (requires libartsc.so.0)
621     broken /usr/lib/perl5/vendor_perl/5.8.0/i686-linux/auto/SDL_perl/SDL_perl.so (requires libSDL_gfx.so.0)
622     broken /usr/lib/libloudmouth-1.so.0.0.0 (requires libgnutls.so.10)
623     broken /usr/bin/k3b (requires libartskde.so.1 libqtmcop.so.1 libsoundserver_idl.so.1 libkmedia2_idl.so.1
624     libartsflow.so.1 libartsflow_idl.so.1 libmcop.so.1)
625     broken /usr/bin/lua (requires libhistory.so.4)
626     broken /usr/bin/lyx (requires libAiksaurus-1.0.so.0)
627     broken /usr/bin/luac (requires libhistory.so.4)
628     broken /usr/bin/avidemux2 (requires libartsc.so.0)
629     broken /usr/bin/pptout (requires libxml++-0.1.so.11)
630     broken /usr/bin/xml2ps (requires libxml++-0.1.so.11)
631     done.
632     (/root/.revdep-rebuild.3_rebuild)
633 cam 1.9
634 neysx 1.13 Assigning files to ebuilds... done.
635     (/root/.revdep-rebuild.4_ebuilds)
636 cam 1.10
637 neysx 1.13 Evaluating package order... done.
638     (/root/.revdep-rebuild.5_order)
639 cam 1.10
640 neysx 1.13 All prepared. Starting rebuild...
641     emerge --oneshot --nodeps -p =app-cdr/k3b-0.11.14 =app-office/koffice-1.3.2 =app-office/lyx-1.3.4 \
642     =app-office/passepartout-0.2 =dev-lang/lua-5.0.2 =dev-ruby/fxruby-1.0.29 =media-libs/libao-0.8.5 \
643     =media-libs/xine-lib-1_rc5-r3 =media-video/avidemux-2.0.26 =net-libs/loudmouth-0.16
644 cam 1.10
645 neysx 1.13 These are the packages that I would merge, in order:
646 drobbins 1.1
647 neysx 1.13 Calculating dependencies ...done!
648     [ebuild R ] app-cdr/k3b-0.11.14
649     [ebuild R ] app-office/koffice-1.3.2
650     [ebuild R ] app-office/lyx-1.3.4
651     [ebuild R ] app-office/passepartout-0.2
652     [ebuild R ] dev-lang/lua-5.0.2
653     [ebuild R ] dev-ruby/fxruby-1.0.29
654     [ebuild R ] media-libs/libao-0.8.5
655     [ebuild R ] media-libs/xine-lib-1_rc5-r3
656     [ebuild R ] media-video/avidemux-2.0.26
657     [ebuild R ] net-libs/loudmouth-0.16
658 cam 1.10
659 neysx 1.13 Now you can remove -p (or --pretend) from arguments and re-run revdep-rebuild.
660     </pre>
661 cam 1.10
662     <p>
663 neysx 1.13 If you need to rebuild some packages, you may run <c>revdep-rebuild</c> without
664     the <c>-p</c> flag and the listed packages will be emerged again.
665 cam 1.9 </p>
666    
667     </body>
668     </section>
669 cam 1.10
670 cam 1.9 <section>
671 neysx 1.13 <title>glsa-check</title>
672 cam 1.9 <body>
673 cam 1.10
674     <p>
675 neysx 1.13 <c>glsa-check</c> is mainly a test tool that keeps track of the various GLSA's
676     (Gentoo Linux Security Advisory) and will eventually be integrated into
677     <c>emerge</c> and <c>equery</c>. For more information, please visit the <uri
678 neysx 1.15 link="/proj/en/portage/glsa-integration.xml">Portage GLSA Integration
679     Page</uri>.
680 neysx 1.13 </p>
681 cam 1.10
682 cam 1.9 </body>
683     </section>
684 drobbins 1.1 </chapter>
685 neysx 1.13
686 vapier 1.11 </guide>

  ViewVC Help
Powered by ViewVC 1.1.20