ACCEPT KEYWORDS

The  variable informs the package manager which ebuilds' KEYWORDS values it is allowed to accept.

Where the variable is set?
The variable is usually set through the Gentoo profile but can be overruled in the users' file, per-package in the  file/directory or even on the command line.

Stable and unstable keywords
The default value of most profiles'  variable is the architecture itself, like   or. In these cases, the package manager will only accept ebuilds whose KEYWORDS variable contains this architecture. If the user wants to be able to install and work with ebuilds that are not considered production-ready yet, they can add the same architecture but with the  prefix to it, like so:

One should not specify the stable keyword when adding the testing keyword  because   is an incremental variable.

Or per-package in the file:

Or when is directory:

In addition to the normal values from   supports three special tokens :
 * — package is visible if it is stable on any architecture
 * — package is visible if it is in testing on any architecture
 * — package is always visible ( are ignored completely)

The last choice is useful for live package versions (it is current svn/git/mercurial/… versions of packages, they usually have 9999 version in portage and haven’t  variable).