KEYWORDS/draft

From Gentoo Wiki
Jump to:navigation Jump to:search
 THIS IS A DRAFT TO REPLACE THE PAGE KEYWORDS. FEEL FREE TO EDIT!

Not to be confused with ACCEPT_KEYWORDS.

In Gentoo Keywords are used to define which branch a software version is assigned to, similar to stable, unstable and testing in Debian. In Gentoo the branches are called stable and testing. Stable is described as arch, e.g. arm64, x86 and testing is described as ~arch, e.g. ~amd64, ~ppc. Versions of a package that are not part of stable or testing are called "not keyworded". The classification is independent for every architecture.

Keywording and stabilization

If a new software gets part of a repository it is with only those arches keyworded which the maintainer has tested. After some short testing a keywording request can be made by users for further architectures in https://bugs.gentoo.org. The package version gets keyworded as ~arch by the maintainer. After some time and testing a stabilization request can be made and the package version gets the keyword arch.

The exact requirements for keywording and stabilizations requests are defined by the architecture projects.

Example of the different keywords of a package

There are several ways to get details about the keywords of a software version, for example equery and packages.gentoo.org:

user $equery m app-editors/emacs
* app-editors/emacs [gentoo]

Maintainer: gnu-emacs@gentoo.org (Gentoo GNU Emacs project)
Upstream: None specified
Homepage: https://www.gnu.org/software/emacs/
Location: /var/db/repos/gentoo/app-editors/emacs
Keywords: 18.59-r14:18: amd64 x86
Keywords: 23.4-r21:23: amd64 arm ppc ppc64 x86 ~alpha ~amd64-linux ~hppa ~ia64 ~mips ~ppc-macos ~sparc ~x86-linux
Keywords: 24.5-r11:24: amd64 arm ppc x86 ~alpha ~amd64-linux ~hppa ~ia64 ~mips ~ppc-macos ~ppc64 ~sparc ~x64-macos ~x86-linux
Keywords: 25.3-r11:25: amd64 arm arm64 ppc ppc64 sparc x86 ~alpha ~amd64-linux ~hppa ~ia64 ~m68k ~mips ~ppc-macos ~x64-macos ~x86-linux
Keywords: 26.3-r7:26: amd64 arm arm64 hppa ppc ppc64 sparc x86 ~alpha ~amd64-linux ~ia64 ~mips ~ppc-macos ~riscv ~x64-macos ~x86-linux
Keywords: 27.2-r5:27: amd64 arm arm64 hppa ppc ppc64 sparc x86 ~alpha ~amd64-linux ~ia64 ~m68k ~mips ~ppc-macos ~riscv ~x64-macos ~x86-linux
Keywords: 28.1-r2:28: amd64 arm arm64 hppa ppc ppc64 sparc x86
Keywords: 28.1-r3:28:
Keywords: 28.2:28: ~alpha ~amd64 ~amd64-linux ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc-macos ~ppc64 ~riscv ~sparc ~x64-macos ~x86 ~x86-linux
Keywords: 28.2.9999:28-vcs:
Keywords: 29.0.9999:29-vcs:
License: GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2

packages.gentoo.org showing keywords about emacs


Some possible values and wildcards for KEYWORDS

The following box contains some example values for the KEYWORDS variable:

FILE example.ebuild
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.

The prefix ~ (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.

Special wildscards for keywords

In addition to the normal KEYWORDS values Portage supports three special wildcards:

  • * - 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).
Note
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 wildcard or keyword

To use a recent version of fdftk which is marked stable or unstable on any arch use:

FILE /etc/portage/package.accept_keywords
app-text/fdftk * ~*

To use a recent version of fdftk which is marked unstable on your architecture or stable on any arch use:

FILE /etc/portage/package.accept_keywords
app-text/fdftk ~arch *

To use a recent version of fdftk which is marked unstable on x86 or amd64 use:

FILE /etc/portage/package.accept_keywords
app-text/fdftk ~x86 ~amd64

See also

  • ACCEPT_KEYWORDS — informs the package manager which ebuilds' KEYWORDS values it is allowed to accept.
  • Stable request — the procedure for moving an ebuild from testing to stable.
  • Package testing — provides information for ebuild developers on testing ebuilds.

External resources