Escape quotes for bug #150932.
[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.  Also see
105 \fB\-\-with\-bdeps\fR for behavior with respect to build time dependencies that
106 are not strictly required.
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 By default emerge uses a case-insensitive simple search, but you can 
156 enable a regular expression search by prefixing the search string with %.
157 For example, \fBemerge \-\-search "%^kde"\fR searches for any package whose 
158 name starts with "kde"; \fBemerge \-\-search "%gcc$"\fR searches for any 
159 package that ends with "gcc"; \fBemerge \-\-search "office"\fR searches for 
160 any package that contains the word "office".  If you want to include the 
161 category into the search string, prepend an @: \fBemerge --search 
162 "%@^dev-java.*jdk"\fR. If you want to search the package descriptions as well, 
163 use the \fB\-\-searchdesc\fR action.
164 .TP
165 .BR "\-\-searchdesc " (\fB\-S\fR)
166 Matches the search string against the description field as well as
167 the package name.  \fBTake caution\fR as the descriptions are also
168 matched as regular expressions.
169 .TP
170 .BR \-\-sync
171 Initiates a portage tree update with one of the rsync.gentoo.org
172 mirrors.  \fBNote that any changes you have made to the portage
173 tree will be erased\fR.  Except for special circumstances, 
174 this uses \fBrsync\fR to do the update.  See \fBmake.conf\fR(5)'s 
175 description of PORTDIR_OVERLAY for a method to avoid deletions.
176 .TP
177 .BR "\-\-unmerge " (\fB\-C\fR)
178 \fBWARNING: This action can remove important packages!\fR Removes
179 all matching packages.  This does no checking of dependencies, so
180 it may remove packages necessary for the proper operation of your
181 system.  Its arguments can be \fIebuilds\fR, \fIsets\fR, or
182 \fIdependencies\fR \-\- see \fB\-\-clean\fR above for examples.
183 .TP
184 .BR "\-\-update " (\fB\-u\fR)
185 Updates packages to the best version available, which may not always be the 
186 highest version number due to masking for testing and development.  This will 
187 also update direct dependencies which may not be what you want.  Package atoms
188 specified on the command line are greedy, meaning that unspecific atoms may
189 match multiple installed versions of slotted packages.
190 .TP
191 .BR "\-\-version " (\fB\-V\fR)
192 Displays the version number of \fBemerge\fR.
193 .SH "OPTIONS"
194 .TP
195 .BR "\-\-alphabetical "
196 When displaying USE and other flag output, combines the enabled and
197 disabled lists into one list and sorts the whole list alphabetically.
198 .TP
199 .BR "\-\-ask " (\fB\-a\fR)
200 Before performing the merge, display what ebuilds and tbz2s will be installed, 
201 in the same format as when using \fB\-\-pretend\fR; then ask whether to 
202 continue with the merge or abort.  Using \fB\-\-ask\fR is more efficient than 
203 using \fB\-\-pretend\fR and then executing the same command without 
204 \fB\-\-pretend\fR, as dependencies will only need to be calculated once.
205 \fBWARNING: If the "Enter" key is pressed at the prompt (with no other input),
206 it is interpreted as acceptance of the first choice.  Note that the input
207 buffer is not cleared prior to the prompt, so an accidental press of the
208 "Enter" key at any time prior to the prompt will be interpreted as a choice!\fR
209 .TP
210 .BR "\-\-buildpkg " (\fB\-b\fR)
211 Tells emerge to build binary packages for all ebuilds processed in
212 addition to actually merging the packages.  Useful for maintainers
213 or if you administrate multiple Gentoo Linux systems (build once,
214 emerge tbz2s everywhere).  The package will be created in the
215 \fI${PKGDIR}/All\fR directory.  An alternative for already\-merged
216 packages is to use \fBquickpkg\fR which creates a tbz2 from the
217 live filesystem.
218 .TP
219 .BR "\-\-buildpkgonly " (\fB\-B\fR)
220 Creates binary packages for all ebuilds processed without actually
221 merging the packages.  This comes with the caveat that all build-time 
222 dependencies must already be emerged on the system.
223 .TP
224 .BR "\-\-changelog " (\fB\-l\fR)
225 Use this in conjunction with the \fB\-\-pretend\fR option.  This will
226 show the ChangeLog entries for all the packages that will be upgraded.
227 .TP
228 .BR "\-\-columns"
229 Used alongside \fB\-\-pretend\fR to cause the package name, new version, 
230 and old version to be displayed in an aligned format for easy cut\-n\-paste.
231 .TP
232 .BR "\-\-debug " (\fB\-d\fR)
233 Tells emerge to run the emerge command in \fB\-\-debug\fR mode.  In this
234 mode the bash build environment will run with the \-x option,
235 causing it to output verbose debugging information to stdout.
236 \fB\-\-debug\fR is great for finding bash syntax errors.
237 .TP
238 .BR "\-\-deep " (\fB\-D\fR)
239 This flag forces
240 \fBemerge\fR to consider the entire dependency tree of packages,
241 instead of checking only the immediate dependencies of the packages.
242 As an example, this catches updates in libraries that are not directly
243 listed in the dependencies of a package.  Also see \fB\-\-with\-bdeps\fR for
244 behavior with respect to build time dependencies that are not strictly
245 required.
246 .TP
247 .BR "\-\-emptytree " (\fB\-e\fR)
248 Reinstalls all world packages and their dependencies to the current USE 
249 specifications while differing from the installed set of packages as 
250 little as possible.  You should run with \fB\-\-pretend\fR first to make 
251 sure the result is what you expect.
252 .TP
253 .BR "\-\-fetchonly " (\fB\-f\fR)
254 Instead of doing any package building, just perform fetches for all
255 packages (the main package as well as all dependencies).
256 .TP
257 .BR "\-\-fetch\-all\-uri " (\fB\-F\fR)
258 Instead of doing any package building, just perform fetches for all
259 packages (the main package as well as all dependencies), grabbing all potential
260 files.
261 .TP
262 .BR "\-\-getbinpkg " (\fB\-g\fR)
263 Using the server and location defined in \fIPORTAGE_BINHOST\fR (see 
264 \fBmake.conf\fR(5)), portage will download the information from each binary 
265 package found and it will use that information to help build the dependency 
266 list.  This option implies \fB\-k\fR.  (Use \fB\-gK\fR for binary\-only 
267 merging.)
268 .TP
269 .BR "\-\-getbinpkgonly " (\fB\-G\fR)
270 This option is identical to \fB\-g\fR, as above, except it will not use ANY 
271 information from the local machine.  All binaries will be downloaded from the 
272 remote server without consulting packages existing in the local packages 
273 directory.
274 .TP
275 .BR "\-\-ignore-default-opts"
276 Causes \fIEMERGE_DEFAULT_OPTS\fR (see \fBmake.conf\fR(5)) to be ignored.
277 .TP
278 .BR "\-\-newuse " (\fB\-N\fR)
279 Tells emerge to include installed packages where USE flags have changed since 
280 compilation.  An asterisk marks when a USE flag has changed since the package 
281 was compiled.
282 .TP
283 .BR "\-\-nocolor "
284 Suppresses all coloring of portage's output.
285 .TP
286 .BR "\-\-noconfmem"
287 Causes portage to disregard merge records indicating that a config file
288 inside of a \fBCONFIG_PROTECT\fR directory has been merged already.  Portage
289 will normally merge those files only once to prevent the user from
290 dealing with the same config multiple times.  This flag will cause the
291 file to always be merged.
292 .TP
293 .BR "\-\-nodeps " (\fB\-O\fR)
294 Merges specified packages without merging any dependencies.  Note that
295 the build may fail if the dependencies aren't satisfied.
296 .TP
297 .BR "\-\-noreplace " (\fB\-n\fR)
298 Skips the packages specified on the command\-line that have already
299 been installed.  Without this option, any packages, ebuilds, or deps
300 you specify on the command\-line *will* cause Portage to remerge
301 the package, even if it is already installed.  Note that Portage will
302 not remerge dependencies by default.
303 .TP
304 .BR "\-\-nospinner"
305 Disables the spinner for the session.  The spinner is active when the
306 terminal device is determined to be a TTY.  This flag disables it regardless.
307 .TP
308 .BR "\-\-oneshot " (\fB\-1\fR)
309 Emerge as normal, but do not add the packages to the world profile
310 for later updating.
311 .TP
312 .BR "\-\-onlydeps " (\fB\-o\fR)
313 Only merge (or pretend to merge) the dependencies of the packages
314 specified, not the packages themselves.
315 .TP
316 .BR "\-\-pretend " (\fB\-p\fR)
317 Instead of actually performing the merge, simply display what *would*
318 have been installed if \fB\-\-pretend\fR weren't used.  Using \fB\-\-pretend\fR
319 is strongly recommended before installing an unfamiliar package.  In
320 the printout:
321 .br 
322  
323 .br 
324 \fIN\fR = new (not yet installed)
325 .br 
326 \fIS\fR = new SLOT installation (side-by-side versions) 
327 .br 
328 \fIU\fR = updating (to another version)
329 .br 
330 \fID\fR = downgrading (best version seems lower)
331 .br 
332 \fIR\fR = replacing (remerging same version))
333 .br 
334 \fIF\fR = fetch restricted (must be manually downloaded)
335 .br 
336 \fIf\fR = fetch restricted (already downloaded)
337 .br 
338 \fIB\fR = blocked by an already installed package
339 .TP
340 .BR "\-\-quiet " (\fB\-q\fR)
341 Results may vary, but the general outcome is a reduced or condensed
342 output from portage's displays.
343 .TP
344 .BR "\-\-skipfirst"
345 This option is only valid when used with \fB\-\-resume\fR.  It removes the 
346 first package in the resume list so that a merge may continue in the presence 
347 of an uncorrectable or inconsequential error.  This should only be used in 
348 cases where skipping the package will not result in failed dependencies.
349 .TP
350 .BR "\-\-tree " (\fB\-t\fR)
351 Shows the dependency tree for the given target by indenting dependencies.
352 This is only really useful in combination with \fB\-\-emptytree\fR or 
353 \fB\-\-update\fR and \fB\-\-deep\fR.
354 .TP
355 .BR "\-\-usepkg " (\fB\-k\fR) 
356 Tells emerge to use binary packages (from $PKGDIR) if they are available, thus 
357 possibly avoiding some time\-consuming compiles.  This option is useful for CD 
358 installs; you can export PKGDIR=/mnt/cdrom/packages and then use this option to 
359 have emerge "pull" binary packages from the CD in order to satisfy dependencies.
360 .TP
361 .BR "\-\-usepkgonly " (\fB\-K\fR)
362 Tells emerge to only use binary packages (from $PKGDIR).  All the binary 
363 packages must be available at the time of dependency calculation or emerge 
364 will simply abort.  Portage does not use $PORTDIR when calculating dependency 
365 information so all masking information is ignored.
366 .TP
367 .BR "\-\-verbose " (\fB\-v\fR)
368 Tell emerge to run in verbose mode.  Currently this flag causes emerge to print 
369 out GNU info errors, if any, and to show the USE flags that will be used for 
370 each package when pretending. The following symbols are affixed to USE flags
371 in order to indicate their status:
372 .br
373
374 .br
375 \fI- prefix\fR     = not enabled (either disabled or removed)
376 .br
377 \fI* suffix\fR     = transition to or from the enabled state
378 .br
379 \fI% suffix\fR     = newly added or removed
380 .br
381 \fI() circumfix\fR = forced, masked, or removed
382 .TP
383 .BR "\-\-with\-bdeps < y | n >"
384 In dependency calculations, pull in build time dependencies that are not
385 strictly required.   This defaults to \'n\' for installation actions and
386 \'y\' for the \-\-depclean action.  This setting can be added to
387 EMERGE_DEFAULT_OPTS (see make.conf(5)) and later overridden via the command
388 line.
389 .SH "ENVIRONMENT OPTIONS"
390 .TP
391 \fBROOT\fR = \fI[path]\fR
392 Use \fBROOT\fR to specify the target root filesystem to be used for
393 merging packages or ebuilds.
394 .br
395 Defaults to /.
396 .TP
397 \fBPORTAGE_CONFIGROOT\fR = \fI[path]\fR
398 Use \fBPORTAGE_CONFIGROOT\fR to specify the location for various portage 
399 configuration files
400 (see \fBFILES\fR for a detailed list).
401 .br
402 Defaults to /.
403 .SH "OUTPUT"
404 When utilizing \fBemerge\fR with the \fB\-\-pretend\fR and \fB\-\-verbose\fR 
405 flags, the output may be a little hard to understand at first.  This section
406 explains the abbreviations.
407 .TP
408 .B [blocks B     ] app\-text/dos2unix (from pkg app\-text/hd2u\-0.8.0)
409 Dos2unix is Blocking hd2u from being emerged.  Blockers are defined when
410 two packages will clobber each others files, or otherwise cause some form
411 of breakage in your system.  However, blockers usually do not need to be
412 simultaneously emerged because they usually provide the same functionality.
413 .TP
414 .B [ebuild  N    ] app\-games/qstat\-25c
415 Qstat is New to your system, and will be emerged for the first time.
416 .TP
417 .B [ebuild  NS   ] dev-libs/glib-2.4.7
418 You already have a version of glib installed, but a 'new' version in 
419 a different SLOT is available.
420 .TP
421 .B [ebuild   R   ] sys\-apps/sed\-4.0.5
422 Sed 4.0.5 has already been emerged, but if you run the command, then 
423 portage will Re\-emerge the specified package (sed in this case).
424 .TP
425 .B [ebuild    F  ] media\-video/realplayer\-8\-r6
426 The realplayer package requires that you Fetch the sources manually.  
427 When you attempt to emerge the package, if the sources are not found, 
428 then portage will halt and you will be provided with instructions on how 
429 to download the required files.
430 .TP
431 .B [ebuild    f  ] media\-video/realplayer\-8\-r6
432 The realplayer package's files are already downloaded.
433 .TP
434 .B [ebuild     U ] net\-fs/samba\-2.2.8_pre1 [2.2.7a]
435 Samba 2.2.7a has already been emerged and can be Updated to version 
436 2.2.8_pre1.
437 .TP
438 .B [ebuild     UD] media\-libs/libgd\-1.8.4 [2.0.11]
439 Libgd 2.0.11 is already emerged, but if you run the command, then 
440 portage will Downgrade to version 1.8.4 for you.
441 .br 
442 This may occur if a newer version of a package has been masked because it is
443 broken or it creates a security risk on your system and a fix has not been
444 released yet.
445 .br 
446 Another reason this may occur is if a package you are trying to emerge requires
447 an older version of a package in order to emerge successfully.  In this case,
448 libgd 2.x is incompatible with libgd 1.x.  This means that packages that were
449 created with libgd 1.x will not compile with 2.x and must downgrade libgd first
450 before they can emerge.
451 .TP
452 .B [ebuild     U ] sys\-devel/distcc\-2.16 [2.13\-r1] USE="ipv6* \-gtk \-qt%"
453 Here we see that the make.conf variable \fBUSE\fR affects how this package is
454 built.  In this example, ipv6 optional support is enabled and both gtk and qt
455 support are disabled.  The asterisk following ipv6 indicates that ipv6 support
456 was disabled the last time this packages was installed.  The percent sign
457 following qt indicates that the qt option has been added to the package since
458 it was last installed.
459 .br
460 \fB*Note:\fR Flags that haven't changed since the last install are only
461 displayed when you use the \fB\-\-pretend\fR and \fB\-\-verbose\fR options.
462 Using the \fB\-\-quiet\fR option will prevent all information from being
463 displayed.
464 .SH "NOTES"
465 You should almost always precede any package install or update attempt with a 
466 \fB\-\-pretend\fR install or update.  This lets you see how much will be 
467 done, and shows you any blocking packages that you will have to rectify.  
468 This goes doubly so for the \fBsystem\fR and \fBworld\fR sets, which can 
469 update a large number of packages if the portage tree has been particularly 
470 active.
471 .LP
472 You also want to typically use \fB\-\-update\fR, which ignores packages that 
473 are already fully updated but upgrades those that are not.
474 .LP
475 When you install a package with uninstalled dependencies and do
476 not explicitly state those dependencies in the list of parameters,
477 they will not be added to the world file.  If you want them to be
478 detected for world updates, make sure to explicitly list them as
479 parameters to \fBemerge\fR.
480 .LP
481 \fBUSE variables\fR may be specified on the command line to
482 override those specified in the default locations, letting you
483 avoid using some dependencies you may not want to have.  \fBUSE
484 flags specified on the command line are NOT remembered\fR.  For
485 example, \fBUSE="\-X \-gnome" emerge mc\fR will emerge mc with
486 those USE settings.  If you want those USE settings to be more 
487 permanent, you can put them in /etc/portage/package.use instead.
488 .LP
489 If \fBemerge \-\-update system\fR or \fBemerge \-\-update world\fR
490 fails with an error message, it may be that an ebuild uses some
491 newer feature not present in this version of \fBemerge\fR.  You
492 can use \fBemerge \-\-update portage\fR to upgrade to the lastest
493 version, which should support any necessary new features.
494 .SH "MASKED PACKAGES"
495 \fINOTE: Please use caution when using development packages.  Problems
496 and bugs resulting from misusing masked packages drains Gentoo
497 developer time.  Please be sure you are capable of handling any problems
498 that may ensue.\fR
499 .LP
500 Masks in \fBportage\fR provide three primary functions: they allow a
501 testing period where the packages can be used in live machines; they
502 prevent the use of a package when it will fail; and they mask existing
503 packages that are broken or could pose a security risk.  Masking can be
504 done by two methods: \fBpackage.mask\fR and \fBKEYWORDS\fR.  Read below
505 to find out how to unmask in either case.  Also note that if you give 
506 \fBemerge\fR an ebuild, then all forms of masking will be ignored and
507 \fBemerge\fR will attempt to emerge the package.
508 .TP
509 .BR package.mask
510 The \fBpackage.mask\fR file primarily blocks the use of packages that cause
511 problems or are known to have issues on different systems.  It resides in
512 \fI/usr/portage/profiles\fR.
513 .TP
514 .BR KEYWORDS
515 The \fBKEYWORDS\fR variable in an \fBebuild\fR file is also used for masking 
516 a package still in testing.  There are architecture\-specific keywords for 
517 each package that let \fBportage\fR know which systems are compatible with 
518 the package.  Packages which compile on an architecture, but have not been 
519 proven to be "stable", are masked with a tilde (\fB~\fR) in front of the 
520 architecture name.  \fBemerge\fR examines the \fBACCEPT_KEYWORDS\fR environment 
521 variable to allow or disallow the emerging of a package masked by 
522 \fBKEYWORDS\fR.  To inform \fBemerge\fR that it should build these 'testing' 
523 versions of packages, you should update your 
524 \fI/etc/portage/package.keywords\fR file to list the packages you want the 
525 \'testing\' version.  See \fBportage\fR(5) for more information.
526 .SH "REPORTING BUGS"
527 Please report any bugs you encounter through our website:
528 .LP
529 \fBhttp://bugs.gentoo.org/\fR
530 .LP
531 Please include the output of \fBemerge \-\-info\fR when you submit your
532 bug report.
533 .SH "AUTHORS"
534 .nf
535 Daniel Robbins <drobbins@gentoo.org>
536 Geert Bevin <gbevin@gentoo.org>
537 Achim Gottinger <achim@gentoo.org>
538 Nicholas Jones <carpaski@gentoo.org>
539 Phil Bordelon <phil@thenexusproject.org>
540 Mike Frysinger <vapier@gentoo.org>
541 Marius Mauch <genone@gentoo.org>
542 .fi
543 .SH "FILES"
544 .TP
545 \fB/var/lib/portage/world\fR 
546 Contains a list of all user\-specified packages.  You can safely edit
547 this file, adding packages that you want to be considered in \fBworld\fR
548 set updates and removing those that you do not want to be considered.
549 .TP
550 \fB/etc/make.conf\fR 
551 Contains variables for the build process, overriding those in
552 \fBmake.globals\fR.  \fBYou should edit this file instead of the ones
553 listed below\fR.
554 .TP
555 .B /etc/dispatch\-conf.conf
556 Contains settings to handle automatic updates/backups of configuration 
557 files.
558 .TP
559 \fB/etc/make.profile/make.defaults\fR
560 Contains profile\-specific variables for the build process.  \fBDo not
561 edit this file\fR.
562 .TP
563 \fB/etc/make.profile/use.defaults\fR
564 Contains a list of packages which, if installed, cause the respective USE 
565 flag to be enabled by default.  \fBDo not edit this file\fR.
566 .TP
567 \fB/usr/portage/profiles/use.desc\fR 
568 Contains the master list of USE flags with descriptions of their
569 functions.  \fBDo not edit this file\fR.
570 .TP
571 \fB/etc/make.profile/virtuals\fR 
572 Contains a list of default packages used to resolve virtual dependencies.
573 \fBDo not edit this file\fR.
574 .TP
575 \fB/etc/make.profile/packages\fR
576 Contains a list of packages used for the base system.  The \fBsystem\fR
577 and \fBworld\fR sets consult this file.  \fBDo not edit this file\fR.
578 .TP
579 \fB/etc/make.globals\fR 
580 Contains the default variables for the build process.  \fBDo not edit
581 this file\fR.
582 .SH "SEE ALSO"
583 .BR "emerge \-\-help",
584 .BR ebuild (1),
585 .BR ebuild (5),
586 .BR make.conf (5),
587 .BR portage (5)
588 .LP
589 A number of helper applications reside in \fI/usr/lib/portage/bin\fR.
590 .LP
591 The \fBapp\-portage/gentoolkit\fR package contains useful scripts such as 
592 \fBequery\fR (a package query tool).