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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.8 Revision 1.9
1<?xml version='1.0' encoding="UTF-8"?> 1<?xml version="1.0" encoding="UTF-8"?>
2<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/gentoolkit.xml,v 1.8 2004/03/06 17:06:19 swift Exp $ --> 2<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/gentoolkit.xml,v 1.9 2004/03/26 12:47:10 cam Exp $ -->
3<!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> 3<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
4 4
5<guide link = "/doc/en/gentoolkit.xml"> 5<guide link="/doc/en/gentoolkit.xml">
6<title>Gentoolkit</title> 6<title>Gentoolkit</title>
7<author title="Author"><mail link="mbutcher@aleph-null.tv"> 7
8Matt Butcher</mail> 8<author title="Author">
9 <mail link="mbutcher@aleph-null.tv">Matt Butcher</mail>
9</author> 10</author>
10 11
11<author title="Editor"><!-- zhen@gentoo.org --> 12<author title="Editor">
12 John P. Davis 13 <!-- zhen@gentoo.org -->John P. Davis
13</author> 14</author>
15
14<author title="Editor"> 16<author title="Editor">
15 <mail link="erwin@gentoo.org">Erwin</mail> 17 <mail link="erwin@gentoo.org">Erwin</mail>
16</author> 18</author>
19
17<!-- Licensed under GFDL --> 20<!-- Licensed under GFDL -->
18 21
19<abstract> 22<abstract>
20 Gentoolkit is a suite of tools to ease the administration of a Gentoo system. 23Gentoolkit is a suite of tools to ease the administration of a Gentoo system.
21 This document covers the basics of 24This document covers the basics of some of the tools present in Gentoolkit.
22 some of the tools present in Gentoolkit.
23</abstract> 25</abstract>
24 26
25<version>1.2</version> 27<version>1.2</version>
26<date>December 1, 2003</date> 28<date>December 1, 2003</date>
27 29
28<chapter> 30<chapter>
29 <title>Introduction</title> 31<title>Introduction</title>
30 <section> 32<section>
31 <title>What is Gentoolkit?</title> 33<title>What is Gentoolkit?</title>
32 <body> 34<body>
35
36<p>
33 <p>Gentoo is a unique distribution, and presents some complexities that 37Gentoo is a unique distribution, and presents some complexities that simply
34 simply don't exist for other distributions. As Gentoo developers 38don't exist for other distributions. As Gentoo developers and contributors
35 and contributors discovered some of these complexities, they also 39discovered some of these complexities, they also wrote tools to help users and
36 wrote tools to help users and administrators work around them. 40administrators work around them. Many of these tools have been contributed to
37 Many of these tools have been contributed to the Gentoo project, 41the Gentoo project, and are included in the package
38 and are included in the package <path>app-portage/gentoolkit</path>. 42<c>app-portage/gentoolkit</c>.
39 </p> 43</p>
40 44
45<p>
41 <p>Gentoolkit contains a whole bunch of useful tools to help manage 46Gentoolkit contains a whole bunch of useful tools to help manage Portage and the
42 Portage and the ebuild architecture. Most users -- particularly 47ebuild architecture. Most users -- particularly those who update systems often
43 those who update systems often -- will benefit from having 48-- will benefit from having gentoolkit installed.
44 gentoolkit installed.</p> 49</p>
50
45 </body> 51</body>
46 </section> 52</section>
53
47 <section> 54<section>
48 <title>Installation</title> 55<title>Installation</title>
49 <body> 56<body>
57
58<p>
50 <p>Just as with any Gentoo package, installation is just a simple 59Just as with any Gentoo package, installation is just a simple emerge.
51 emerge. 60</p>
52 </p>
53 61
54 <pre> 62<pre>
55<i>emerge gentoolkit </i> 63# <i>emerge gentoolkit </i>
56 </pre> 64</pre>
65
66<note>
57 <note>Many of the tools in gentoolkit reveal important information 67Many of the tools in gentoolkit reveal important information about your system
58 about your system or require root permissions. For that reason, 68or require root permissions. For that reason, some of the programs may only be
59 some of the programs may only be executed (or only function 69executed (or only function properly) if run by a user with root permissions.
60 properly) if run by a user with root permissions.</note> 70</note>
71
61 </body> 72</body>
62 </section> 73</section>
74
63 <section> 75<section>
64 <title>Finding Documentation</title> 76<title>Finding Documentation</title>
65 <body> 77<body>
66 78
67 <p> 79<p>
68 At the time of this writing, not all of the programs in gentoolkit 80At the time of this writing, not all of the programs in gentoolkit are well
69 are well documented. Some have man pages, but not all. Any documentation 81documented. Some have man pages, but not all. Any documentation
70 that a program might have (other than man pages) is stored in 82that a program might have (other than man pages) is stored in
71 <path>/usr/doc/gentoolkit-[version]/[program-name]/</path>. 83<path>/usr/doc/gentoolkit-[version]/[program-name]/</path>.
72 </p> 84</p>
73 </body> 85</body>
74 </section> 86</section>
75</chapter> 87</chapter>
76<chapter> 88<chapter>
77 <title>Querying Package Data with qpkg</title> 89<title>Querying Package Data with qpkg</title>
78 <section> 90<section>
79 91
80 <title>Introduction</title> 92<title>Introduction</title>
81 <body> 93<body>
82 <p><c>qpkg</c> is flexible tool for determining information about ebuilds, 94<p><c>qpkg</c> is flexible tool for determining information about ebuilds,
83 whether installed or not. It can provide information about what files belong 95whether installed or not. It can provide information about what files belong
84 to which ebuilds, whether multiple versions of the same package are installed, 96to which ebuilds, whether multiple versions of the same package are installed,
85 and what a particular ebuild does. 97and what a particular ebuild does.
86 </p> 98</p>
87 <p>Calling <c>qpkg</c> with no arguments prints a list of all ebuilds, with asterisks 99<p>Calling <c>qpkg</c> with no arguments prints a list of all ebuilds, with asterisks
88 (*) next to the packages that are installed on the system. 100(*) next to the packages that are installed on the system.
89 </p> 101</p>
90 <note>By default, <c>qpkg</c> prints output in color. To turn this off on the command 102<note>By default, <c>qpkg</c> prints output in color. To turn this off on the command
91 line, use the <c>--no-color</c> or <c>-nc</c> flag.</note> 103line, use the <c>--no-color</c> or <c>-nc</c> flag.</note>
92 104
93 </body> 105</body>
94 </section> 106</section>
95 <section> 107<section>
96 <title>Querying Package Information</title> 108<title>Querying Package Information</title>
97 <body> 109<body>
98 <p>One of the most common uses for <c>qpkg</c> is determining what a given package 110<p>One of the most common uses for <c>qpkg</c> is determining what a given package
99 is. For instance, while looking through <path>net-misc</path>, I saw a package 111is. For instance, while looking through <path>net-misc</path>, I saw a package
100 called <path>neon</path>. Having no idea what it was, I ran qpkg. 112called <path>neon</path>. Having no idea what it was, I ran qpkg.
101 </p> 113</p>
102 114
103 <pre> 115<pre>
104hebron root # <i>qpkg -i net-misc/neon 116hebron root # <i>qpkg -i net-misc/neon
105net-misc/neon-0.15.3-r1 117net-misc/neon-0.15.3-r1
106 HTTP and WebDAV client library [ http://www.webdav.org/neon ] 118 HTTP and WebDAV client library [ http://www.webdav.org/neon ]
107net-misc/neon-0.18.5 119net-misc/neon-0.18.5
108 HTTP and WebDAV client library [ http://www.webdav.org/neon ] 120 HTTP and WebDAV client library [ http://www.webdav.org/neon ]
109net-misc/neon-0.19.2 121net-misc/neon-0.19.2
110 HTTP and WebDAV client library [ http://www.webdav.org/neon ] 122 HTTP and WebDAV client library [ http://www.webdav.org/neon ]
111net-misc/neon-0.19.2-r1 123net-misc/neon-0.19.2-r1
112 HTTP and WebDAV client library [ http://www.webdav.org/neon ] 124 HTTP and WebDAV client library [ http://www.webdav.org/neon ]
113net-misc/neon-0.21.1 125net-misc/neon-0.21.1
114 HTTP and WebDAV client library [ http://www.webdav.org/neon ] </i> 126 HTTP and WebDAV client library [ http://www.webdav.org/neon ] </i>
115 </pre> 127</pre>
116 <p> 128<p>
117 <c>qpkg</c> read through the ebuild files for the five <path>net-misc/neon</path> 129<c>qpkg</c> read through the ebuild files for the five <path>net-misc/neon</path>
118 ebuilds and printed out the information stored in DESCRIPTION and HOMEPAGE. 130ebuilds and printed out the information stored in DESCRIPTION and HOMEPAGE.
119 </p> 131</p>
120 </body> 132</body>
121 133
122 </section> 134</section>
123 <section> 135<section>
124 <title>Listing Files Belonging to an Ebuild</title> 136<title>Listing Files Belonging to an Ebuild</title>
125 <body> 137<body>
126 <p> 138<p>
127 <c>qpkg</c> can also list the files that belong to an installed ebuild. I 139<c>qpkg</c> can also list the files that belong to an installed ebuild. I
128 Know that gentoolkit installed several tools, but I don't know what they 140Know that gentoolkit installed several tools, but I don't know what they
129 all are. To find out, I can do a <c>qpkg -l</c> 141all are. To find out, I can do a <c>qpkg -l</c>
130 142
131 </p> 143</p>
132 <pre> 144<pre>
133hebron portage # <i>qpkg -l app-portage/gentoolkit 145hebron portage # <i>qpkg -l app-portage/gentoolkit
134app-portage/gentoolkit-0.1.14-r1 * 146app-portage/gentoolkit-0.1.14-r1 *
135CONTENTS: 147CONTENTS:
136/usr 148/usr
137/usr/share 149/usr/share
138/usr/share/gentoolkit 150/usr/share/gentoolkit
139/usr/share/gentoolkit/histogram.awk 151/usr/share/gentoolkit/histogram.awk
140/usr/share/doc 152/usr/share/doc
141/usr/share/doc/gentoolkit-0.1.14-r1 153/usr/share/doc/gentoolkit-0.1.14-r1
142/usr/share/doc/gentoolkit-0.1.14-r1/gentool 154/usr/share/doc/gentoolkit-0.1.14-r1/gentool
143/usr/share/doc/gentoolkit-0.1.14-r1/gentool/ChangeLog.gz 155/usr/share/doc/gentoolkit-0.1.14-r1/gentool/ChangeLog.gz
144/usr/share/doc/gentoolkit-0.1.14-r1/lintool 156/usr/share/doc/gentoolkit-0.1.14-r1/lintool
145/usr/share/doc/gentoolkit-0.1.14-r1/lintool/checklist-for-ebuilds.gz 157/usr/share/doc/gentoolkit-0.1.14-r1/lintool/checklist-for-ebuilds.gz
146/usr/share/doc/gentoolkit-0.1.14-r1/lintool/ChangeLog.gz 158/usr/share/doc/gentoolkit-0.1.14-r1/lintool/ChangeLog.gz
147/usr/share/doc/gentoolkit-0.1.14-r1/etc-update 159/usr/share/doc/gentoolkit-0.1.14-r1/etc-update
155/usr/bin/gentool-bump-revision 167/usr/bin/gentool-bump-revision
156/usr/bin/gentool-total-coverage 168/usr/bin/gentool-total-coverage
157/usr/bin/gentool-author-coverage 169/usr/bin/gentool-author-coverage
158/usr/bin/gentool-package-count 170/usr/bin/gentool-package-count
159/usr/bin/qpkg 171/usr/bin/qpkg
160/usr/bin/pkg-size 172/usr/bin/pkg-size
161/usr/bin/lintool 173/usr/bin/lintool
162/usr/sbin 174/usr/sbin
163/usr/sbin/pkg-clean 175/usr/sbin/pkg-clean
164/usr/sbin/mkebuild 176/usr/sbin/mkebuild
165/usr/sbin/emerge-webrsync 177/usr/sbin/emerge-webrsync
166/usr/sbin/epm 178/usr/sbin/epm
167/usr/sbin/etc-update 179/usr/sbin/etc-update
168/etc 180/etc
169/etc/etc-update.conf </i> 181/etc/etc-update.conf </i>
170 </pre> 182</pre>
171 </body> 183</body>
172 </section> 184</section>
173 <section> 185<section>
174 <title>Finding the Package from Where a File Came</title> 186<title>Finding the Package from Where a File Came</title>
175 <body> 187<body>
176 188
177 <p> 189<p>
178 To find the package that a file came from, use the <c>-f</c> 190To find the package that a file came from, use the <c>-f</c>
179 or <c>--find-file</c> flag. 191or <c>--find-file</c> flag.
180 </p> 192</p>
181 <pre> 193<pre>
182 hebron portage # <i>qpkg -f net-www/mozilla * </i> 194hebron portage # <i>qpkg -fnet-www/mozilla * </i>
183 </pre> 195</pre>
184 196
185 </body> 197</body>
186 </section> 198</section>
187 <section> 199<section>
188 <title>Listing Duplicate Packages</title> 200<title>Listing Duplicate Packages</title>
189 <body> 201<body>
190 <p> 202<p>
191 Sometimes multiple versions of the same package may exist. <c>qpkg --dup</c> 203Sometimes multiple versions of the same package may exist. <c>qpkg --dup</c>
192 204
193 will print a list of duplicate packages. The existence of a duplicate package 205will print a list of duplicate packages. The existence of a duplicate package
194 though may not indicate that the older version may be removed. They may fill 206though may not indicate that the older version may be removed. They may fill
195 different slots. To look for duplicates in the same slot, use 207different slots. To look for duplicates in the same slot, use
196 <c>qpkg --dups --slot</c>. I just updated KDE from 3.0 to 3.0.2, so I have some 208<c>qpkg --dups --slot</c>. I just updated KDE from 3.0 to 3.0.2, so I have some
197 duplicates in the same slot. 209duplicates in the same slot.
198 </p> 210</p>
199 <pre> 211<pre>
200hebron portage # <i>qpkg --dups --slot 212hebron portage # <i>qpkg --dups --slot
201app-portage/gentoolkit 213app-portage/gentoolkit
202kde-base/kdeaddons 214kde-base/kdeaddons
203kde-base/kdeadmin 215kde-base/kdeadmin
204kde-base/kdeartwork 216kde-base/kdeartwork
205kde-base/kdebase 217kde-base/kdebase
206kde-base/kdegames 218kde-base/kdegames
207kde-base/kdelibs 219kde-base/kdelibs
208kde-base/kdemultimedia 220kde-base/kdemultimedia
209kde-base/kdenetwork 221kde-base/kdenetwork
210kde-base/kdetoys 222kde-base/kdetoys
211kde-base/kdeutils 223kde-base/kdeutils
212media-libs/freetype 224media-libs/freetype
213x11-libs/qt </i> 225x11-libs/qt </i>
214 </pre> 226</pre>
215 </body> 227</body>
216 </section> 228</section>
217 <section> 229<section>
218 <title>Verifying Package Integrity</title> 230<title>Verifying Package Integrity</title>
219 231
220 <body> 232<body>
221 <p> 233<p>
222 Sometimes it is useful to check a package's integrity to know that files 234Sometimes it is useful to check a package's integrity to know that files
223 have not been replaced since they were installed. <c>qpkg</c> can 235have not been replaced since they were installed. <c>qpkg</c> can
224 verify md5 sums as well as install times to indicate whether or not files 236verify md5 sums as well as install times to indicate whether or not files
225 for the package might have been corrupted, replaced, or removed. 237for the package might have been corrupted, replaced, or removed.
226 </p> 238</p>
227 <p>To check both mtimes and md5 sums, use the <c>-c</c> flag.</p> 239<p>To check both mtimes and md5 sums, use the <c>-c</c> flag.</p>
228 <pre> 240<pre>
229 241
230hebron portage # <i>qpkg gnupg -c -v 242hebron portage # <i>qpkg gnupg -c -v
231app-crypt/gnupg-1.0.6 * 243app-crypt/gnupg-1.0.6 *
232/usr/lib/gnupg/rndunix !md5! !mtime! 244/usr/lib/gnupg/rndunix !md5! !mtime!
233/usr/lib/gnupg/rndegd !md5! !mtime! 245/usr/lib/gnupg/rndegd !md5! !mtime!
234/usr/lib/gnupg/tiger !md5! !mtime! 246/usr/lib/gnupg/tiger !md5! !mtime!
235/usr/bin/gpg !md5! !mtime! 247/usr/bin/gpg !md5! !mtime!
236/usr/bin/gpgv !md5! !mtime! 248/usr/bin/gpgv !md5! !mtime!
237/usr/share/gnupg/options.skel !md5! !mtime! 249/usr/share/gnupg/options.skel !md5! !mtime!
238/usr/share/gnupg/FAQ !md5! !mtime! 250/usr/share/gnupg/FAQ !md5! !mtime!
239/usr/share/gnupg/faq.html !md5! !mtime! 251/usr/share/gnupg/faq.html !md5! !mtime!
240/usr/share/locale/da/LC_MESSAGES/gnupg.mo !md5! !mtime! 252/usr/share/locale/da/LC_MESSAGES/gnupg.mo !md5! !mtime!
241/usr/share/locale/de/LC_MESSAGES/gnupg.mo !md5! !mtime! 253/usr/share/locale/de/LC_MESSAGES/gnupg.mo !md5! !mtime!
242/usr/share/locale/eo/LC_MESSAGES/gnupg.mo !md5! !mtime! 254/usr/share/locale/eo/LC_MESSAGES/gnupg.mo !md5! !mtime!
243/usr/share/locale/et/LC_MESSAGES/gnupg.mo !md5! !mtime! 255/usr/share/locale/et/LC_MESSAGES/gnupg.mo !md5! !mtime!
245/usr/share/locale/id/LC_MESSAGES/gnupg.mo !md5! !mtime! 257/usr/share/locale/id/LC_MESSAGES/gnupg.mo !md5! !mtime!
246/usr/share/locale/it/LC_MESSAGES/gnupg.mo !md5! !mtime! 258/usr/share/locale/it/LC_MESSAGES/gnupg.mo !md5! !mtime!
247/usr/share/locale/ja/LC_MESSAGES/gnupg.mo !md5! !mtime! 259/usr/share/locale/ja/LC_MESSAGES/gnupg.mo !md5! !mtime!
248/usr/share/locale/nl/LC_MESSAGES/gnupg.mo !md5! !mtime! 260/usr/share/locale/nl/LC_MESSAGES/gnupg.mo !md5! !mtime!
249/usr/share/locale/pl/LC_MESSAGES/gnupg.mo !md5! !mtime! 261/usr/share/locale/pl/LC_MESSAGES/gnupg.mo !md5! !mtime!
250/usr/share/locale/pt_BR/LC_MESSAGES/gnupg.mo !md5! !mtime! 262/usr/share/locale/pt_BR/LC_MESSAGES/gnupg.mo !md5! !mtime!
251/usr/share/locale/sv/LC_MESSAGES/gnupg.mo !md5! !mtime! 263/usr/share/locale/sv/LC_MESSAGES/gnupg.mo !md5! !mtime!
252/usr/share/locale/tr/LC_MESSAGES/gnupg.mo !md5! !mtime! 264/usr/share/locale/tr/LC_MESSAGES/gnupg.mo !md5! !mtime!
253/usr/share/info/gpgv.info.gz !md5! !mtime! 265/usr/share/info/gpgv.info.gz !md5! !mtime!
254/usr/share/man/man1/gpg.1.gz !md5! !mtime! 266/usr/share/man/man1/gpg.1.gz !md5! !mtime!
255/usr/share/man/man1/gpgv.1.gz !md5! !mtime! 267/usr/share/man/man1/gpgv.1.gz !md5! !mtime!
25624/92 26824/92
257 269
258app-crypt/gnupg-1.0.7 * 270app-crypt/gnupg-1.0.7 *
2590/101 </i> 2710/101 </i>
260 </pre> 272</pre>
261 <p> 273<p>
262 As you can see, I have more than one version of GnuPG installed. <c>qpkg</c> 274As you can see, I have more than one version of GnuPG installed. <c>qpkg</c>
263 reports that many of the files from the older version have been changed since I 275reports that many of the files from the older version have been changed since I
264 installed it. Those packages were most likely modified when I updated 276installed it. Those packages were most likely modified when I updated
265 from <path>gnupg-1.0.6</path> to <path>gnupg-1.0.7</path>. Note that the last two 277from <path>gnupg-1.0.6</path> to <path>gnupg-1.0.7</path>. Note that the last two
266lines indicate 278lines indicate
267 that 0 of 101 files from <path>gnupg-1.0.7</path> have been changed since I 279that 0 of 101 files from <path>gnupg-1.0.7</path> have been changed since I
268installed. That 280installed. That
269 is good. If any of them had been changed, I would be worried. 281is good. If any of them had been changed, I would be worried.
270 </p> 282</p>
271 283
272 </body> 284</body>
273 </section> 285</section>
274 <section> 286<section>
275 <title>But Wait... There's More</title> 287<title>But Wait... There's More</title>
276 <body> 288<body>
277 <p> 289<p>
278 <c>qpkg</c> can be used for other querying tasks that I will not go over here. There 290<c>qpkg</c> can be used for other querying tasks that I will not go over here. There
279is a very complete 291is a very complete
280 manpage for <c>qpkg</c>. Consult that for more information. 292manpage for <c>qpkg</c>. Consult that for more information.
281 </p> 293</p>
282 294
283 </body> 295</body>
284 </section> 296</section>
285</chapter> 297</chapter>
286<chapter> 298<chapter>
287 <title>lintool</title> 299<title>lintool</title>
288 <section> 300<section>
289 <title>Introduction</title> 301<title>Introduction</title>
290 <body> 302<body>
291 <p> 303<p>
292 304
293 <c>lintool</c> is a program that checks ebuild scripts for conformance to 305<c>lintool</c> is a program that checks ebuild scripts for conformance to
294 standards and requirements. It is important for ebuild developers to use <c>lintool</c> 306standards and requirements. It is important for ebuild developers to use <c>lintool</c>
295 to ensure that they are doing things correctly and not requiring the core team 307to ensure that they are doing things correctly and not requiring the core team
296 to do more than they already have to in order to include the ebuild in the Gentoo 308to do more than they already have to in order to include the ebuild in the Gentoo
297 repository. 309repository.
298 </p> 310</p>
299 </body> 311</body>
300 </section> 312</section>
301 <section> 313<section>
302 <title>Use</title> 314<title>Use</title>
303 315
304 <body> 316<body>
305 <p> 317<p>
306 Running <c>lintool</c> will produce a nicely formatted list of checks and results that 318Running <c>lintool</c> will produce a nicely formatted list of checks and results that
307 it performs. 319it performs.
308 </p> 320</p>
309 <pre> 321<pre>
310hebron portage # <i>lintool app-crypt/gnupg/gnupg-1.0.7.ebuild 322hebron portage # <i>lintool app-crypt/gnupg/gnupg-1.0.7.ebuild
311app-crypt/gnupg/gnupg-1.0.7.ebuild : Not OK 323app-crypt/gnupg/gnupg-1.0.7.ebuild : Not OK
312 324
313------------------------------------------------------------------------------- 325-------------------------------------------------------------------------------
314 Summary for all 1 ebuild(s) checked # errors/warns 326 Summary for all 1 ebuild(s) checked # errors/warns
315 ------------------------------------------------------------------------------- 327 -------------------------------------------------------------------------------
316 Testing for illegal space characters, weird backslash formatting : 0 / 0 328 Testing for illegal space characters, weird backslash formatting : 0 / 0
317 Testing for malformed headers : 0 / 1 329 Testing for malformed headers : 0 / 1
318 Testing for occurence of deprecated try : 0 / 0 330 Testing for occurence of deprecated try : 0 / 0
319 Testing for superfluous A=${P}.tar.gz : 0 / 0 331 Testing for superfluous A=${P}.tar.gz : 0 / 0
320 Testing for empty DEPEND : 0 / 0 332 Testing for empty DEPEND : 0 / 0
321 Testing for empty HOMEPAGE : 0 / 0 333 Testing for empty HOMEPAGE : 0 / 0
322 Testing for empty DESCRIPTION : 0 / 0 334 Testing for empty DESCRIPTION : 0 / 0
323 Testing for presence of env vars : 1 / 1 335 Testing for presence of env vars : 1 / 1
324 Testing for sane USE flag usage : 0 / 0 336 Testing for sane USE flag usage : 0 / 0
325 337
326 Total number of ebuilds with errors : 1 (100%) 338 Total number of ebuilds with errors : 1 (100%)
327 Total number of ebuilds with warnings : 1 (100%) 339 Total number of ebuilds with warnings : 1 (100%)
328 </i> </pre> 340</i></pre>
329 <p> 341<p>
330 The first line summarizes whether the ebuild is okay or not. In the case of 342The first line summarizes whether the ebuild is okay or not. In the case of
331 <c>gnupg-1.0.7.ebuild</c>, it's not. Reading through the list of checks, we can see 343<c>gnupg-1.0.7.ebuild</c>, it's not. Reading through the list of checks, we can see
332 that it got a warning for malformed headers and an error for presence of env 344that it got a warning for malformed headers and an error for presence of env
333 vars. 345vars.
334 </p> 346</p>
335 347
336 <p> 348<p>
337 Looking at the ebuild, I see that it is missing a couple of required 349Looking at the ebuild, I see that it is missing a couple of required
338 env vars (LICENSE and RDEPEND). Adding those fixes the error. But there are 350env vars (LICENSE and RDEPEND). Adding those fixes the error. But there are
339 still two warnings -- one for malformed headers and one for env vars. To help 351still two warnings -- one for malformed headers and one for env vars. To help
340 me find those, I can run <c>lintool</c> again with <c>--show-details</c> 352me find those, I can run <c>lintool</c> again with <c>--show-details</c>
341 </p> 353</p>
342 <pre> 354<pre>
343hebron gnupg # <i>lintool --show-details ./gnupg-1.0.7.ebuild 355hebron gnupg # <i>lintool --show-details ./gnupg-1.0.7.ebuild
344 356
345------------------------------------------------------------------------------- 357-------------------------------------------------------------------------------
346# Some data cut for brevity.... 358# Some data cut for brevity....
347 359
348 Status for ./gnupg-1.0.7.ebuild 360 Status for ./gnupg-1.0.7.ebuild
349* Testing for malformed headers : passed 361* Testing for malformed headers : passed
350- (W) Has illegal or suspect headers: 362- (W) Has illegal or suspect headers:
351 |Suspect copyright year: # Copyright 1999-2000 Gentoo Technologies, Inc. 363 |Suspect copyright year: # Copyright 1999-2000 Gentoo Technologies, Inc.
352 * Testing for occurence of deprecated try : passed 364 * Testing for occurence of deprecated try : passed
353 * Testing for superfluous A=${P}.tar.gz : passed 365 * Testing for superfluous A=${P}.tar.gz : passed
354 * Testing for empty DEPEND : passed 366 * Testing for empty DEPEND : passed
355 * Testing for empty HOMEPAGE : passed 367 * Testing for empty HOMEPAGE : passed
356 * Testing for empty DESCRIPTION : passed 368 * Testing for empty DESCRIPTION : passed
357 * Testing for presence of env vars : passed 369 * Testing for presence of env vars : passed
361 ------------------------------------------------------------------------------- 373 -------------------------------------------------------------------------------
362 Summary for all 1 ebuild(s) checked # errors/warns 374 Summary for all 1 ebuild(s) checked # errors/warns
363 ------------------------------------------------------------------------------- 375 -------------------------------------------------------------------------------
364 Testing for illegal space characters, weird backslash formatting : 0 / 0 376 Testing for illegal space characters, weird backslash formatting : 0 / 0
365 Testing for malformed headers : 0 / 1 377 Testing for malformed headers : 0 / 1
366 Testing for occurence of deprecated try : 0 / 0 378 Testing for occurence of deprecated try : 0 / 0
367 Testing for superfluous A=${P}.tar.gz : 0 / 0 379 Testing for superfluous A=${P}.tar.gz : 0 / 0
368 Testing for empty DEPEND : 0 / 0 380 Testing for empty DEPEND : 0 / 0
369 Testing for empty HOMEPAGE : 0 / 0 381 Testing for empty HOMEPAGE : 0 / 0
370 Testing for empty DESCRIPTION : 0 / 0 382 Testing for empty DESCRIPTION : 0 / 0
371 Testing for presence of env vars : 0 / 1 383 Testing for presence of env vars : 0 / 1
372 Testing for sane USE flag usage : 0 / 0 384 Testing for sane USE flag usage : 0 / 0
373 385
374 Total number of ebuilds with errors : 0 (0%) 386 Total number of ebuilds with errors : 0 (0%)
375 Total number of ebuilds with warnings : 1 (100%) 387 Total number of ebuilds with warnings : 1 (100%)
376 </i> </pre> 388</i></pre>
377 <p>Now I can see that the year in the ebuild is probably wrong, and that it is 389<p>Now I can see that the year in the ebuild is probably wrong, and that it is
378 missing the SLOT variable. Fixing those eliminates all warnings.</p> 390missing the SLOT variable. Fixing those eliminates all warnings.</p>
379 391
380 </body> 392</body>
381 </section> 393</section>
382</chapter> 394</chapter>
383<chapter> 395<chapter>
384 396
385 <title>epm</title> 397<title>epm</title>
386 <section> 398<section>
387 <title>Introduction</title> 399<title>Introduction</title>
388 <body> 400<body>
389 <p> 401<p>
390 <c>epm</c> is a package managing tool that clones Red Hat rpm commands. As it stands 402<c>epm</c> is a package managing tool that clones Red Hat rpm commands. As it stands
391 now, it does not offer all of the features of rpm, but it offers some of the more 403now, it does not offer all of the features of rpm, but it offers some of the more
392 powerful rpm query options. 404powerful rpm query options.
393 </p> 405</p>
394 406
395 <p> 407<p>
396 It also handles removing packages, which is not covered here. Use <c>epm --help</c> 408It also handles removing packages, which is not covered here. Use <c>epm --help</c>
397 to learn more about deleting packages with <c>epm</c>. 409to learn more about deleting packages with <c>epm</c>.
398 </p> 410</p>
399 </body> 411</body>
400 </section> 412</section>
401 <section> 413<section>
402 414
403 <title>Querying Packages with epm</title> 415<title>Querying Packages with epm</title>
404 <body> 416<body>
405 <p> 417<p>
406 <c>epm</c> functions with essentially the same command line functions as Red Hat's 418<c>epm</c> functions with essentially the same command line functions as Red Hat's
407 rpm. <c>epm -qa</c> lists all packages installed. <c>epm -ql</c> lists all the 419rpm. <c>epm -qa</c> lists all packages installed. <c>epm -ql</c> lists all the
408 files from a specific ebuild. 420files from a specific ebuild.
409 </p> 421</p>
410 422
411 <pre> 423<pre>
412hebron etc # <i>epm -ql ethereal 424hebron etc # <i>epm -ql ethereal
413/usr/lib/ethereal/plugins/0.8.20/gryphon.so 425/usr/lib/ethereal/plugins/0.8.20/gryphon.so
414/usr/lib/ethereal/plugins/0.8.20/gryphon.la 426/usr/lib/ethereal/plugins/0.8.20/gryphon.la
415/usr/lib/ethereal/plugins/0.8.20/gryphon.a 427/usr/lib/ethereal/plugins/0.8.20/gryphon.a
416/usr/lib/ethereal/plugins/0.8.20/mgcp.so 428/usr/lib/ethereal/plugins/0.8.20/mgcp.so
417/usr/lib/ethereal/plugins/0.8.20/mgcp.la 429/usr/lib/ethereal/plugins/0.8.20/mgcp.la
418/usr/lib/ethereal/plugins/0.8.20/mgcp.a 430/usr/lib/ethereal/plugins/0.8.20/mgcp.a
419/usr/lib/ethereal/plugins/0.8.20/cosnaming.so 431/usr/lib/ethereal/plugins/0.8.20/cosnaming.so
420/usr/lib/ethereal/plugins/0.8.20/cosnaming.la 432/usr/lib/ethereal/plugins/0.8.20/cosnaming.la
421/usr/lib/ethereal/plugins/0.8.20/cosnaming.a 433/usr/lib/ethereal/plugins/0.8.20/cosnaming.a
422/usr/lib/ethereal/plugins/0.8.20/coseventcomm.so 434/usr/lib/ethereal/plugins/0.8.20/coseventcomm.so
423/usr/lib/ethereal/plugins/0.8.20/coseventcomm.la 435/usr/lib/ethereal/plugins/0.8.20/coseventcomm.la
424/usr/lib/ethereal/plugins/0.8.20/coseventcomm.a 436/usr/lib/ethereal/plugins/0.8.20/coseventcomm.a
425/usr/bin/ethereal 437/usr/bin/ethereal
426/usr/bin/editcap 438/usr/bin/editcap
438/usr/share/doc/ethereal-0.8.20/COPYING.gz 450/usr/share/doc/ethereal-0.8.20/COPYING.gz
439/usr/share/doc/ethereal-0.8.20/NEWS.gz 451/usr/share/doc/ethereal-0.8.20/NEWS.gz
440/usr/share/doc/ethereal-0.8.20/ChangeLog.gz 452/usr/share/doc/ethereal-0.8.20/ChangeLog.gz
441/usr/share/doc/ethereal-0.8.20/README.gz 453/usr/share/doc/ethereal-0.8.20/README.gz
442/usr/share/doc/ethereal-0.8.20/INSTALL.configure.gz 454/usr/share/doc/ethereal-0.8.20/INSTALL.configure.gz
443/usr/share/doc/ethereal-0.8.20/TODO.gz 455/usr/share/doc/ethereal-0.8.20/TODO.gz
444/usr/share/doc/ethereal-0.8.20/README.aix.gz 456/usr/share/doc/ethereal-0.8.20/README.aix.gz
445/usr/share/doc/ethereal-0.8.20/README.bsd.gz 457/usr/share/doc/ethereal-0.8.20/README.bsd.gz
446/usr/share/doc/ethereal-0.8.20/README.hpux.gz 458/usr/share/doc/ethereal-0.8.20/README.hpux.gz
447/usr/share/doc/ethereal-0.8.20/README.irix.gz 459/usr/share/doc/ethereal-0.8.20/README.irix.gz
448/usr/share/doc/ethereal-0.8.20/README.linux.gz 460/usr/share/doc/ethereal-0.8.20/README.linux.gz
449/usr/share/doc/ethereal-0.8.20/README.tru64.gz 461/usr/share/doc/ethereal-0.8.20/README.tru64.gz
450/usr/share/doc/ethereal-0.8.20/README.win32.gz 462/usr/share/doc/ethereal-0.8.20/README.win32.gz
451/usr/share/doc/ethereal-0.8.20/README.vmware.gz 463/usr/share/doc/ethereal-0.8.20/README.vmware.gz
452/etc/ethereal/manuf </i> 464/etc/ethereal/manuf </i>
453 </pre> 465</pre>
454 <p> 466<p>
455 <c>epm</c> offers a few advanced query options that are not present in <c>qpkg</c> 467<c>epm</c> offers a few advanced query options that are not present in <c>qpkg</c>
456at the 468at the
457 time of this writing. For instance, it can query for just configuration files or 469time of this writing. For instance, it can query for just configuration files or
458just documentation 470just documentation
459 files. 471files.
460 </p> 472</p>
461 <pre> 473<pre>
462 474
463hebron etc # <i>epm -qc ethereal 475hebron etc # <i>epm -qc ethereal
464/etc/ethereal/manuf 476/etc/ethereal/manuf
465 477
466hebron etc # epm -qd ethereal 478hebron etc # epm -qd ethereal
467/usr/share/man/man1/idl2eth.1.gz 479/usr/share/man/man1/idl2eth.1.gz
468/usr/share/man/man1/tethereal.1.gz 480/usr/share/man/man1/tethereal.1.gz
469/usr/share/man/man1/text2pcap.1.gz 481/usr/share/man/man1/text2pcap.1.gz
470/usr/share/man/man1/editcap.1.gz 482/usr/share/man/man1/editcap.1.gz
471/usr/share/man/man1/ethereal.1.gz 483/usr/share/man/man1/ethereal.1.gz
472/usr/share/man/man1/mergecap.1.gz 484/usr/share/man/man1/mergecap.1.gz
473/usr/share/doc/ethereal-0.8.20/AUTHORS.gz 485/usr/share/doc/ethereal-0.8.20/AUTHORS.gz
474/usr/share/doc/ethereal-0.8.20/COPYING.gz 486/usr/share/doc/ethereal-0.8.20/COPYING.gz
475/usr/share/doc/ethereal-0.8.20/NEWS.gz 487/usr/share/doc/ethereal-0.8.20/NEWS.gz
476/usr/share/doc/ethereal-0.8.20/ChangeLog.gz 488/usr/share/doc/ethereal-0.8.20/ChangeLog.gz
477/usr/share/doc/ethereal-0.8.20/README.gz 489/usr/share/doc/ethereal-0.8.20/README.gz
478/usr/share/doc/ethereal-0.8.20/INSTALL.configure.gz 490/usr/share/doc/ethereal-0.8.20/INSTALL.configure.gz
479/usr/share/doc/ethereal-0.8.20/TODO.gz 491/usr/share/doc/ethereal-0.8.20/TODO.gz
480/usr/share/doc/ethereal-0.8.20/README.aix.gz 492/usr/share/doc/ethereal-0.8.20/README.aix.gz
481/usr/share/doc/ethereal-0.8.20/README.bsd.gz 493/usr/share/doc/ethereal-0.8.20/README.bsd.gz
482/usr/share/doc/ethereal-0.8.20/README.hpux.gz 494/usr/share/doc/ethereal-0.8.20/README.hpux.gz
483/usr/share/doc/ethereal-0.8.20/README.irix.gz 495/usr/share/doc/ethereal-0.8.20/README.irix.gz
484/usr/share/doc/ethereal-0.8.20/README.linux.gz 496/usr/share/doc/ethereal-0.8.20/README.linux.gz
485/usr/share/doc/ethereal-0.8.20/README.tru64.gz 497/usr/share/doc/ethereal-0.8.20/README.tru64.gz
486/usr/share/doc/ethereal-0.8.20/README.win32.gz 498/usr/share/doc/ethereal-0.8.20/README.win32.gz
487/usr/share/doc/ethereal-0.8.20/README.vmware.gz 499/usr/share/doc/ethereal-0.8.20/README.vmware.gz
488 </i> </pre> 500</i></pre>
489 <note> 501<note>
490 <c>epm --help</c> lists the options that epm <e>will eventually</e> support. Note, 502<c>epm --help</c> lists the options that epm <e>will eventually</e> support. Note,
491however, that 503however, that
492 options prefixed with asterisks (*) are not yet implemented. 504options prefixed with asterisks (*) are not yet implemented.
493 </note> 505</note>
494 </body> 506</body>
495 </section> 507</section>
496</chapter> 508</chapter>
497 509
498<chapter> 510<chapter>
499 <title>Others</title> 511<title>Others</title>
500 <section> 512<section>
501 <title>etc-update</title> 513<title>etc-update</title>
502 <body> 514<body>
503 <!-- 515<!--
504 - Feel free to add more to this. It probably deserves its own chapter, but I don't 516- Feel free to add more to this. It probably deserves its own chapter, but I don't
505 - use it, so I can't really write much about it. 517- use it, so I can't really write much about it.
506 --> 518-->
507 <p> 519<p>
508 <c>etc-update</c> provides a convenient alternative to updating configuration 520<c>etc-update</c> provides a convenient alternative to updating configuration
509 files by hand. After running an emerge that changes configuration files, you 521files by hand. After running an emerge that changes configuration files, you
510 can run etc-update to step you through the process of updating all impacted 522can run etc-update to step you through the process of updating all impacted
511 configuration files. 523configuration files.
512 </p> 524</p>
513 525
514 <p> 526<p>
515 It is driven by a menu-based interface and includes the ability to view and merge 527It is driven by a menu-based interface and includes the ability to view and merge
516 in config files before deciding what to do. 528in config files before deciding what to do.
517 </p> 529</p>
518 </body> 530</body>
519 </section> 531</section>
520 <section> 532<section>
521 <title>gentool</title> 533<title>gentool</title>
522 <body> 534<body>
523 <p>gentool is a collective name for several small scripts that analyze ebuild 535<p>gentool is a collective name for several small scripts that analyze ebuild
524statistics. 536statistics.
525 For instance, gentool-total-coverage prints a list of email addresses and the 537For instance, gentool-total-coverage prints a list of email addresses and the
526 number of ebuilds each has in the portage tree. 538number of ebuilds each has in the portage tree.
527 </p> 539</p>
528 540
529 </body> 541</body>
530 </section> 542</section>
531 <section> 543<section>
532 <title>pkg-size</title> 544<title>pkg-size</title>
533 <body> 545<body>
534 <p><c>pkg-size</c> prints the size of the installed files in a given package. 546<p><c>pkg-size</c> prints the size of the installed files in a given package.
535 </p> 547</p>
536 <pre> 548<pre>
537 549
538hebron portage # <i>pkg-size nmap 550hebron portage # <i>pkg-size nmap
539net-analyzer/nmap-2.54_beta24-r1 897024 (876KB) </i> 551net-analyzer/nmap-2.54_beta24-r1 897024 (876KB) </i>
540 </pre> 552</pre>
541 </body> 553</body>
542 </section> 554</section>
543 <section> 555<section>
544 <title>mkebuild</title> 556<title>mkebuild</title>
545 <body> 557<body>
546 <p><c>mkebuild</c> simplifies the process of creating a new ebuild by automating as 558<p><c>mkebuild</c> simplifies the process of creating a new ebuild by automating as
547much 559much
548 of the process as possible. Running <c>mkebuild [filename]</c> will create an 560of the process as possible. Running <c>mkebuild [filename]</c> will create an
549 ebuild for that file. the file should be an archive of some kind. As it works, it 561ebuild for that file. the file should be an archive of some kind. As it works, it
550 will provide 562will provide
551 feedback about changes you may need to make. 563feedback about changes you may need to make.
552 </p> 564</p>
553 565
554 </body> 566</body>
555 </section> 567</section>
556 <section> 568<section>
557 <title>emerge-webrsync</title> 569<title>emerge-webrsync</title>
558 <body> 570<body>
559 <!-- Can't find any documentation on this anywhere... not even a comment in the 571<!-- Can't find any documentation on this anywhere... not even a comment in the
560code. --> 572code. -->
561 <p>Downloads the daily snapshot over HTTP with wget, and (optionally) syncs with 573<p>Downloads the daily snapshot over HTTP with wget, and (optionally) syncs with
562portage. 574portage.
563 </p> 575</p>
564 </body> 576</body>
565 577
566 </section> 578</section>
567</chapter> 579</chapter>
568</guide> 580</guide>
569 581

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.9

  ViewVC Help
Powered by ViewVC 1.1.20