Handbook:Parts/Portage/Branches

Stable
The ACCEPT_KEYWORDS variable defines the system's software branch. This variable is set in the file and is configured to the stable branch by default. In this instance the default value is.

For a more casual experience, and less risk of instability or other issues, the Handbook recommends staying on the stable software branch. Since this is Portage's default behavior no changes are necessary. System administrators who want to live dangerously or receive the latest possible software updates should read the Testing section.

Testing
In cases where the system administrator would like to run a less-tested software stack, and in exchange receive 'bleeding edge' updates, the testing branch can be selected. To switch to the testing branch, set the ACCEPT_KEYWORDS value to.

Any architecture supported by the Gentoo project can move to a testing branch by simply adding a  (tilde symbol) in front of the architecture's ACCEPT_KEYWORDS value.

The testing branch is exactly what one would expect - unstable. If a package is in testing, it means that the developers believe it is functional but has not been thoroughly tested. Systems using the testing branch may be the first to encounter bugs in the package. If bugs are discovered, please file a bug report to make the developer(s) aware.

When changing from the stable to the testing branch and performing a @world update, it is normal for many - sometimes hundreds - of packages to be updated to the latest available versions. Updates generally correspond to the upstream project's current release. Keep in mind that, after moving from stable to testing, it may prove a challenge to revert back to the stable branch. This is to be expected.

package.accept_keywords
It is possible to ask Portage to allow the testing branch for particular packages but use the stable branch for the rest of the system. To achieve this, add the package category and name in. It is also possible to create a directory (with the same name) and list the package in the files under that directory.

For instance, to use the testing branch for gnumeric:

Testing particular versions
To use a specific software version from the testing branch but don't want Portage to use the testing branch for subsequent versions, add in the version in the location. In this case use the = operator. It is also possible to enter a version range using the <=, <, > or >= operators.

In any case, if version information is added, an operator must be used. Without version information, an operator cannot be used.

In the following example we ask Portage to allow installing gnumeric-1.2.13 even when it is in the testing branch:

package.unmask
When a package has been masked by the Gentoo developers, yet despite the reason mentioned in the file (situated in  by default) a user still wants to use this package, then add the desired version (usually this will be the exact same line from the  file in the profile) to the  file (or in a file in that directory if it is a directory).

For instance, if  is masked, then it can be unmasked by adding the exact same line in the  location:

package.mask
It is also possible to ask Portage not to take a certain package or a specific version of a package into account. To do so, mask the package by adding an appropriate line to the location (either in that file or in a file in this directory).

For instance, to prevent Portage from installing kernel sources newer than gentoo-sources-, add the following line at the location: