This article is for anyone working on ebuilds. Most users may want to refer to other articles, such as accepting a keyword for a single package.
In an ebuild the KEYWORDS variable informs in which architectures the ebuild is stable or still in testing phase.
Some possible values for KEYWORDS
The following box contains some example values for the KEYWORDS variable:
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd"
See the /var/db/repos/gentoo/profiles/arch.list for a list of keywords.
~ (a tilde character) placed in front of various architectures in the example above means that architecture is in a "testing phase" and is not ready for production usage.
In addition to the normal KEYWORDS values Portage 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 (KEYWORDS are ignored completely).
The behavior of ~arch and ~* differ: ~arch includes arch, ~* doesn't include *. To use the most recent version of a package which is marked stable or unstable on any architecture, specify "* ~*".
Using more then one keyword
To use a recent version which is marked stable or unstable on any arch use:
app-text/fdftk * ~*
To use a recent version which is marked unstable on your architecture or stable on any arch use:
app-text/fdftk ~arch *
Using a package that is released for another architecture only
-* KEYWORD is specified, this indicates that the package is known to be broken on all systems which are not otherwise listed in KEYWORDS. For example, a binary only package which is built for the x86 will look like:
equery meta fdftk
* app-text/fdftk [gentoo] Maintainer: firstname.lastname@example.org Maintainer: email@example.com (Gentoo TeX Project) Upstream: None specified Homepage: http://www.adobe.com/devnet/acrobat/fdftoolkit.html Location: /var/portage/repos/gentoo/app-text/fdftk Keywords: 6.0-r1:0: x86 -* License: Adobe
To accept this package on a amd64 system anyways, then use one of the other keywords in the package.accept_keywords like this:
For detailed information see the portage(5) man page.
- ACCEPT_KEYWORDS — informs the package manager which ebuilds' KEYWORDS values it is allowed to accept.
- Knowledge Base:Accepting a keyword for a single package
- Knowledge Base:Accepting a keyword for all packages
- Stable request — the procedure for moving an ebuild from testing to stable.
- Package testing — provides information for ebuild developers on testing ebuilds.
- /etc/portage/package.accept_keywords — files or directories of files containing definitions for per-package ACCEPT_KEYWORDS statements.
- equery ke(y)words — display keywords for specified PKG