Benno Schulenberg writes in #136818: tweak the description of --info
[portage.git] / man / emerge.1
1 .TH "EMERGE" "1" "Dec 2005" "Portage 2.1" "Portage"
2 .SH "NAME"
3 emerge \- Command\-line interface to the Portage system
4 .SH "SYNOPSIS"
5 .TP
6 .BR emerge
7 [\fIoptions\fR] [\fIaction\fR] [\fIebuild\fR | \fItbz2file\fR | \fIset\fR | \fIdependency\fR] ...
8 .TP
9 .BR emerge
10 \fB\-\-sync\fR | \fB\-\-info\fR | \fB\-\-version\fR
11 .TP
12 .BR emerge
13 \fB\-\-search\fR \fIsomestring\fR
14 .TP
15 .BR emerge
16 \fB\-\-help\fR [\fBsystem\fR | \fBconfig\fR | \fBsync\fR]
17 .SH "DESCRIPTION"
18 \fBemerge\fR is the definitive command\-line interface to the Portage
19 system.  It is primarily used for installing packages, and \fBemerge\fR
20 can automatically handle any dependencies that the desired package has.
21 \fBemerge\fR can also update the \fBportage tree\fR, making new and
22 updated packages available.  \fBemerge\fR gracefully handles updating
23 installed packages to newer releases as well.  It handles both source
24 and binary packages, and it can be used to create binary packages for
25 distribution.
26 .SH "EBUILDS, TBZ2S, SETS AND DEPENDENCIES"
27 \fBemerge\fR primarily installs packages.  You can specify
28 packages to install in one of four main ways: an \fIebuild\fR,
29 a \fItbz2file\fR, a \fIset\fR, or a \fIdependency\fR.
30 .LP
31 .TP
32 .BR ebuild
33 An \fIebuild\fR must be, at a minimum, a valid Portage
34 package directory name without a version or category, such as
35 \fBportage\fR or \fBpython\fR.
36 Both categories and version numbers may be used in addition, such
37 as \fBsys\-apps/portage\fR or \fB=python\-2.2.1\-r2\fR.
38 \fBemerge\fR
39 ignores a trailing slash so that filename completion can be used.
40 The \fIebuild\fR may also be an actual filename, such as
41 \fB/usr/portage/app\-admin/python/python\-2.2.1\-r2.ebuild\fR.
42 WARNING: The implementation of \fBemerge /path/to/ebuild\fR is broken and so 
43 this syntax shouldn't be used.
44 .TP
45 .BR tbz2file
46 A \fItbz2file\fR must be a valid .tbz2 created with \fBebuild
47 <package>\-<version>.ebuild package\fR or \fBemerge \-\-buildpkg 
48 [category/]<package>\fR or \fBquickpkg /var/db/pkg/<category>/<package>\fR.
49 .TP
50 .BR set
51 A \fIset\fR is a convenient shorthand for a large group of
52 packages.  Two sets are currently supported: \fBsystem\fR
53 and \fBworld\fR.  \fBsystem\fR refers to a set of packages
54 deemed necessary for your system to run properly.  \fBworld\fR
55 contains all the packages in \fBsystem\fR, plus any
56 other packages listed in \fB/var/lib/portage/world\fR.  [See
57 \fBFILES\fR below for more information.]  Note that a \fIset\fR
58 is generally used in conjunction with \fB\-\-update\fR.
59 .TP
60 .BR dependency
61 A \fIdependency\fR describes bounds on a package that you wish to install.  
62 \fISee portage(5) for the details on these 'atoms'.\fR  For example, 
63 \fB>=dev\-lang/python\-2.2.1\-r2\fR matches the latest available version of 
64 Python greater than or equal to 2.2.1\-r2.  Similarly, 
65 \fB<dev\-lang/python\-2.0\fR matches the latest available version of Python 
66 before 2.0.  Note that in many shells you will need to escape characters such 
67 as '<' and '='; use single\- or double\-quotes around the \fIdependency\fR 
68 to get around escaping problems.
69 .SH "ACTIONS"
70 .TP
71 .BR "No action"
72 If no action is specified, the action is to merge in the specified
73 packages, satisfying any dependencies that they may have.  The
74 arguments can be \fIebuilds\fR, \fItbz2s\fR, \fIsets\fR, or
75 \fIdependencies\fR.  \fBNote that you need to use the \-\-usepkg 
76 option if you want to install a tbz2\fR.  The packages are added
77 to the \fBworld\fR file at the end, so that they are considered for
78 later updating.  
79 .TP
80 .BR "\-\-clean " (\fB\-c\fR)
81 Cleans the system by removing packages that will not affect the
82 functionality of the system.  The arguments can be \fIebuilds\fR,
83 \fIsets\fR, or \fIdependencies\fR.  For example, \fBemerge
84 clean binutils\fR cleans out old versions of binutils;
85 \fBemerge \-\-clean net\-www/mozilla\-0.9.9\-r2\fR cleans out that
86 specific version of Mozilla.  This is generally safe to use.
87 \fBNote that\fR \-\-clean \fBdoes not remove unslotted packages.\fR
88 .TP
89 .BR "\-\-config "
90 Run package specific actions needed to be executed after the emerge process 
91 has completed.  This usually entails configuration file setup or other similar 
92 setups that the user may wish to run.
93 .TP
94 .BR \-\-depclean
95 Determines all packages installed on the system that have no 
96 explicit reason for being there.  \fBemerge\fR generates a list 
97 of packages which it expects to be installed by checking the 
98 \fBsystem\fR package list and the \fBworld\fR file.  It then 
99 compares that list to the list of packages which are actually 
100 installed; the differences are listed as unnecessary packages 
101 and then unmerged after a short timeout.  \fBWARNING: Removing some 
102 packages may cause packages which link to the removed package 
103 to stop working and complain about missing libraries.\fR 
104 Re\-emerge the complaining package to fix this issue.
105 \fBNote that changes in USE flags can drastically affect the 
106 output of \-\-depclean.\fR
107 .TP
108 .BR "\-\-help " (\fB\-h\fR)
109 Displays help information for emerge.  Adding one of the additional
110 arguments listed above will give you more specific help information
111 on that subject.  The internal \fBemerge\fR help documentation is
112 updated more frequently than this man page; check it out if you
113 are having problems that this man page does not help resolve.
114 .TP
115 .BR \-\-info
116 Produces a list of information to include in bug reports which aids the 
117 developers when fixing the reported problem.  \fBPlease include this 
118 information when submitting a bug report.\fR  Expanded output can be obtained 
119 with the \fI\-\-verbose\fR option.
120 .TP
121 .BR \-\-metadata
122 Causes portage to process all the metacache files as is normally done on the 
123 tail end of an rsync update using \fBemerge \-\-sync\fR.  The processing 
124 creates the cache database that portage uses for pre\-parsed lookups of 
125 package data.
126 .TP
127 .BR "\-\-prune " (\fB\-P\fR)
128 \fBWARNING: This action can remove important packages!\fR  Tries to remove 
129 all but the last version installed.  Since the command currently does not 
130 handle multiple versions of the same package properly, beware!  This does not 
131 check dependencies, so it may also remove packages necessary for the proper 
132 operation of your system.  \fBUse\fR \-\-clean \fBinstead unless you really 
133 know what you're doing\fR.  Its arguments can be \fIebuilds\fR, 
134 \fIsets\fR, or \fIdependencies\fR \-\- see \fB\-\-clean\fR above for 
135 examples.  You have been warned!
136 .TP
137 .BR \-\-regen
138 Causes portage to check and update the dependency cache of all ebuilds in the 
139 portage tree.  The cache is used to speed up searches and the building of 
140 dependency trees.  This command is not recommended for rsync users as rsync 
141 updates the cache using server\-side caches.  If you do not know the 
142 differences between a 'rsync user' and some other user, then you are a 'rsync 
143 user' :).  Rsync users should simply run \fBemerge \-\-sync\fR to regenerate 
144 the cache.  After a portage update, rsync users may find it convenient to run 
145 \fBemerge \-\-metadata\fR to rebuild the cache as portage does at the end of 
146 a sync operation.
147 .TP
148 .BR "\-\-resume"
149 Resumes the last merge operation.  Please note that this operation
150 will only return an error on failure.  If there is nothing for portage
151 to do, then portage will exit with a message and a success condition.
152 .TP
153 .BR "\-\-search " (\fB\-s\fR)
154 Searches for matches of the supplied string in the portage tree.
155 The \-\-search string is a regular expression.  For example, \fBemerge
156 \-\-search "^kde"\fR searches for any package that starts with "kde";
157 \fBemerge \-\-search "gcc$"\fR searches for any package that ends with
158 "gcc"; \fBemerge \-\-search "office"\fR searches for any package that
159 contains the word "office".  If you want to search the package
160 descriptions as well, use the \fB\-\-searchdesc\fR action.
161 .TP
162 .BR "\-\-searchdesc " (\fB\-S\fR)
163 Matches the search string against the description field as well as
164 the package name.  \fBTake caution\fR as the descriptions are also
165 matched as regular expressions.
166 .TP
167 .BR \-\-sync
168 Initiates a portage tree update with one of the rsync.gentoo.org
169 mirrors.  \fBNote that any changes you have made to the portage
170 tree will be erased\fR.  Except for special circumstances, 
171 this uses \fBrsync\fR to do the update.  See \fBmake.conf\fR(5)'s 
172 description of PORTDIR_OVERLAY for a method to avoid deletions.
173 .TP
174 .BR "\-\-unmerge " (\fB\-C\fR)
175 \fBWARNING: This action can remove important packages!\fR Removes
176 all matching packages.  This does no checking of dependencies, so
177 it may remove packages necessary for the proper operation of your
178 system.  Its arguments can be \fIebuilds\fR, \fIsets\fR, or
179 \fIdependencies\fR \-\- see \fB\-\-clean\fR above for examples.
180 .TP
181 .BR "\-\-update " (\fB\-u\fR)
182 Updates packages to the best version available, which may not always be the 
183 highest version number due to masking for testing and development.  This will 
184 also update direct dependencies which may not be what you want.  In general, 
185 use this option only in combination with the world or system target.
186 .TP
187 .BR "\-\-version " (\fB\-V\fR)
188 Displays the version number of \fBemerge\fR.
189 .SH "OPTIONS"
190 .TP
191 .BR "\-\-alphabetical "
192 When displaying USE and other flag output, combines the enabled and
193 disabled lists into one list and sorts the whole list alphabetically.
194 .TP
195 .BR "\-\-ask " (\fB\-a\fR)
196 Before performing the merge, display what ebuilds and tbz2s will be installed, 
197 in the same format as when using \fB\-\-pretend\fR; then ask whether to 
198 continue with the merge or abort.  Using \fB\-\-ask\fR is more efficient than 
199 using \fB\-\-pretend\fR and then executing the same command without 
200 \fB\-\-pretend\fR, as dependencies will only need to be calculated once.
201 \fBWARNING: If the "Enter" key is pressed at the prompt (with no other input),
202 it is interpreted as acceptance of the first choice.  Note that the input
203 buffer is not cleared prior to the prompt, so an accidental press of the
204 "Enter" key at any time prior to the prompt will be interpreted as a choice!\fR
205 .TP
206 .BR "\-\-buildpkg " (\fB\-b\fR)
207 Tells emerge to build binary packages for all ebuilds processed in
208 addition to actually merging the packages.  Useful for maintainers
209 or if you administrate multiple Gentoo Linux systems (build once,
210 emerge tbz2s everywhere).  The package will be created in the
211 \fI${PKGDIR}/All\fR directory.  An alternative for already\-merged
212 packages is to use \fBquickpkg\fR which creates a tbz2 from the
213 live filesystem.
214 .TP
215 .BR "\-\-buildpkgonly " (\fB\-B\fR)
216 Creates binary packages for all ebuilds processed without actually
217 merging the packages.  This comes with the caveat that all build-time 
218 dependencies must already be emerged on the system.
219 .TP
220 .BR "\-\-changelog " (\fB\-l\fR)
221 Use this in conjunction with the \fB\-\-pretend\fR option.  This will
222 show the ChangeLog entries for all the packages that will be upgraded.
223 .TP
224 .BR "\-\-columns"
225 Used alongside \fB\-\-pretend\fR to cause the package name, new version, 
226 and old version to be displayed in an aligned format for easy cut\-n\-paste.
227 .TP
228 .BR "\-\-debug " (\fB\-d\fR)
229 Tells emerge to run the emerge command in \fB\-\-debug\fR mode.  In this
230 mode the bash build environment will run with the \-x option,
231 causing it to output verbose debugging information to stdout.
232 \fB\-\-debug\fR is great for finding bash syntax errors.
233 .TP
234 .BR "\-\-deep " (\fB\-D\fR)
235 When used in conjunction with \fB\-\-update\fR, this flag forces
236 \fBemerge\fR to consider the entire dependency tree of packages,
237 instead of checking only the immediate dependencies of the packages.
238 As an example, this catches updates in libraries that are not directly
239 listed in the dependencies of a package.
240 .TP
241 .BR "\-\-emptytree " (\fB\-e\fR)
242 Reinstalls all world packages and their dependencies to the current USE 
243 specifications while differing from the installed set of packages as 
244 little as possible.  You should run with \fB\-\-pretend\fR first to make 
245 sure the result is what you expect.
246 .TP
247 .BR "\-\-fetchonly " (\fB\-f\fR)
248 Instead of doing any package building, just perform fetches for all
249 packages (the main package as well as all dependencies).
250 .TP
251 .BR "\-\-fetch\-all\-uri " (\fB\-F\fR)
252 Instead of doing any package building, just perform fetches for all
253 packages (the main package as well as all dependencies), grabbing all potential
254 files.
255 .TP
256 .BR "\-\-getbinpkg " (\fB\-g\fR)
257 Using the server and location defined in \fIPORTAGE_BINHOST\fR (see 
258 \fBmake.conf\fR(5)), portage will download the information from each binary 
259 package found and it will use that information to help build the dependency 
260 list.  This option implies \fB\-k\fR.  (Use \fB\-gK\fR for binary\-only 
261 merging.)
262 .TP
263 .BR "\-\-getbinpkgonly " (\fB\-G\fR)
264 This option is identical to \fB\-g\fR, as above, except it will not use ANY 
265 information from the local machine.  All binaries will be downloaded from the 
266 remote server without consulting packages existing in the local packages 
267 directory.
268 .TP
269 .BR "\-\-ignore-default-opts"
270 Causes \fIEMERGE_DEFAULT_OPTS\fR (see \fBmake.conf\fR(5)) to be ignored.
271 .TP
272 .BR "\-\-newuse " (\fB\-N\fR)
273 Tells emerge to include installed packages where USE flags have changed since 
274 compilation.  An asterisk marks when a USE flag has changed since the package 
275 was compiled.
276 .TP
277 .BR "\-\-nocolor "
278 Make sure none of the output from portage contains color.
279 .TP
280 .BR "\-\-noconfmem"
281 Causes portage to disregard merge records indicating that a config file
282 inside of a \fBCONFIG_PROTECT\fR directory has been merged already.  Portage
283 will normally merge those files only once to prevent the user from
284 dealing with the same config multiple times.  This flag will cause the
285 file to always be merged.
286 .TP
287 .BR "\-\-nodeps " (\fB\-O\fR)
288 Merges specified packages without merging any dependencies.  Note that
289 the build may fail if the dependencies aren't satisfied.
290 .TP
291 .BR "\-\-noreplace " (\fB\-n\fR)
292 Skips the packages specified on the command\-line that have already
293 been installed.  Without this option, any packages, ebuilds, or deps
294 you specify on the command\-line *will* cause Portage to remerge
295 the package, even if it is already installed.  Note that Portage will
296 not remerge dependencies by default.
297 .TP
298 .BR "\-\-nospinner"
299 Disables the spinner for the session.  The spinner is active when the
300 terminal device is determined to be a TTY.  This flag disables it regardless.
301 .TP
302 .BR "\-\-oneshot " (\fB\-1\fR)
303 Emerge as normal, but do not add the packages to the world profile
304 for later updating.
305 .TP
306 .BR "\-\-onlydeps " (\fB\-o\fR)
307 Only merge (or pretend to merge) the dependencies of the packages
308 specified, not the packages themselves.
309 .TP
310 .BR "\-\-pretend " (\fB\-p\fR)
311 Instead of actually performing the merge, simply display what *would*
312 have been installed if \fB\-\-pretend\fR weren't used.  Using \fB\-\-pretend\fR
313 is strongly recommended before installing an unfamiliar package.  In
314 the printout:
315 .br 
316  
317 .br 
318 \fIN\fR = new (not yet installed)
319 .br 
320 \fIS\fR = new SLOT installation (side-by-side versions) 
321 .br 
322 \fIU\fR = updating (to another version)
323 .br 
324 \fID\fR = downgrading (best version seems lower)
325 .br 
326 \fIR\fR = replacing (remerging same version))
327 .br 
328 \fIF\fR = fetch restricted (must be manually downloaded)
329 .br 
330 \fIf\fR = fetch restricted (already downloaded)
331 .br 
332 \fIB\fR = blocked by an already installed package
333 .TP
334 .BR "\-\-quiet " (\fB\-q\fR)
335 Results may vary, but the general outcome is a reduced or condensed
336 output from portage's displays.
337 .TP
338 .BR "\-\-skipfirst"
339 This option is only valid when used with \fB\-\-resume\fR.  It removes the 
340 first package in the resume list so that a merge may continue in the presence 
341 of an uncorrectable or inconsequential error.  This should only be used in 
342 cases where skipping the package will not result in failed dependencies.
343 .TP
344 .BR "\-\-tree " (\fB\-t\fR)
345 Shows the dependency tree for the given target by indenting dependencies.
346 This is only really useful in combination with \fB\-\-emptytree\fR or 
347 \fB\-\-update\fR and \fB\-\-deep\fR.
348 .TP
349 .BR "\-\-usepkg " (\fB\-k\fR) 
350 Tells emerge to use binary packages (from $PKGDIR) if they are available, thus 
351 possibly avoiding some time\-consuming compiles.  This option is useful for CD 
352 installs; you can export PKGDIR=/mnt/cdrom/packages and then use this option to 
353 have emerge "pull" binary packages from the CD in order to satisfy dependencies.
354 .TP
355 .BR "\-\-usepkgonly " (\fB\-K\fR)
356 Tells emerge to only use binary packages (from $PKGDIR).  All the binary 
357 packages must be available at the time of dependency calculation or emerge 
358 will simply abort.  Portage does not use $PORTDIR when calculating dependency 
359 information so all masking information is ignored.
360 .TP
361 .BR "\-\-verbose " (\fB\-v\fR)
362 Tell emerge to run in verbose mode.  Currently this flag causes emerge to print 
363 out GNU info errors, if any, and to show the USE flags that will be used for 
364 each package when pretending.
365 .SH "ENVIRONMENT OPTIONS"
366 .TP
367 \fBROOT\fR = \fI[path]\fR
368 Use \fBROOT\fR to specify the target root filesystem to be used for
369 merging packages or ebuilds.
370 .br
371 Defaults to /.
372 .TP
373 \fBPORTAGE_CONFIGROOT\fR = \fI[path]\fR
374 Use \fBPORTAGE_CONFIGROOT\fR to specify the location for various portage 
375 configuration files
376 (see \fBFILES\fR for a detailed list).
377 .br
378 Defaults to /.
379 .SH "OUTPUT"
380 When utilizing \fBemerge\fR with the \fB\-\-pretend\fR and \fB\-\-verbose\fR 
381 flags, the output may be a little hard to understand at first.  This section
382 explains the abbreviations.
383 .TP
384 .B [blocks B     ] app\-text/dos2unix (from pkg app\-text/hd2u\-0.8.0)
385 Dos2unix is Blocking hd2u from being emerged.  Blockers are defined when
386 two packages will clobber each others files, or otherwise cause some form
387 of breakage in your system.  However, blockers usually do not need to be
388 simultaneously emerged because they usually provide the same functionality.
389 .TP
390 .B [ebuild  N    ] app\-games/qstat\-25c
391 Qstat is New to your system, and will be emerged for the first time.
392 .TP
393 .B [ebuild  NS   ] dev-libs/glib-2.4.7
394 You already have a version of glib installed, but a 'new' version in 
395 a different SLOT is available.
396 .TP
397 .B [ebuild   R   ] sys\-apps/sed\-4.0.5
398 Sed 4.0.5 has already been emerged, but if you run the command, then 
399 portage will Re\-emerge the specified package (sed in this case).
400 .TP
401 .B [ebuild    F  ] media\-video/realplayer\-8\-r6
402 The realplayer package requires that you Fetch the sources manually.  
403 When you attempt to emerge the package, if the sources are not found, 
404 then portage will halt and you will be provided with instructions on how 
405 to download the required files.
406 .TP
407 .B [ebuild    f  ] media\-video/realplayer\-8\-r6
408 The realplayer package's files are already downloaded.
409 .TP
410 .B [ebuild     U ] net\-fs/samba\-2.2.8_pre1 [2.2.7a]
411 Samba 2.2.7a has already been emerged and can be Updated to version 
412 2.2.8_pre1.
413 .TP
414 .B [ebuild     UD] media\-libs/libgd\-1.8.4 [2.0.11]
415 Libgd 2.0.11 is already emerged, but if you run the command, then 
416 portage will Downgrade to version 1.8.4 for you.
417 .br 
418 This may occur if a newer version of a package has been masked because it is
419 broken or it creates a security risk on your system and a fix has not been
420 released yet.
421 .br 
422 Another reason this may occur is if a package you are trying to emerge requires
423 an older version of a package in order to emerge successfully.  In this case,
424 libgd 2.x is incompatible with libgd 1.x.  This means that packages that were
425 created with libgd 1.x will not compile with 2.x and must downgrade libgd first
426 before they can emerge.
427 .TP
428 .B [ebuild     U ] sys\-devel/distcc\-2.16 [2.13\-r1] USE="ipv6* \-gtk \-qt%"
429 Here we see that the make.conf variable \fBUSE\fR affects how this package is
430 built.  In this example, ipv6 optional support is enabled and both gtk and qt
431 support are disabled.  The asterisk following ipv6 indicates that ipv6 support
432 was disabled the last time this packages was installed.  The percent sign
433 following qt indicates that the qt option has been added to the package since
434 it was last installed.
435 .br
436 \fB*Note:\fR Flags that haven't changed since the last install are only
437 displayed when you use the \fB\-\-pretend\fR and \fB\-\-verbose\fR options.
438 Using the \fB\-\-quiet\fR option will prevent all information from being
439 displayed.
440 .SH "NOTES"
441 You should almost always precede any package install or update attempt with a 
442 \fB\-\-pretend\fR install or update.  This lets you see how much will be 
443 done, and shows you any blocking packages that you will have to rectify.  
444 This goes doubly so for the \fBsystem\fR and \fBworld\fR sets, which can 
445 update a large number of packages if the portage tree has been particularly 
446 active.
447 .LP
448 You also want to typically use \fB\-\-update\fR, which ignores packages that 
449 are already fully updated but upgrades those that are not.
450 .LP
451 When you install a package with uninstalled dependencies and do
452 not explicitly state those dependencies in the list of parameters,
453 they will not be added to the world file.  If you want them to be
454 detected for world updates, make sure to explicitly list them as
455 parameters to \fBemerge\fR.
456 .LP
457 \fBUSE variables\fR may be specified on the command line to
458 override those specified in the default locations, letting you
459 avoid using some dependencies you may not want to have.  \fBUSE
460 flags specified on the command line are NOT remembered\fR.  For
461 example, \fBUSE="\-X \-gnome" emerge mc\fR will emerge mc with
462 those USE settings.  If you want those USE settings to be more 
463 permanent, you can put them in /etc/portage/package.use instead.
464 .LP
465 If \fBemerge \-\-update system\fR or \fBemerge \-\-update world\fR
466 fails with an error message, it may be that an ebuild uses some
467 newer feature not present in this version of \fBemerge\fR.  You
468 can use \fBemerge \-\-update portage\fR to upgrade to the lastest
469 version, which should support any necessary new features.
470 .SH "MASKED PACKAGES"
471 \fINOTE: Please use caution when using development packages.  Problems
472 and bugs resulting from misusing masked packages drains Gentoo
473 developer time.  Please be sure you are capable of handling any problems
474 that may ensue.\fR
475 .LP
476 Masks in \fBportage\fR provide three primary functions: they allow a
477 testing period where the packages can be used in live machines; they
478 prevent the use of a package when it will fail; and they mask existing
479 packages that are broken or could pose a security risk.  Masking can be
480 done by two methods: \fBpackage.mask\fR and \fBKEYWORDS\fR.  Read below
481 to find out how to unmask in either case.  Also note that if you give 
482 \fBemerge\fR an ebuild, then all forms of masking will be ignored and
483 \fBemerge\fR will attempt to emerge the package.
484 .TP
485 .BR package.mask
486 The \fBpackage.mask\fR file primarily blocks the use of packages that cause
487 problems or are known to have issues on different systems.  It resides in
488 \fI/usr/portage/profiles\fR.
489 .TP
490 .BR KEYWORDS
491 The \fBKEYWORDS\fR variable in an \fBebuild\fR file is also used for masking 
492 a package still in testing.  There are architecture\-specific keywords for 
493 each package that let \fBportage\fR know which systems are compatible with 
494 the package.  Packages which compile on an architecture, but have not been 
495 proven to be "stable", are masked with a tilde (\fB~\fR) in front of the 
496 architecture name.  \fBemerge\fR examines the \fBACCEPT_KEYWORDS\fR environment 
497 variable to allow or disallow the emerging of a package masked by 
498 \fBKEYWORDS\fR.  To inform \fBemerge\fR that it should build these 'testing' 
499 versions of packages, you should update your 
500 \fI/etc/portage/package.keywords\fR file to list the packages you want the 
501 'testing' version.  See \fBportage\fR(5) for more information.
502 .SH "REPORTING BUGS"
503 Please report any bugs you encounter through our website:
504 .LP
505 \fBhttp://bugs.gentoo.org/\fR
506 .LP
507 Please include the output of \fBemerge \-\-info\fR when you submit your
508 bug report.
509 .SH "AUTHORS"
510 .nf
511 Daniel Robbins <drobbins@gentoo.org>
512 Geert Bevin <gbevin@gentoo.org>
513 Achim Gottinger <achim@gentoo.org>
514 Nicholas Jones <carpaski@gentoo.org>
515 Phil Bordelon <phil@thenexusproject.org>
516 Mike Frysinger <vapier@gentoo.org>
517 Marius Mauch <genone@gentoo.org>
518 .fi
519 .SH "FILES"
520 .TP
521 \fB/var/lib/portage/world\fR 
522 Contains a list of all user\-specified packages.  You can safely edit
523 this file, adding packages that you want to be considered in \fBworld\fR
524 set updates and removing those that you do not want to be considered.
525 .TP
526 \fB/etc/make.conf\fR 
527 Contains variables for the build process, overriding those in
528 \fBmake.globals\fR.  \fBYou should edit this file instead of the ones
529 listed below\fR.
530 .TP
531 .B /etc/dispatch\-conf.conf
532 Contains settings to handle automatic updates/backups of configuration 
533 files.
534 .TP
535 \fB/etc/make.profile/make.defaults\fR
536 Contains profile\-specific variables for the build process.  \fBDo not
537 edit this file\fR.
538 .TP
539 \fB/etc/make.profile/use.defaults\fR
540 Contains a list of packages which, if installed, cause the respective USE 
541 flag to be enabled by default.  \fBDo not edit this file\fR.
542 .TP
543 \fB/usr/portage/profiles/use.desc\fR 
544 Contains the master list of USE flags with descriptions of their
545 functions.  \fBDo not edit this file\fR.
546 .TP
547 \fB/etc/make.profile/virtuals\fR 
548 Contains a list of default packages used to resolve virtual dependencies.
549 \fBDo not edit this file\fR.
550 .TP
551 \fB/etc/make.profile/packages\fR
552 Contains a list of packages used for the base system.  The \fBsystem\fR
553 and \fBworld\fR sets consult this file.  \fBDo not edit this file\fR.
554 .TP
555 \fB/etc/make.globals\fR 
556 Contains the default variables for the build process.  \fBDo not edit
557 this file\fR.
558 .SH "SEE ALSO"
559 .BR "emerge \-\-help",
560 .BR ebuild (1),
561 .BR ebuild (5),
562 .BR make.conf (5),
563 .BR portage (5)
564 .LP
565 A number of helper applications reside in \fI/usr/lib/portage/bin\fR.
566 .LP
567 The \fBapp\-portage/gentoolkit\fR package contains useful scripts such as 
568 \fBequery\fR (a package query tool).