Defaults to the prefix where portage is currently installed.
ROOT = [path]
Use ROOT to specify the target root filesystem to be used formerging the requested packages or ebuilds and their runtimedependencies. This variable can be set via the --root optionor in make.conf(5) (the command line overrides other settings). Defaults to /.
SYSROOT = [path]
Use SYSROOT to specify the target root filesystem to be used formerging the build dependencies satisfied by DEPEND. Thisvariable can be set via the --sysroot option or inmake.conf(5) (the command line overrides other settings). Thevalue must either be / or equal to ROOT. When cross-compiling,only the latter is valid. Defaults to /.
PORTAGE_CONFIGROOT = [path]
Use PORTAGE_CONFIGROOT to specify the location for various portageconfiguration files(see FILES for a detailed list of configuration files). This variablecan be set via the --config-root option. However, it is nowsuperseded by the SYSROOT variable and can only be given if itsvalue matches SYSROOT or if ROOT=/. Defaults to /.
OUTPUT
When utilizing emerge with the --pretend and --verboseflags, the output may be a little hard to understand at first. This sectionexplains the abbreviations.
[blocks B ] app-text/dos2unix (app-text/dos2unix is blocking app-text/hd2u-0.8.0)
Dos2unix is Blocking hd2u from being emerged. Blockers are defined whentwo packages will clobber each others files, or otherwise cause some formof breakage in your system. However, blockers usually do not need to besimultaneously emerged because they usually provide the same functionality.
[ebuild N ] app-games/qstat-25c
Qstat is New to your system, and will be emerged for the first time.
[ebuild NS ] dev-libs/glib-2.4.7
You already have a version of glib installed, but a " new'="" version="" ina="" different="" slot="" is="" available.<="" dd="">
[ebuild R ] sys-apps/sed-4.0.5
Sed 4.0.5 has already been emerged, but if you run the command, thenportage will Re-emerge the specified package (sed in this case).
[ebuild F ] media-video/realplayer-8-r6
The realplayer package requires that you Fetch the sources manually.When you attempt to emerge the package, if the sources are not found,then portage will halt and you will be provided with instructions on howto download the required files.
[ebuild f ] media-video/realplayer-8-r6
The realplayer package's files are already downloaded.
[ebuild U ] net-fs/samba-2.2.8_pre1 [2.2.7a]
Samba 2.2.7a has already been emerged and can be Updated to version2.2.8_pre1.
[ebuild UD] media-libs/libgd-1.8.4 [2.0.11]
Libgd 2.0.11 is already emerged, but if you run the command, thenportage will Downgrade to version 1.8.4 for you. This may occur if a newer version of a package has been masked because it isbroken or it creates a security risk on your system and a fix has not beenreleased yet. Another reason this may occur is if a package you are trying to emerge requiresan older version of a package in order to emerge successfully. In this case,libgd 2.x is incompatible with libgd 1.x. This means that packages that werecreated with libgd 1.x will not compile with 2.x and must downgrade libgd firstbefore they can emerge.
[ebuild U ] sys-devel/distcc-2.16 [2.13-r1] USE=ipv6* -gtk -qt%
Here we see that the make.conf variable USE affects how this package isbuilt. In this example, ipv6 optional support is enabled and both gtk and qtsupport are disabled. The asterisk following ipv6 indicates that ipv6 supportwas disabled the last time this package was installed. The percent signfollowing qt indicates that the qt option has been added to the package sinceit was last installed. For information about all USE symbols, see the--verbose option documentation above. *Note: Flags that haven't changed since the last install are onlydisplayed when you use the --pretend and --verbose options.Using the --quiet option will prevent all information from beingdisplayed.
[ebuild r U ] dev-libs/icu-50.1.1:0/50.1.1 [50.1-r2:0/50.1]
Icu 50.1-r2 has already been emerged and can be Updated to version50.1.1. The r symbol indicates that a sub-slot change (from 50.1to 50.1.1 in this case) will force packages having slot-operatordependencies on it to be rebuilt (as libxml2 will be rebuilt in the nextexample).
Gentoo Emerge Slot Conflict
[ebuild rR ] dev-libs/libxml2-2.9.0-r1:2 USE=icu
Libxml2 2.9.0-r1 has already been emerged, but if you run the command,then portage will Re-emerge it in order to satisfy a slot-operatordependency which forces it to be rebuilt when the icu sub-slot changes(as it changed in the previous example).
[ebuild U *] sys-apps/portage-2.2.0_alpha6 [2.1.9.25]
Portage 2.1.9.25 is installed, but if you run the command, thenportage will upgrade to version 2.2.0_alpha6. In this case,the * symbol is displayed, in order to indicate that version2.2.0_alpha6 is masked by missing keyword. This type of maskingdisplay is disabled by the --quiet
Gentoo Portage Slot Conflict Games
option if the--verbose option is not enabled simultaneously.The following symbols are used to indicate various typesof masking:
Symbol
Mask Type
#
package.mask
*
missing keyword
~
unstable keyword
NOTE: The unstable keyword symbol (~) will not be shown in casesin which the corresponding unstable keywords have been acceptedglobally via ACCEPT_KEYWORDS.
NOTES
You should almost always precede any package install or update attempt with a--pretend install or update. This lets you see how much will bedone, and shows you any blocking packages that you will have to rectify.This goes doubly so for the system and world sets, which canupdate a large number of packages if the ebuild repository has been particularlyactive.
You also want to typically use --update, which ignores packages thatare already fully updated but updates those that are not.
When you install a package with uninstalled dependencies and donot explicitly state those dependencies in the list of parameters,they will not be added to the world file. If you want them to bedetected for world updates, make sure to explicitly list them asparameters to emerge.
Gentoo Portage Slot Conflict Bracket
USE variables may be specified on the command line tooverride those specified in the default locations, letting youavoid using some dependencies you may not want to have. USEflags specified on the command line are NOT remembered. Forexample, env USE='-X -gnome' emerge mc will emerge mc withthose USE settings (on Bourne-compatible shells you may omit the envpart). If you want those USE settings to be morepermanent, you can put them in /etc/portage/package.use instead.
If emerge --update @system or emerge --update @worldfails with an error message, it may be that an ebuild uses somenewer feature not present in this version of emerge. Youcan use emerge --update sys-apps/portage to upgrade to the lastestversion, which should support any necessary new features.
MASKED PACKAGES
NOTE: Please use caution when using development packages. Problemsand bugs resulting from misusing masked packages drains Gentoodeveloper time. Please be sure you are capable of handling any problemsthat may ensue.
Masks in portage have many uses: they allow atesting period where the packages can be used in live machines; theyprevent the use of a package when it will fail; and they mask existingpackages that are broken or could pose a security risk. Read belowto find out how to unmask in various cases. Also note that if you giveemerge an ebuild, then all forms of masking will be ignored andemerge will attempt to emerge the package.
~) in front of thearchitecture name. emerge examines the ACCEPT_KEYWORDS environmentvariable to allow or disallow the emerging of a package masked byKEYWORDS. To inform emerge that it should build these 'testing'versions of packages, you should update your/etc/portage/package.accept_keywordsfile to list the packages you want the'testing' version. See portage(5) for more information.
LICENSE
The LICENSE variable in an ebuild file can be used to maskpackages based on licensing restrictions. emerge examines theACCEPT_LICENSE environment variable to allow or disallow the emergingof a package masked by LICENSE. See make.conf(5) for informationabout ACCEPT_LICENSE, and see portage(5) for information about/etc/portage/package.license.
PROPERTIES
The PROPERTIES variable in an ebuild file can be used to maskpackages based on properties restrictions. emerge examines theACCEPT_PROPERTIES environment variable to allow or disallow the emergingof a package masked by PROPERTIES. See make.conf(5) for informationabout ACCEPT_PROPERTIES, and see portage(5) for information about/etc/portage/package.properties. Use the --accept-propertiesoption to temporarily override ACCEPT_PROPERTIES.
RESTRICT
The RESTRICT variable in an ebuild file can be used to maskpackages based on RESTRICT tokens. emerge examines theACCEPT_RESTRICT environment variable to allow or disallow the emergingof a package masked by RESTRICT. See make.conf(5) for informationabout ACCEPT_RESTRICT, and see portage(5) for information about/etc/portage/package.accept_restrict. Use the --accept-restrictoption to temporarily override ACCEPT_RESTRICT.
CONFIGURATION FILES
Portage has a special feature called 'config file protection'. The purpose ofthis feature is to prevent new package installs from clobbering existingconfiguration files. By default, config file protection is turned on for /etcand the KDE configuration dirs; more may be added in the future.
When Portage installs a file into a protected directory tree like /etc, anyexisting files will not be overwritten. If a file of the same name alreadyexists, Portage will change the name of the to-be-installed file from 'foo'to '._cfg0000_foo'. If '._cfg0000_foo' already exists, this name becomes'._cfg0001_foo', etc. In this way, existing files are not overwritten,allowing the administrator to manually merge the new config files and avoid anyunexpected changes.
In addition to protecting overwritten files, Portage will not delete any filesfrom a protected directory when a package is unmerged. While this may be alittle bit untidy, it does prevent potentially valuable config files from beingdeleted, which is of paramount importance.
Protected directories are set using the CONFIG_PROTECT variable, normallydefined in make.globals. Directory exceptions to the CONFIG_PROTECTeddirectories can be specified using the CONFIG_PROTECT_MASK variable.To find files that need to be updated in /etc, type find /etc -name'._cfg????_*'.
You can disable this feature by setting CONFIG_PROTECT='-*' inmake.conf(5).Then, Portage will mercilessly auto-update your config files. Alternatively,you can leave Config File Protection on but tell Portage that it can overwritefiles in certain specific /etc subdirectories. For example, if you wantedPortage to automatically update your rc scripts and your wget configuration,but didn't want any other changes made without your explicit approval, you'dadd this to make.conf(5):
CONFIG_PROTECT_MASK=/etc/wget /etc/rc.d
CONFIGURATION FILES UPDATE TOOLS
Tools such as dispatch-conf, cfg-update, and etc-update are also availableto aid in the merging of these files. They provide interactive merging and canauto-merge trivial changes.
REPORTING BUGS
Please report any bugs you encounter through our website:
Please include the output of emerge --info when you submit yourbug report.
AUTHORS
FILES
Here is a common list of files you will probably be interested in. For acomplete listing, please refer to the portage(5) man page.