Knowledge Base:Accepting a keyword for a single package

Not all software present in the Gentoo repository will be immediately available to install with the emerge command. Software that is still undergoing testing is hidden by a keyword and needs to be explicitly accepted to be installed (unless you are already using the testing branch system-wide). Beware that using software from the testing branch might incur stability issues, it is not recommended for inexperienced users.

Trying to emerge a package from the testing branch
On trying to install a package from the testing branch of the Gentoo repository, the Portage command will quit after issuing a warning that will look something like this :

Portage found that the only way it could honor the request would be by installing the testing branch ("~arch") version of a package. In the example above, it would be since the example system uses the  architecture (x86_64).

Portage will warn that a testing branch package is being requested on trying to a package for which there is no stable branch version but there is a testing branch version in the Gentoo repository. It will also warn if a specific version is requested that is in the testing branch. The same error will be issued if a package dependency is only available in the testing branch.

How to make packages from the testing branch available
This assumes that the user is comfortable with installing testing ebuilds. If this is an error (testing ebuilds are not desired but the stable ebuilds do not suffice for the installation), check with the Gentoo developers and, if necessary, open a bug report.

Using --autounmask-write
Re-running the command with  automatically queues the required text file alteration:

As with all conf files, the final update is made by running (or alternatively ):

Examine the diff output, press to exit the pager (if commands at the end), and then  for   to accept the alterations.

Re-run the emerge one last time:

Using traditional files
Create the directory if it does not exist yet:

Add the required line:

Using directories
Create the directory if it does not exist yet:

Next, create a file in to tell Portage which ebuilds to accept for installation. For instance, if you want to install Term-ScreenColor but Term-Screen fails, create a file named (this filename is used to the user has a reference as to why they deviated from the standard keywords) in which the Term-Screen deviation is placed:

Additional notes
To also let in  package revisions which may contain immediately beneficial updates, replace the leading   (equals sign) with a   (tilde):

The keyword itself can usually be omitted:

To always install the latest testing version, drop the leading  or   as well as the version at the end:

If the mask is because no KEYWORDS are defined, use the  notation:

How packages are marked as being in the testing branch
Every Gentoo ebuild (package) has a set of KEYWORDS values that are referenced when it compiles. These keywords identify for which architectures the ebuild is installable, and if the ebuild is stable (no prefix) or still in testing phase (prefixed by ).

In certain cases, the package is defined with no KEYWORDS content. In this specific case, Portage will suggest to use the special  keyword value to override.