/[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.21 - (hide annotations) (download) (as text)
Tue Jun 7 06:26:26 2005 UTC (9 years, 6 months ago) by fox2mike
Branch: MAIN
Changes since 1.20: +4 -4 lines
File MIME type: application/xml
Updated email for fox2mike

1 vapier 1.11 <?xml version="1.0" encoding="UTF-8"?>
2 fox2mike 1.21 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/gentoolkit.xml,v 1.20 2005/04/23 10:09:15 yoswink 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 fox2mike 1.21 <mail link="fox2mike@gentoo.org">Shyam Mani</mail>
19 neysx 1.13 </author>
20     <author title="Editor">
21     <mail link="neysx@gentoo.org">Xavier Neys</mail>
22     </author>
23 yoswink 1.20 <author title="Editor">
24     <mail link="karltk@gentoo.org">Karl Trygve</mail>
25     </author>
26     <author title="Editor">
27     <mail link="yoswink@gentoo.org">José Luis Rivero</mail>
28     </author>
29 drobbins 1.1
30     <abstract>
31 cam 1.9 Gentoolkit is a suite of tools to ease the administration of a Gentoo system.
32     This document covers the basics of some of the tools present in Gentoolkit.
33 drobbins 1.1 </abstract>
34    
35 yoswink 1.20 <!-- Licensed under GFDL -->
36    
37 fox2mike 1.21 <version>1.8</version>
38     <date>2005-06-07</date>
39 drobbins 1.1
40     <chapter>
41 cam 1.9 <title>Introduction</title>
42     <section>
43     <title>What is Gentoolkit?</title>
44     <body>
45    
46     <p>
47 neysx 1.13 Gentoo is a unique distribution and presents some complexities that simply
48 cam 1.9 don't exist for other distributions. As Gentoo developers and contributors
49     discovered some of these complexities, they also wrote tools to help users and
50     administrators work around them. Many of these tools have been contributed to
51 neysx 1.13 the Gentoo project and are included in the package
52 cam 1.9 <c>app-portage/gentoolkit</c>.
53     </p>
54    
55 neysx 1.13 <note>
56     As of now, there are two versions of gentoolkit: <c>app-portage/gentoolkit</c>
57     and <c>app-portage/gentoolkit-dev</c>. While the former contains administration
58     scripts, the latter contains scripts specific to help development on Gentoo.
59 yoswink 1.20 If you are a developer, you can have your scripts included into
60     <c>gentoolkit-dev</c> by contacting the Gentoolkit maintainer. This document
61     discusses gentoolkit only.
62 neysx 1.13 </note>
63    
64 cam 1.9 <p>
65 neysx 1.13 Gentoolkit contains a whole bunch of useful tools to help manage your packages
66 neysx 1.15 and keep track of what is going on in your system. Most users --&nbsp;particularly
67 neysx 1.13 those who update systems often&nbsp;-- will benefit from having gentoolkit
68     installed.
69 cam 1.9 </p>
70    
71     </body>
72     </section>
73     <section>
74     <title>Installation</title>
75     <body>
76    
77     <p>
78     Just as with any Gentoo package, installation is just a simple emerge.
79     </p>
80    
81 neysx 1.13 <pre caption="Getting gentoolkit">
82 cam 1.10 # <i>emerge gentoolkit</i>
83 cam 1.9 </pre>
84    
85     <note>
86     Many of the tools in gentoolkit reveal important information about your system
87 neysx 1.13 or require root privilege. For that reason, some of the programs may only be
88     executed (or only function properly) if run by a user with root permission.
89 cam 1.9 </note>
90    
91     </body>
92     </section>
93     <section>
94     <title>Finding Documentation</title>
95     <body>
96    
97     <p>
98 neysx 1.13 Any documentation that a program might have (other than man pages) is stored in
99 cam 1.9 <path>/usr/doc/gentoolkit-[version]/[program-name]/</path>.
100     </p>
101 cam 1.10
102 cam 1.9 </body>
103     </section>
104 drobbins 1.1 </chapter>
105 cam 1.10
106 drobbins 1.1 <chapter>
107 neysx 1.13 <title>equery</title>
108 cam 1.9 <section>
109     <title>Introduction</title>
110     <body>
111 cam 1.10
112 cam 1.9 <p>
113 yoswink 1.20 <c>equery</c> is a tool that supports some features of <c>epm</c> (and the
114     deprecated <c>qpkg</c>) together with its own set of features that make it
115 swift 1.18 really useful. <c>equery --help</c> gives you the full set of options.
116 yoswink 1.20 <c>equery</c> will eventually replace <c>etcat</c> in a future release of
117     Gentoolkit.
118 neysx 1.13 </p>
119    
120     <note>
121     Not all features listed by <c>equery --help</c> have been implemented yet.
122 yoswink 1.20 Those that have not been, are mentioned clearly. You will also see that
123     every command has a short option, e.g. <c>b</c> instead of <c>belongs</c>.
124     </note>
125    
126     <note>
127     Be aware that equery currently changes the format of the output if it is
128     sent through a pipe. The piped format is intended to be easier to parse by
129     tools, but has turned out to be less popular and will probably change in
130     the future. If you write scripts that employ equery, you should be aware
131     of this.
132 neysx 1.13 </note>
133 cam 1.9
134 neysx 1.13 </body>
135     </section>
136     <section>
137 yoswink 1.20 <title>Finding the Package That a File Came From</title>
138     <body>
139    
140     <p>
141     <c>equery</c> also provides the functionality of finding the package that a
142     file came from, using <c>belongs</c> command (or just <c>b</c>).
143     </p>
144    
145     <pre caption="Finding the ebuild that installed a given file">
146     # <i>equery belongs /usr/bin/xmms</i>
147     [ Searching for file(s) /usr/bin/xmms in *... ]
148     media-sound/xmms-1.2.10-r9 (/usr/bin/xmms)
149     </pre>
150    
151     <p>
152     By using the <c>-f</c> option, you may search for packages with files
153     matching any regular expression. The <c>-e</c> option is useful for
154     terminating your search immediately when a match is found.
155     </p>
156    
157     </body>
158     </section>
159     <section>
160     <title>Verifying Package Integrity</title>
161     <body>
162    
163     <p>
164     Sometimes it is useful to check a package's integrity. <c>equery</c> can
165     verify md5 sums as well as timestamps to indicate when a package might
166     have been corrupted, replaced, or removed.
167     </p>
168    
169     <pre caption="OK package integrity">
170     # <i>equery check gentoolkit</i>
171     [ Checking app-portage/gentoolkit-0.2.0 ]
172     * 54 out of 54 files good
173     </pre>
174    
175     <p>
176     Please note that if you change configuration files after installation,
177     these may be reported as "not good".
178     </p>
179    
180     </body>
181     </section>
182     <section>
183     <title>List of all packages depending on ...</title>
184     <body>
185    
186     <p>
187     <c>equery</c> is able to list all direct dependencies matching a package.
188     The function we should use to do this is <c>depends</c> and it's as easy as:
189     </p>
190    
191     <pre caption="Looking for packages depending on pygtk">
192     # <i>equery depends pygtk</i>
193     [ Searching for packages depending on pygtk... ]
194     app-office/dia-0.93
195     dev-python/gnome-python-2.0.0-r1
196     gnome-extra/gdesklets-core-0.26.2
197     media-gfx/gimp-2.0.4
198     x11-libs/vte-0.11.11-r1
199     </pre>
200    
201     </body>
202     </section>
203     <section>
204     <title>Dependency Graphs</title>
205     <body>
206    
207     <p>
208     <c>equery</c> is capable of giving us a dependency graph for a specified
209     package. The dependency graph gives a listing of all the packages that have
210     direct and indirect dependencies on the package in question.
211     </p>
212    
213     <pre caption="Dependency Graph for cdrtools">
214     # <i>equery depgraph cdrtools</i>
215     Displaying dependencies for app-cdr/cdrtools-2.01_alpha37
216     `-- app-cdr/cdrtools-2.01_alpha37
217     `-- sys-libs/glibc-2.3.4.20040808 (virtual/libc)
218     `-- sys-kernel/linux-headers-2.4.22 (virtual/os-headers)
219     `-- sys-apps/baselayout-1.10.4
220     `-- sys-apps/sysvinit-2.85-r1
221     `-- sys-apps/gawk-3.1.3-r1
222     `-- sys-apps/util-linux-2.12-r4
223     `-- sys-apps/sed-4.0.9
224     `-- sys-libs/ncurses-5.4-r4
225     `-- sys-apps/pam-login-3.14
226     `-- sys-libs/pam-0.77-r1
227     `-- sys-libs/cracklib-2.7-r10
228     `-- sys-apps/miscfiles-1.3-r1
229     `-- app-arch/gzip-1.3.5-r1
230     `-- sys-apps/portage-2.0.50-r10
231     </pre>
232    
233     <p>
234     For example, while glibc is a direct dependency for cdrtools,linux-headers
235     are an indirect dependency. Note that the output also includes information
236     about virtual packages. In the example above, <c>cdrtools</c> is actually
237     written to require virtual/libc, not sys-libs/glibc, but on the given
238     system in the example sys-libs/glibc provides virtual/libc.
239     </p>
240    
241     </body>
242     </section>
243     <section>
244     <title>Listing Files Belonging to an Ebuild</title>
245     <body>
246    
247     <p>
248     <c>equery</c> can list the files that belong to an installed ebuild. If I
249     don't know the files that Gentoolkit has installed on the system, I will
250     use <c>equery</c> to show them.
251     </p>
252    
253     <pre caption="Listing files">
254     #<i> equery files gentoolkit</i>
255     [ Searching for packages matching gentoolkit... ]
256     app-portage/gentoolkit-0.2.0
257     * Contents of app-portage/gentoolkit-0.2.0:
258     /usr
259     /usr/bin
260     /usr/bin/equery
261     /usr/bin/etcat
262     /usr/bin/euse
263     /usr/bin/glsa-check
264     /usr/bin/qpkg
265     /usr/bin/revdep-rebuild
266     /usr/lib
267     /usr/lib/gentoolkit
268     /usr/lib/gentoolkit/pym
269     /usr/lib/gentoolkit/pym/gentoolkit
270     /usr/lib/gentoolkit/pym/gentoolkit/__init__.py
271     /usr/lib/gentoolkit/pym/gentoolkit/gentoolkit.py
272     /usr/lib/gentoolkit/pym/gentoolkit/pprinter.py
273     /usr/lib/gentoolkit/pym/glsa.py
274     /usr/sbin
275     /usr/share
276     /usr/share/doc
277     /usr/share/doc/gentoolkit-0.2.0_pre10
278    
279     [...]
280     </pre>
281    
282     <p>
283     The command <c>files</c> of <c>equery</c> provide some options to modify
284     the output. You can look them all up in the <c>equery</c> man page.
285     </p>
286    
287     </body>
288     </section>
289     <section>
290     <title>Looking for packages that use a specific USE flag</title>
291     <body>
292    
293     <p>
294     If you want to find which packages on your system that make use of a specific
295     USE flag, <c>equery</c> has the function <c>hasuse</c>:
296     </p>
297    
298     <pre caption="Searching packages which use mozilla USE flag">
299     # <i>equery hasuse mozilla</i>
300     [ Searching for USE flag mozilla in all categories among: ]
301     * installed packages
302     [I--] [ ] dev-java/blackdown-jre-1.4.2.01 (1.4.2)
303     [I--] [ ] mail-client/evolution-2.0.2 (2.0)
304     </pre>
305    
306     </body>
307     </section>
308     <section>
309     <title>Listing Packages</title>
310     <body>
311    
312     <p>
313     <c>equery</c> has a power feature to list packages belonging to our system,
314     portage or even an overlay. Let's try this:
315     </p>
316    
317     <pre caption="Listing packages with equery">
318     # <i>equery list gentoolkit</i>
319     [ Searching for package 'gentoolkit' in all categories among: ]
320     * installed packages
321     [I--] [ ] app-portage/gentoolkit-0.2.0 (0)
322     </pre>
323    
324     <p>
325     The standard query will search our installed packages for the name given.
326     If found, the following info will be displayed: the package location between
327     the first square brackets (I for Installed packages, P for Portage, O for
328     Overlay), the possibles masks between the second (~ by keyword, - by arch or
329     M hard masked), then the category and complete name and last of all, the slot
330     in which the package is stored.
331     </p>
332    
333     <p>
334     Another example, this time we are going to use the local options in order
335     to look for packages in our portage tree and overlay.
336     </p>
337    
338     <pre caption="Using local options with equery">
339     # <i>equery list -p -o vim</i>
340     [ Searching for package 'vim' in all categories among: ]
341     * installed packages
342     [I--] [ ] app-editors/vim-6.3-r4 (0)
343     * Portage tree (/usr/portage)
344     [-P-] [M~] app-editors/vim-7.0_alpha20050126 (0)
345     [-P-] [M~] app-editors/vim-7.0_alpha20050201 (0)
346     [-P-] [ ] app-editors/vim-6.3-r2 (0)
347     [-P-] [M~] app-editors/vim-7.0_alpha20050122 (0)
348     [-P-] [M~] app-editors/vim-core-7.0_alpha20050126 (0)
349     [-P-] [ ] app-editors/vim-core-6.3-r3 (0)
350     [-P-] [M~] app-editors/vim-core-7.0_alpha20050122 (0)
351     [-P-] [M~] app-editors/vim-core-7.0_alpha20050201 (0)
352     [-P-] [ ] app-editors/vim-core-6.3-r4 (0)
353     * overlay tree (/opt/ebuilds)
354     </pre>
355    
356     </body>
357     </section>
358     <section>
359     <title>Finding Package Sizes</title>
360 neysx 1.13 <body>
361    
362     <p>
363     Ever been curious to find out how much space a specific package is occupying?
364     Since a package could have its files over a number of directories, the usual
365     <c>du -hc</c> might not give you the correct figure. Not to worry, here comes
366     <c>equery</c> to the rescue!
367     </p>
368    
369     <pre caption="Package Size">
370     # <i>equery size openoffice-bin</i>
371     * app-office/openoffice-bin-1.1.2
372     Total Files : 2908
373     Total Size : 223353.31 KiB
374     </pre>
375    
376     <p>
377 yoswink 1.20 As you can see, <c>equery</c> prints the total space used in kilobytes and
378     also lists the total number of files the package has.
379 cam 1.9 </p>
380 cam 1.10
381 cam 1.9 </body>
382     </section>
383     <section>
384 neysx 1.13 <title>Package-wise list of USE Flags</title>
385 cam 1.10 <body>
386 cam 1.9
387     <p>
388 yoswink 1.20 <c>equery</c> can be used to give us information about what USE flags
389     are being used by a specific package. It also tells us what our current USE
390     flags are for a package and also what USE flags are available for the package.
391 cam 1.9 </p>
392 cam 1.10
393 neysx 1.13 <pre caption="Set and Unset USE Flags">
394     # <i>equery uses ethereal</i>
395     [ Colour Code : set unset ]
396     [ Legend : (U) Col 1 - Current USE flags ]
397     [ : (I) Col 2 - Installed With USE flags ]
398 drobbins 1.1
399 neysx 1.13 U I [ Found these USE variables in : net-analyzer/ethereal-0.10.6 ]
400     - - adns : Adds support for the adns DNS client library
401     + + gtk : Adds support for x11-libs/gtk+ (The GIMP Toolkit)
402     - - ipv6 : Adds support for IP version 6
403     - - snmp : Adds support for the Simple Network Management Protocol if available
404     + + ssl : Adds support for Secure Socket Layer connections
405     + + gtk2 : Use gtk+-2.0.0 over gtk+-1.2 in cases where a program supports both.
406 neysx 1.14 - - debug : Tells configure and the makefiles to build for debugging. Effects vary across packages,
407     but generally it will at least add -g to CFLAGS. Remember to set FEATURES=nostrip too
408 cam 1.10 </pre>
409    
410 cam 1.9 <p>
411 neysx 1.13 I have installed ethereal with only the gtk, ssl and gtk2 flags set, but the
412     other USE flags for ethereal are adns, ipv6, snmp and debug. For more
413     information on USE flags, please refer to the <uri
414 neysx 1.17 link="/doc/en/handbook/handbook-x86.xml?part=2&amp;chap=2">USE Flags</uri>
415 neysx 1.15 chapter of the <uri link="/doc/en/handbook/">Gentoo Handbook</uri>.
416 cam 1.9 </p>
417    
418 neysx 1.13 </body>
419     </section>
420     <section>
421     <title>Where's the ebuild?</title>
422     <body>
423    
424 cam 1.9 <p>
425 neysx 1.13 We can also find out which ebuild is being used for a specific package using
426     <c>equery</c>. This is done my using the <c>equery which</c> command which
427     displays the full path to the ebuild.
428 cam 1.9 </p>
429 cam 1.10
430 neysx 1.13 <pre caption="Displaying the ebuild path">
431     # <i>equery which cdrtools</i>
432     /usr/portage/app-cdr/cdrtools/cdrtools-2.01_alpha37.ebuild
433     </pre>
434 cam 1.10
435 neysx 1.13 </body>
436     </section>
437 drobbins 1.1 </chapter>
438 cam 1.10
439 drobbins 1.1 <chapter>
440 neysx 1.13 <title>euse</title>
441 cam 1.9 <section>
442     <title>Introduction</title>
443     <body>
444 cam 1.10
445 swift 1.19 <warn>
446     <c>euse</c> is currently broken as it does not support cascading profiles well.
447     </warn>
448    
449 cam 1.9 <p>
450 neysx 1.13 <c>euse</c> is a tool to see, set and unset USE flags at various places. For
451     more information on USE flags, please refer to the <uri
452 swift 1.19 link="/doc/en/handbook/handbook-x86.xml?part=2&amp;chap=2">USE Flags</uri>.
453     Please see <c>euse -h</c> for complete help and all options.
454 cam 1.9 </p>
455 cam 1.10
456 cam 1.9 </body>
457     </section>
458     <section>
459 swift 1.19 <title>Viewing, Setting and Unsetting USE Flags</title>
460 neysx 1.13 <body>
461    
462     <p>
463 swift 1.19 The <c>euse -a</c> command reads the current active USE flags and displays
464     them.
465 neysx 1.13 </p>
466    
467 swift 1.19 <note>
468     There are 5 &quot;columns&quot; that <c>euse</c> now uses to show whether a
469     flag is set/unset and where all the flag has been set. The columns are as
470     follows -- +/-, set in the Environment, set in make.Conf, set in make.Defaults,
471     and set in make.Globals. The output looks like [+ECDG].
472     </note>
473    
474     <pre caption="Viewing all active USE flags">
475     # <i> euse -a</i>
476     X [+ CD ]
477     aalib [+ ]
478     acpi [+ C ]
479     alsa [+ C ]
480     apache2 [+ C ]
481     apm [+ D ]
482     avi [+ D ]
483     berkdb [+ D ]
484     bitmap-fonts [+ D ]
485     bonobo [+ ]
486     cdr [+ C ]
487     crypt [+ CD ]
488     cscope [+ C ]
489     cups [+ CD ]
490     curl [+ ]
491     emboss [+ D ]
492     encode [+ D ]
493     esd [+ ]
494     ethereal [+ C ]
495     fam [+ ]
496     fbcon [+ C ]
497     font-server [+ D ]
498     foomaticdb [+ D ]
499     fortran [+ D ]
500     gd [+ C ]
501     gdbm [+ D ]
502     gif [+ CD ]
503     gimpprint [+ C ]
504     gnome [+ CD ]
505     gphoto2 [+ ]
506     gpm [+ CD ]
507     gstreamer [+ C ]
508     gtk [+ D ]
509     gtk2 [+ CD ]
510     gtkhtml [+ C ]
511     guile [+ ]
512     imagemagick [+ ]
513     imlib [+ CD ]
514     imlib2 [+ ]
515     innodb [+ ]
516     ipv6 [+ D ]
517     javascript [+ C ]
518     jpeg [+ CD ]
519     kde [+ D ]
520     ldap [+ ]
521     libg++ [+ CD ]
522     libwww [+ CD ]
523     mad [+ CD ]
524     mbox [+ C ]
525     md5sum [+ C ]
526     mikmod [+ CD ]
527     mmx [+ C ]
528     motif [+ CD ]
529     mozilla [+ C ]
530     mp3 [+ ]
531     mpeg [+ CD ]
532     mpeg4 [+ C ]
533     mysql [+ C ]
534     ncurses [+ CD ]
535     nls [+ D ]
536     nvidia [+ C ]
537     odbc [+ ]
538     offensive [+ ]
539     oggvorbis [+ CD ]
540     opengl [+ CD ]
541     oss [+ D ]
542     pam [+ CD ]
543     pdflib [+ CD ]
544     perl [+ CD ]
545     png [+ CD ]
546     python [+ CD ]
547     qt [+ D ]
548     quicktime [+ CD ]
549     readline [+ CD ]
550     ruby [+ ]
551     sdl [+ CD ]
552     slang [+ D ]
553     spell [+ CD ]
554     sse [+ C ]
555     ssl [+ CD ]
556     svga [+ CD ]
557     tcltk [+ C ]
558     tcpd [+ D ]
559     tiff [+ C ]
560     truetype [+ CD ]
561     truetype-fonts [+ D ]
562     type1-fonts [+ D ]
563     usb [+ C ]
564     vanilla [+ C ]
565     x86 [+ C ]
566     xml [+ ]
567     xml2 [+ D ]
568     xmms [+ D ]
569     xosd [+ C ]
570     xv [+ CD ]
571     xvid [+ C ]
572     zlib [+ CD ]
573 neysx 1.13 </pre>
574    
575     <p>
576 swift 1.19 Similarly you can use the <c>euse -a -g</c> command to only view active global
577     USE flags. The <c>euse -a -l</c> command does the same for active local USE
578     flags.<c>-g</c> &amp; <c>-l</c> are suboptions to <c>euse</c> and need an
579     option before them (like <c>-a</c>) to function correctly.
580     </p>
581    
582     <pre caption="Viewing active local USE flags">
583     # <i>euse -a -l</i>
584     bitmap-fonts [+ D ]
585     font-server [+ D ]
586     fortran [+ D ]
587     gimpprint [+ C ]
588     imlib2 [+ ]
589     md5sum [+ C ]
590     mpeg4 [+ C ]
591     nvidia [+ C ]
592     offensive [+ ]
593     truetype [+ CD ]
594     truetype-fonts [+ D ]
595     type1-fonts [+ D ]
596 neysx 1.13 </pre>
597 cam 1.9
598 swift 1.19 <p>
599     We can also use <c>euse</c> to set or unset use flags. The commands used for
600     this are <c>euse -E flagname</c> (enable a flag) and <c>euse -D flagname</c>
601     (disable a flag).
602     </p>
603    
604     <warn>
605     Do not use the <c>euse -E</c> or <c>euse -D</c> commands by themselves (without
606     a flag). It will set/unset ALL USE flags in <c>/etc/make.conf</c>. Although a
607     backup is kept at <path>/etc/make.conf.euse_backup</path>, please be careful
608     while using <c>euse -E</c> or <c>euse -D</c>.
609     </warn>
610    
611     <pre caption="Setting and Unsetting USE flags">
612     <comment>(Enabling a USE Flag)</comment>
613     # <i> euse -E 3dfx</i>
614     /etc/make.conf was modified, a backup copy has been placed at /etc/make.conf.euse_backup
615    
616     <comment>(/etc/make.conf after the command)</comment>
617     USE="alsa acpi apache2 -arts cups cdr crypt cscope -doc ethereal fbcon gd \
618     gif gimpprint gnome gpm gstreamer gtk2 gtkhtml imlib imlib2 \
619     innodb -java javascript jpeg libg++ libwww mad mbox md5sum \
620     mikmod mmx motif mozilla mpeg mpeg4 mysql ncurses nvidia \
621     oggvorbis odbc offensive opengl pam pdflib perl png python \
622     quicktime readline sdl spell sse ssl svga tcltk tiff truetype usb \
623     vanilla X xml2 xmms xosd xv xvid x86 zlib 3dfx"
624    
625     <comment>(Disabling the USE Flag)</comment>
626     # <i> euse -D 3dfx</i>
627     /etc/make.conf was modified, a backup copy has been placed at /etc/make.conf.euse_backup
628    
629     <comment>(/etc/make.conf after the command)</comment>
630     USE="alsa acpi apache2 -arts cups cdr crypt cscope -doc ethereal fbcon gd \
631     gif gimpprint gnome gpm gstreamer gtk2 gtkhtml imlib imlib2 \
632     innodb -java javascript jpeg libg++ libwww mad mbox md5sum \
633     mikmod mmx motif mozilla mpeg mpeg4 mysql ncurses nvidia \
634     oggvorbis odbc offensive opengl pam pdflib perl png python \
635     quicktime readline sdl spell sse ssl svga tcltk tiff truetype usb \
636     vanilla X xml2 xmms xosd xv xvid x86 zlib -3dfx"
637 cam 1.10 </pre>
638    
639 cam 1.9 <note>
640 neysx 1.13 <c>euse</c> does not physically remove the flag from make.conf. It just adds a
641     - (minus) before the flag to unset it. You may have to manually clean up your
642     make.conf to avoid unwanted variables.
643 cam 1.9 </note>
644 cam 1.10
645 cam 1.9 </body>
646     </section>
647 drobbins 1.1 </chapter>
648    
649     <chapter>
650 neysx 1.13 <title>Other tools</title>
651 cam 1.9 <section>
652 neysx 1.13 <title>revdep-rebuild</title>
653 cam 1.9 <body>
654 cam 1.10
655 cam 1.9 <p>
656 neysx 1.13 This tool is Gentoo's Reverse Dependency rebuilder. It will scan your installed
657     ebuilds to find packages that have become broken as a result of an upgrade of a
658     package they depend on. It can emerge those packages for you but it can also
659     happen that a given package does not work anymore with the currently installed
660 neysx 1.16 dependencies, in which case you should upgrade the broken package to a more
661 neysx 1.13 recent version. revdep-rebuild will pass flags to emerge which lets you use the
662     <c>--pretend</c> flag to see what is going to be emerged again before you go any
663     further.
664 cam 1.9 </p>
665    
666 neysx 1.13 <pre caption="Running revdep-rebuild in pretend mode">
667     # <i>revdep-rebuild -p</i>
668    
669     Checking reverse dependencies...
670     Packages containing binaries and libraries broken by any package update,
671     will be recompiled.
672 cam 1.10
673 neysx 1.13 Collecting system binaries and libraries... done.
674     (/root/.revdep-rebuild.1_files)
675 cam 1.10
676 neysx 1.13 Collecting complete LD_LIBRARY_PATH... done.
677     (/root/.revdep-rebuild.2_ldpath)
678 cam 1.10
679 neysx 1.13 Checking dynamic linking consistency...
680     broken /usr/lib/ao/plugins-2/libarts.so (requires libartsc.so.0)
681     broken /usr/lib/kde3/libkpresenterpart.so (requires libartskde.so.1 libqtmcop.so.1
682     libsoundserver_idl.so.1 libkmedia2_idl.so.1 libartsflow.so.1 libartsflow_idl.so.1 libmcop.so.1)
683     broken /usr/lib/ruby/site_ruby/1.8/i686-linux/fox.so (requires libFOX-1.0.so.0)
684     broken /usr/lib/xine/plugins/1.0.0/xineplug_ao_out_arts.so (requires libartsc.so.0)
685     broken /usr/lib/perl5/vendor_perl/5.8.0/i686-linux/auto/SDL_perl/SDL_perl.so (requires libSDL_gfx.so.0)
686     broken /usr/lib/libloudmouth-1.so.0.0.0 (requires libgnutls.so.10)
687     broken /usr/bin/k3b (requires libartskde.so.1 libqtmcop.so.1 libsoundserver_idl.so.1 libkmedia2_idl.so.1
688     libartsflow.so.1 libartsflow_idl.so.1 libmcop.so.1)
689     broken /usr/bin/lua (requires libhistory.so.4)
690     broken /usr/bin/lyx (requires libAiksaurus-1.0.so.0)
691     broken /usr/bin/luac (requires libhistory.so.4)
692     broken /usr/bin/avidemux2 (requires libartsc.so.0)
693     broken /usr/bin/pptout (requires libxml++-0.1.so.11)
694     broken /usr/bin/xml2ps (requires libxml++-0.1.so.11)
695     done.
696     (/root/.revdep-rebuild.3_rebuild)
697 cam 1.9
698 neysx 1.13 Assigning files to ebuilds... done.
699     (/root/.revdep-rebuild.4_ebuilds)
700 cam 1.10
701 neysx 1.13 Evaluating package order... done.
702     (/root/.revdep-rebuild.5_order)
703 cam 1.10
704 neysx 1.13 All prepared. Starting rebuild...
705     emerge --oneshot --nodeps -p =app-cdr/k3b-0.11.14 =app-office/koffice-1.3.2 =app-office/lyx-1.3.4 \
706     =app-office/passepartout-0.2 =dev-lang/lua-5.0.2 =dev-ruby/fxruby-1.0.29 =media-libs/libao-0.8.5 \
707     =media-libs/xine-lib-1_rc5-r3 =media-video/avidemux-2.0.26 =net-libs/loudmouth-0.16
708 cam 1.10
709 neysx 1.13 These are the packages that I would merge, in order:
710 drobbins 1.1
711 neysx 1.13 Calculating dependencies ...done!
712     [ebuild R ] app-cdr/k3b-0.11.14
713     [ebuild R ] app-office/koffice-1.3.2
714     [ebuild R ] app-office/lyx-1.3.4
715     [ebuild R ] app-office/passepartout-0.2
716     [ebuild R ] dev-lang/lua-5.0.2
717     [ebuild R ] dev-ruby/fxruby-1.0.29
718     [ebuild R ] media-libs/libao-0.8.5
719     [ebuild R ] media-libs/xine-lib-1_rc5-r3
720     [ebuild R ] media-video/avidemux-2.0.26
721     [ebuild R ] net-libs/loudmouth-0.16
722 cam 1.10
723 neysx 1.13 Now you can remove -p (or --pretend) from arguments and re-run revdep-rebuild.
724     </pre>
725 cam 1.10
726     <p>
727 neysx 1.13 If you need to rebuild some packages, you may run <c>revdep-rebuild</c> without
728     the <c>-p</c> flag and the listed packages will be emerged again.
729 cam 1.9 </p>
730    
731     </body>
732     </section>
733 cam 1.10
734 cam 1.9 <section>
735 neysx 1.13 <title>glsa-check</title>
736 cam 1.9 <body>
737 cam 1.10
738     <p>
739 neysx 1.13 <c>glsa-check</c> is mainly a test tool that keeps track of the various GLSA's
740     (Gentoo Linux Security Advisory) and will eventually be integrated into
741     <c>emerge</c> and <c>equery</c>. For more information, please visit the <uri
742 neysx 1.15 link="/proj/en/portage/glsa-integration.xml">Portage GLSA Integration
743     Page</uri>.
744 swift 1.19 </p>
745 cam 1.10
746 cam 1.9 </body>
747     </section>
748 drobbins 1.1 </chapter>
749 neysx 1.13
750 vapier 1.11 </guide>

  ViewVC Help
Powered by ViewVC 1.1.20