ebuild.5: EAPI 5 best/has_version --host-root
[portage.git] / man / emerge.1
index 4ec025127026d99abaae7142779b8ed3dd1d6da3..b3ac379155fb9d59f3492b5ae76e0869a354485f 100644 (file)
@@ -1,4 +1,4 @@
-.TH "EMERGE" "1" "May 2011" "Portage VERSION" "Portage"
+.TH "EMERGE" "1" "Sep 2012" "Portage VERSION" "Portage"
 .SH "NAME"
 emerge \- Command\-line interface to the Portage system
 .SH "SYNOPSIS"
@@ -69,7 +69,9 @@ packages deemed necessary for your system to run properly. \fBworld\fR
 encompasses both the \fBselected\fR and \fBsystem\fR sets. [See
 \fBFILES\fR below for more information.] Other sets can exist depending
 on the current configuration. The default set configuration is located
-in the \fB/usr/share/portage/config/sets\fR directory. Note that a \fIset\fR
+in the \fB/usr/share/portage/config/sets\fR directory.
+User sets may be created by placing files in the \fB/etc/portage/sets/\fR
+directory (see \fBportage\fR(5)). Note that a \fIset\fR
 is generally used in conjunction with \fB\-\-update\fR. When used as 
 arguments to \fBemerge\fR sets have to be prefixed with \fB@\fR to be
 recognized. Use the \fB\-\-list\-sets\fR action to display a list of
@@ -96,6 +98,10 @@ option if you want to install a tbz2\fR.  The packages are added
 to the \fBworld\fR file at the end, so that they are considered for
 later updating.
 .TP
+.BR \-\-check\-news
+Scan all repositories for relevant unread GLEP 42 news items, and display
+how many are found. See \fIhttp://www.gentoo.org/proj/en/glep/glep-0042.html\fR.
+.TP
 .BR \-\-clean
 Cleans up the system by examining the installed packages and removing older
 packages.  This is accomplished by looking at each installed package and separating
@@ -127,8 +133,8 @@ recommended to use a tool such as \fBrevdep-rebuild\fR(1)
 in order to detect such breakage.
 
 \fBWARNING:\fR
-Inexperienced users are advised to use \fB\-\-pretend\fR with this
-option in order to see a preview of which packages
+Inexperienced users are advised to use \fB\-\-pretend\fR or \fB\-\-ask\fR
+with this option in order to see a preview of which packages
 will be uninstalled. Always study the list of packages
 to be cleaned for any obvious mistakes. Note that packages listed in
 package.provided (see \fBportage\fR(5)) may be removed by
@@ -174,10 +180,12 @@ In versions of portage >=2.1.5 the \-\-metadata action is totally unnecessary
 unless the user has enabled FEATURES="metadata-transfer" in \fBmake.conf\fR(5).
 .TP
 .BR "\-\-prune " (\fB\-P\fR)
-\fBWARNING: This action can remove important packages!\fR  Removes all but the
-highest installed version of a package from your system. Use \fB\-\-prune\fR
-together with \fB\-\-verbose\fR to show reverse dependencies or with
-\fB\-\-nodeps\fR to ignore all dependencies.
+Removes all but the highest installed version of a package from your
+system. Use \fB\-\-prune\fR together with \fB\-\-verbose\fR to show
+reverse dependencies or with \fB\-\-nodeps\fR to ignore all dependencies.
+\fBWARNING: This action can remove packages from your world file! Check
+the emerge output of the next \-\-depclean run carefully! Use
+\-\-depclean to avoid this issue.\fR
 .TP
 .BR \-\-regen
 Causes portage to check and update the dependency cache of all ebuilds in the 
@@ -194,6 +202,9 @@ generate and distribute cache for use by others, use \fBegencache\fR(1).
 .TP
 .BR "\-\-resume" (\fB\-r\fR)
 Resumes the most recent merge list that has been aborted due to an error.
+This re\-uses the options that were given with the original
+command that's being resumed, and the user may also provide
+additional options when calling \fB\-\-resume\fR.
 Please note that this operation will only return an error on failure.  If there
 is nothing for portage to do, then portage will exit with a message and a
 success condition. A resume list will persist until it has been completed in
@@ -308,7 +319,7 @@ disable this option by default in \fBmake.conf\fR(5).
 If \-\-autounmask is enabled, keyword and mask changes
 using the \'=\' operator will be written. With this
 option, \'>=\' operators will be used whenever possible.
-USE and license changes always use the latter behvior.
+USE and license changes always use the latter behavior.
 .TP
 .BR "\-\-autounmask\-keep\-masks [ y | n ]"
 If \-\-autounmask is enabled, no package.unmask or ** keyword changes
@@ -342,13 +353,26 @@ An alternative for already\-merged
 packages is to use \fBquickpkg\fR(1) which creates a tbz2 from the
 live filesystem.
 .TP
+.BR "\-\-buildpkg\-exclude " ATOMS
+A space separated list of package atoms for which
+no binary packages should be built. This option overrides all
+possible ways to enable building of binary packages.
+.TP
 .BR "\-\-buildpkgonly " (\fB\-B\fR)
 Creates binary packages for all ebuilds processed without actually
 merging the packages.  This comes with the caveat that all build-time 
 dependencies must already be emerged on the system.
 .TP
 .BR "\-\-changed\-use"
-This is an alias for \fB\-\-reinstall=changed\-use\fR.
+Tells emerge to include installed packages where USE flags have
+changed since installation. This option also implies the
+\fB\-\-selective\fR option. Unlike \fB\-\-newuse\fR, the
+\fB\-\-changed\-use\fR option does not trigger reinstallation when
+flags that the user has not enabled are added or removed.
+
+NOTE: This option ignores the state of the "test" USE flag, since that flag
+has a special binding to FEATURES="test" (see \fBmake.conf\fR(5) for more
+information about \fBFEATURES\fR settings).
 .TP
 .BR "\-\-changelog " (\fB\-l\fR)
 Use this in conjunction with the \fB\-\-pretend\fR option.  This will
@@ -376,6 +400,10 @@ be updated than would have otherwise been updated with the option disabled.
 Using \fB\-\-with\-bdeps=y\fR together with \fB\-\-complete\-graph\fR makes
 the graph as complete as possible.
 .TP
+.BR "\-\-complete\-graph\-if\-new\-use < y | n >"
+Trigger the \fB\-\-complete\-graph\fR behavior if USE or IUSE will
+change for an installed package. This option is enabled by default.
+.TP
 .BR "\-\-complete\-graph\-if\-new\-ver < y | n >"
 Trigger the \fB\-\-complete\-graph\fR behavior if an installed package
 version will change (upgrade or downgrade). This option is enabled by default.
@@ -407,6 +435,20 @@ when FEATURES="preserve\-libs" is enabled in
 \fBmake.conf\fR(5), since any libraries that have
 consumers will simply be preserved.
 .TP
+.BR "\-\-dynamic\-deps < y | n >"
+In dependency calculations, substitute the dependencies of installed
+packages with the dependencies of corresponding unbuilt ebuilds from
+source repositories. This causes the effective dependencies of
+installed packages to vary dynamically when source ebuild dependencies
+are modified. This option is enabled by default.
+
+\fBWARNING:\fR
+If you want to disable \-\-dynamic\-deps, then it may be necessary to
+first run \fBfixpackages\fR(1) in order to get the best results. The
+\fBfixpackages\fR(1) command performs two different operations that can
+also be performed separately by the `emaint \-\-fix moveinst` and
+`emaint \-\-fix movebin` commands (see \fBemaint\fR(1)).
+.TP
 .BR "\-\-emptytree " (\fB\-e\fR)
 Reinstalls target atoms and their entire deep
 dependency tree, as though no packages are currently
@@ -447,10 +489,19 @@ remote server are preferred over local packages if they are not identical.
 .BR "\-\-ignore-default-opts"
 Causes \fIEMERGE_DEFAULT_OPTS\fR (see \fBmake.conf\fR(5)) to be ignored.
 .TP
+.BR "\-\-ignore\-built\-slot\-operator\-deps < y | n >"
+Ignore the slot/sub\-slot := operator parts of dependencies that have
+been recorded when packages where built. This option is intended
+only for debugging purposes, and it only affects built packages
+that specify slot/sub\-slot := operator dependencies using the
+experimental "4\-slot\-abi" or "5_pre2" EAPIs.
+.TP
 .BR "-j [JOBS], \-\-jobs[=JOBS]"
 Specifies the number of packages to build simultaneously. If this option is
 given without an argument, emerge will not limit the number of jobs that can
 run simultaneously. Also see the related \fB\-\-load\-average\fR option.
+Similarly to the \-\-quiet\-build option, the \-\-jobs option causes all
+build output to be redirected to logs.
 Note that interactive packages currently force a setting
 of \fI\-\-jobs=1\fR. This issue can be temporarily avoided
 by specifying \fI\-\-accept\-properties=\-interactive\fR.
@@ -489,7 +540,12 @@ A USE flag was turned off for a package.
 USE flags may be toggled by your profile as well as your USE and package.use
 settings. If you would like to skip rebuilds for which disabled flags have
 been added to or removed from IUSE, see the related
-\-\-reinstall=changed\-use option.
+\fB\-\-changed\-use\fR option. If you would like to skip rebuilds for
+specific packages, see the \fB\-\-exclude\fR option.
+
+NOTE: This option ignores the state of the "test" USE flag, since that flag
+has a special binding to FEATURES="test" (see \fBmake.conf\fR(5) for more
+information about \fBFEATURES\fR settings).
 .TP
 .BR "\-\-noconfmem"
 Causes portage to disregard merge records indicating that a config file
@@ -504,7 +560,7 @@ the build may fail if the dependencies aren't satisfied.
 .TP
 .BR "\-\-noreplace " (\fB\-n\fR)
 Skips the packages specified on the command\-line that have already
-been installed.  Without this option, any packages, ebuilds, or deps
+been installed.  Without this option, any package atoms or package sets
 you specify on the command\-line \fBwill\fR cause Portage to remerge
 the package, even if it is already installed.  Note that Portage will
 not remerge dependencies by default.
@@ -534,11 +590,22 @@ Only merge (or pretend to merge) the dependencies of the packages
 specified, not the packages themselves.
 .TP
 .BR "\-\-package\-moves [ y | n ]"
-Perform package moves when necessary. This option
-is enabled by default. \fBWARNING:\fR This option
+Perform package moves when necessary. This option is enabled
+by default. Package moves are typically applied immediately
+after a \fB\-\-sync\fR action. They are applied in an
+incremental fashion, using only the subset of the history of
+package moves which have been added or modified since the
+previous application of package moves.
+
+\fBWARNING:\fR This option
 should remain enabled under normal circumstances.
 Do not disable it unless you know what you are
 doing.
+
+\fBNOTE:\fR The \fBfixpackages\fR(1) command can be used to
+exhaustively apply the entire history of package moves,
+regardless of whether or not any of the package moves have
+been previously applied.
 .TP
 .BR "\-\-pretend " (\fB\-p\fR)
 Instead of actually performing the merge, simply display what *would*
@@ -552,7 +619,8 @@ N   new (not yet installed)
 S      new SLOT installation (side-by-side versions) 
 U      updating (to another version)
 D      downgrading (best version seems lower)
-R      replacing (remerging same version))
+r      reinstall (forced due to slot or sub\-slot change of a dependency)
+R      replacing (remerging same version)
 F      fetch restricted (must be manually downloaded)
 f      fetch restricted (already downloaded)
 I      interactive (requires user input)
@@ -565,8 +633,20 @@ Results may vary, but the general outcome is a reduced or condensed
 output from portage's displays.
 .TP
 .BR "\-\-quiet\-build [ y | n ]"
-Redirect all build output to logs alone, and do not
-display it on stdout.
+Redirect all build output to logs alone, and do not display it on
+stdout. If a build failure occurs for a single package, the build
+log will be automatically displayed on stdout. If there are multiple
+build failures (due to options like \-\-keep\-going or \-\-jobs),
+then the content of the log files will not be displayed, and instead
+the paths of the log files will be displayed together with the
+corresponding die messages.
+Note that interactive packages currently force all build output to
+be displayed on stdout. This issue can be temporarily avoided
+by specifying \fI\-\-accept\-properties=\-interactive\fR.
+.TP
+.BR "\-\-quiet\-repo\-display"
+In the package merge list display, suppress ::repository output, and
+instead use numbers to indicate which repositories package come from.
 .TP
 .BR \-\-quiet\-unmerge\-warn
 Disable the warning message that's shown prior to
@@ -574,6 +654,18 @@ Disable the warning message that's shown prior to
 to be set in the \fBmake.conf\fR(5)
 \fBEMERGE_DEFAULT_OPTS\fR variable.
 .TP
+.BR "\-\-rebuild\-if\-new\-slot [ y | n ]"
+Automatically rebuild or reinstall packages when slot/sub\-slot :=
+operator dependencies can be satisfied by a newer slot, so that
+older packages slots will become eligible for removal by the
+\-\-depclean action as soon as possible. This option only
+affects packages that specify slot/sub\-slot := dependencies using the
+experimental "4\-slot\-abi" or "5_pre2" EAPIs.
+Since this option requires
+checking of reverse dependencies, it enables \-\-complete\-graph
+mode whenever a new slot is installed. This option is enabled by
+default.
+.TP
 .BR "\-\-rebuild\-if\-new\-rev [ y | n ]"
 Rebuild packages when build\-time dependencies are built from source, if the
 dependency is not already installed with the same version and revision.
@@ -602,10 +694,7 @@ and that is larger than that of the installed package will
 be considered by the rebuilt\-binaries logic.
 .TP
 .BR "\-\-reinstall changed\-use"
-Tells emerge to include installed packages where USE flags have
-changed since installation.  Unlike \fB\-\-newuse\fR, this option does
-not trigger reinstallation when flags that the user has not
-enabled are added or removed.
+This is an alias for \fB\-\-changed\-use\fR.
 .TP
 .BR "\-\-reinstall\-atoms " ATOMS
 A space separated list of package names or slot atoms. Emerge will treat
@@ -636,7 +725,8 @@ use \fBEMERGE_DEFAULT_OPTS\fR to make
 This is identical to the \fB\-\-noreplace\fR option.
 Some options, such as \fB\-\-update\fR, imply \fB\-\-selective\fR.
 Use \fB\-\-selective=n\fR if you want to forcefully disable
-\fB\-\-selective\fR, regardless of options like \fB\-\-update\fR.
+\fB\-\-selective\fR, regardless of options like \fB\-\-changed\-use\fR,
+\fB\-\-newuse\fR, \fB\-\-noreplace\fR, or \fB\-\-update\fR.
 .TP
 .BR "\-\-skipfirst"
 This option is only valid when used with \fB\-\-resume\fR.  It removes the 
@@ -700,8 +790,12 @@ Symbol     Location        Meaning
 *      suffix  transition to or from the enabled state
 %      suffix  newly added or removed
 ()     circumfix       forced, masked, or removed
+{}     circumfix       state is bound to FEATURES settings
 .TE
 .TP
+.BR "\-\-verbose\-main\-repo\-display"
+In the package merge list display, print ::repository even for main repository.
+.TP
 .BR "\-\-with\-bdeps < y | n >"
 In dependency calculations, pull in build time dependencies
 that are not strictly required. This defaults to \'n\' for
@@ -841,7 +935,7 @@ those USE settings (on Bourne-compatible shells you may omit the \fBenv\fR
 part).  If you want those USE settings to be more 
 permanent, you can put them in /etc/portage/package.use instead.
 .LP
-If \fBemerge \-\-update system\fR or \fBemerge \-\-update world\fR
+If \fBemerge \-\-update @system\fR or \fBemerge \-\-update @world\fR
 fails with an error message, it may be that an ebuild uses some
 newer feature not present in this version of \fBemerge\fR.  You
 can use \fBemerge \-\-update portage\fR to upgrade to the lastest
@@ -980,6 +1074,11 @@ Contains a list of all user\-specified packages.  You can safely edit
 this file, adding packages that you want to be considered in \fBworld\fR
 set updates and removing those that you do not want to be considered.
 .TP
+.B /var/lib/portage/world_sets
+This is like the world file but instead of package atoms it contains
+packages sets which always begin with the \fB@\fR character. Use
+\fB/etc/portage/sets/\fR to define user package sets.
+.TP
 .B /etc/make.conf
 Contains variables for the build process, overriding those in
 \fBmake.globals\fR.
@@ -987,11 +1086,14 @@ Contains variables for the build process, overriding those in
 .B /etc/portage/color.map
 Contains variables customizing colors.
 .TP
+.B /etc/portage/sets/
+Contains user package set definitions (see \fBportage\fR(5)).
+.TP
 .B /etc/dispatch\-conf.conf
 Contains settings to handle automatic updates/backups of configuration 
 files.
 .TP
-.B /etc/make.profile/make.defaults
+.B /etc/portage/make.profile/make.defaults
 Contains profile\-specific variables for the build process.  \fBDo not
 edit this file\fR.
 .TP
@@ -999,11 +1101,11 @@ edit this file\fR.
 Contains the master list of USE flags with descriptions of their
 functions.  \fBDo not edit this file\fR.
 .TP
-.B /etc/make.profile/virtuals
+.B /etc/portage/make.profile/virtuals
 Contains a list of default packages used to resolve virtual dependencies.
 \fBDo not edit this file\fR.
 .TP
-.B /etc/make.profile/packages
+.B /etc/portage/make.profile/packages
 Contains a list of packages used for the base system.  The \fBsystem\fR
 and \fBworld\fR sets consult this file.  \fBDo not edit this file\fR.
 .TP