/[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.14 - (hide annotations) (download) (as text)
Tue Sep 14 09:48:36 2004 UTC (10 years ago) by neysx
Branch: MAIN
Changes since 1.13: +3 -2 lines
File MIME type: application/xml
Wrapped long line in code listing 3.2

1 vapier 1.11 <?xml version="1.0" encoding="UTF-8"?>
2 neysx 1.14 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/gentoolkit.xml,v 1.13 2004/08/31 18:57:03 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     and keep track of what is going on in your system. Most users̀¶ --&nbsp;particularly
59     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     link="http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&amp;chap=1">USE
450     Flags</uri> chapter of the <uri
451     link="http://www.gentoo.org/doc/en/handbook/">Gentoo Handbook</uri>.
452 cam 1.9 </p>
453    
454 neysx 1.13 </body>
455     </section>
456     <section>
457     <title>Where's the ebuild?</title>
458     <body>
459    
460 cam 1.9 <p>
461 neysx 1.13 We can also find out which ebuild is being used for a specific package using
462     <c>equery</c>. This is done my using the <c>equery which</c> command which
463     displays the full path to the ebuild.
464 cam 1.9 </p>
465 cam 1.10
466 neysx 1.13 <pre caption="Displaying the ebuild path">
467     # <i>equery which cdrtools</i>
468     /usr/portage/app-cdr/cdrtools/cdrtools-2.01_alpha37.ebuild
469     </pre>
470 cam 1.10
471 neysx 1.13 </body>
472     </section>
473     <section>
474     <title>Dependency Graphs</title>
475     <body>
476 drobbins 1.1
477 neysx 1.13 <p>
478     <c>equery</c> is capable of giving us a dependency graph for a specified package.
479     The dependency graph gives a listing of all the packages that have direct and
480     indirect dependencies on the package in question.
481     </p>
482 drobbins 1.1
483 neysx 1.13 <pre caption="Dependency Graph for cdrtools">
484     # <i>equery depgraph cdrtools</i>
485     Displaying dependencies for app-cdr/cdrtools-2.01_alpha37
486     `-- app-cdr/cdrtools-2.01_alpha37
487     `-- sys-libs/glibc-2.3.4.20040808 (virtual/libc)
488     `-- sys-kernel/linux-headers-2.4.22 (virtual/os-headers)
489     `-- sys-apps/baselayout-1.10.4
490     `-- sys-apps/sysvinit-2.85-r1
491     `-- sys-apps/gawk-3.1.3-r1
492     `-- sys-apps/util-linux-2.12-r4
493     `-- sys-apps/sed-4.0.9
494     `-- sys-libs/ncurses-5.4-r4
495     `-- sys-apps/pam-login-3.14
496     `-- sys-libs/pam-0.77-r1
497     `-- sys-libs/cracklib-2.7-r10
498     `-- sys-apps/miscfiles-1.3-r1
499     `-- app-arch/gzip-1.3.5-r1
500     `-- sys-apps/portage-2.0.50-r10
501 cam 1.10 </pre>
502    
503     <p>
504 neysx 1.13 For example, while glibc may be a direct dependency for cdrtools, the linux-headers
505     are an indirect dependency for cdrtools.
506 cam 1.10 </p>
507 drobbins 1.1
508 cam 1.9 </body>
509     </section>
510 drobbins 1.1 </chapter>
511 cam 1.10
512 drobbins 1.1 <chapter>
513 neysx 1.13 <title>euse</title>
514 cam 1.9 <section>
515     <title>Introduction</title>
516     <body>
517 cam 1.10
518 cam 1.9 <p>
519 neysx 1.13 <c>euse</c> is a tool to see, set and unset USE flags at various places. For
520     more information on USE flags, please refer to the <uri
521     link="http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&amp;chap=1">USE
522     Flags</uri>. <c>euse -i</c> lists all USE flags.
523 cam 1.9 </p>
524 cam 1.10
525 cam 1.9 </body>
526     </section>
527     <section>
528 neysx 1.13 <title>Reading, Setting and Unsetting USE Flags</title>
529     <body>
530    
531     <p>
532     The <c>euse --conf</c> command reads the current USE flags set/unset from
533     make.conf.
534     </p>
535    
536     <pre caption="Viewing Current flags from make.conf">
537     # <i> euse --conf</i>
538     USE setting in make.conf:
539     alsa acpi apache2 cups cdr crypt cscope -doc ethereal fbcon gif gimpprint gnome
540     gpm gstreamer gtk2 gtkhtml imlib imlib2 innodb -java javascript jpeg libg++ libwww
541     mad md5sum mikmod mmx motif mozilla mpeg mpeg4 mysql ncurses oggvorbis odbc
542     offensive opengl pam pdflib perl png python quicktime readline sdl spell sse ssl
543     svga tcltk tiff truetype usb vanilla X xml2 xmms xosd xv xvid x86 zlib
544     </pre>
545    
546     <p>
547     Setting a USE flag is done with the help of the <c>euse --enable</c> command
548     which requires a mandatory flag name argument. If the flag is not already set,
549     <c>euse</c> appends the USE flag to the end of the current USE flag settings.
550     In case the USE flag is invalid, there is a warning. Removing a USE flag is
551     done using the <c>euse --disable</c> command. If an invalid flag is specified,
552     the user is warned suitably. If the flag is present, it is unset with a -flag
553     in make.conf
554     </p>
555    
556     <pre caption="Setting a USE Flag, 3dfx">
557     # <i>euse --enable 3dfx</i>
558     USE setting in make.conf after enabling:
559     alsa acpi apache2 cups cdr crypt cscope -doc ethereal fbcon gif gimpprint gnome
560     gpm gstreamer gtk2 gtkhtml imlib imlib2 innodb -java javascript jpeg libg++ libwww
561     mad md5sum mikmod mmx motif mozilla mpeg mpeg4 mysql ncurses oggvorbis odbc
562     offensive opengl pam pdflib perl png python quicktime readline sdl spell sse ssl
563     svga tcltk tiff truetype usb vanilla X xml2 xmms xosd xv xvid x86 zlib 3dfx
564     </pre>
565 cam 1.9
566 neysx 1.13 <pre caption="Unsetting a USE Flag, 3dfx">
567     # <i>euse --disable 3dfx</i>
568     USE setting in make.conf after disabling:
569     alsa acpi apache2 cups cdr crypt cscope -doc ethereal fbcon gif gimpprint gnome
570     gpm gstreamer gtk2 gtkhtml imlib imlib2 innodb -java javascript jpeg libg++ libwww
571     mad md5sum mikmod mmx motif mozilla mpeg mpeg4 mysql ncurses oggvorbis odbc
572     offensive opengl pam pdflib perl png python quicktime readline sdl spell sse ssl
573     svga tcltk tiff truetype usb vanilla X xml2 xmms xosd xv xvid x86 zlib -3dfx
574 cam 1.10 </pre>
575    
576 cam 1.9 <note>
577 neysx 1.13 <c>euse</c> does not physically remove the flag from make.conf. It just adds a
578     - (minus) before the flag to unset it. You may have to manually clean up your
579     make.conf to avoid unwanted variables.
580 cam 1.9 </note>
581 cam 1.10
582 cam 1.9 </body>
583     </section>
584 drobbins 1.1 </chapter>
585    
586     <chapter>
587 neysx 1.13 <title>Other tools</title>
588 cam 1.9 <section>
589 neysx 1.13 <title>revdep-rebuild</title>
590 cam 1.9 <body>
591 cam 1.10
592 cam 1.9 <p>
593 neysx 1.13 This tool is Gentoo's Reverse Dependency rebuilder. It will scan your installed
594     ebuilds to find packages that have become broken as a result of an upgrade of a
595     package they depend on. It can emerge those packages for you but it can also
596     happen that a given package does not work anymore with the currently installed
597     dependencies, in which cas you should upgrade the broken package to a more
598     recent version. revdep-rebuild will pass flags to emerge which lets you use the
599     <c>--pretend</c> flag to see what is going to be emerged again before you go any
600     further.
601 cam 1.9 </p>
602    
603 neysx 1.13 <pre caption="Running revdep-rebuild in pretend mode">
604     # <i>revdep-rebuild -p</i>
605    
606     Checking reverse dependencies...
607     Packages containing binaries and libraries broken by any package update,
608     will be recompiled.
609 cam 1.10
610 neysx 1.13 Collecting system binaries and libraries... done.
611     (/root/.revdep-rebuild.1_files)
612 cam 1.10
613 neysx 1.13 Collecting complete LD_LIBRARY_PATH... done.
614     (/root/.revdep-rebuild.2_ldpath)
615 cam 1.10
616 neysx 1.13 Checking dynamic linking consistency...
617     broken /usr/lib/ao/plugins-2/libarts.so (requires libartsc.so.0)
618     broken /usr/lib/kde3/libkpresenterpart.so (requires libartskde.so.1 libqtmcop.so.1
619     libsoundserver_idl.so.1 libkmedia2_idl.so.1 libartsflow.so.1 libartsflow_idl.so.1 libmcop.so.1)
620     broken /usr/lib/ruby/site_ruby/1.8/i686-linux/fox.so (requires libFOX-1.0.so.0)
621     broken /usr/lib/xine/plugins/1.0.0/xineplug_ao_out_arts.so (requires libartsc.so.0)
622     broken /usr/lib/perl5/vendor_perl/5.8.0/i686-linux/auto/SDL_perl/SDL_perl.so (requires libSDL_gfx.so.0)
623     broken /usr/lib/libloudmouth-1.so.0.0.0 (requires libgnutls.so.10)
624     broken /usr/bin/k3b (requires libartskde.so.1 libqtmcop.so.1 libsoundserver_idl.so.1 libkmedia2_idl.so.1
625     libartsflow.so.1 libartsflow_idl.so.1 libmcop.so.1)
626     broken /usr/bin/lua (requires libhistory.so.4)
627     broken /usr/bin/lyx (requires libAiksaurus-1.0.so.0)
628     broken /usr/bin/luac (requires libhistory.so.4)
629     broken /usr/bin/avidemux2 (requires libartsc.so.0)
630     broken /usr/bin/pptout (requires libxml++-0.1.so.11)
631     broken /usr/bin/xml2ps (requires libxml++-0.1.so.11)
632     done.
633     (/root/.revdep-rebuild.3_rebuild)
634 cam 1.9
635 neysx 1.13 Assigning files to ebuilds... done.
636     (/root/.revdep-rebuild.4_ebuilds)
637 cam 1.10
638 neysx 1.13 Evaluating package order... done.
639     (/root/.revdep-rebuild.5_order)
640 cam 1.10
641 neysx 1.13 All prepared. Starting rebuild...
642     emerge --oneshot --nodeps -p =app-cdr/k3b-0.11.14 =app-office/koffice-1.3.2 =app-office/lyx-1.3.4 \
643     =app-office/passepartout-0.2 =dev-lang/lua-5.0.2 =dev-ruby/fxruby-1.0.29 =media-libs/libao-0.8.5 \
644     =media-libs/xine-lib-1_rc5-r3 =media-video/avidemux-2.0.26 =net-libs/loudmouth-0.16
645 cam 1.10
646 neysx 1.13 These are the packages that I would merge, in order:
647 drobbins 1.1
648 neysx 1.13 Calculating dependencies ...done!
649     [ebuild R ] app-cdr/k3b-0.11.14
650     [ebuild R ] app-office/koffice-1.3.2
651     [ebuild R ] app-office/lyx-1.3.4
652     [ebuild R ] app-office/passepartout-0.2
653     [ebuild R ] dev-lang/lua-5.0.2
654     [ebuild R ] dev-ruby/fxruby-1.0.29
655     [ebuild R ] media-libs/libao-0.8.5
656     [ebuild R ] media-libs/xine-lib-1_rc5-r3
657     [ebuild R ] media-video/avidemux-2.0.26
658     [ebuild R ] net-libs/loudmouth-0.16
659 cam 1.10
660 neysx 1.13 Now you can remove -p (or --pretend) from arguments and re-run revdep-rebuild.
661     </pre>
662 cam 1.10
663     <p>
664 neysx 1.13 If you need to rebuild some packages, you may run <c>revdep-rebuild</c> without
665     the <c>-p</c> flag and the listed packages will be emerged again.
666 cam 1.9 </p>
667    
668     </body>
669     </section>
670 cam 1.10
671 cam 1.9 <section>
672 neysx 1.13 <title>glsa-check</title>
673 cam 1.9 <body>
674 cam 1.10
675     <p>
676 neysx 1.13 <c>glsa-check</c> is mainly a test tool that keeps track of the various GLSA's
677     (Gentoo Linux Security Advisory) and will eventually be integrated into
678     <c>emerge</c> and <c>equery</c>. For more information, please visit the <uri
679     link="http://www.gentoo.org/proj/en/portage/glsa-integration.xml">Portage GLSA
680     Integration Page</uri>.
681     </p>
682 cam 1.10
683 cam 1.9 </body>
684     </section>
685 drobbins 1.1 </chapter>
686 neysx 1.13
687 vapier 1.11 </guide>

  ViewVC Help
Powered by ViewVC 1.1.20