diff options
authorMichał Górny <>2017-09-14 23:14:39 +0200
committerUlrich Müller <>2017-10-09 12:08:51 +0200
commitc6fe2071a2e83be2203196ad7f9459941821a034 (patch)
treed81e1d9898c05917e05203af9803b581dff0d915 /glep-0053.rst
parentglep-0045: Mark Final since GLEP 1 now uses ISO 8601 dates (diff)
Rename all GLEPs to .rst
Diffstat (limited to 'glep-0053.rst')
1 files changed, 98 insertions, 0 deletions
diff --git a/glep-0053.rst b/glep-0053.rst
new file mode 100644
index 0000000..bfd08c0
--- /dev/null
+++ b/glep-0053.rst
@@ -0,0 +1,98 @@
+GLEP: 53
+Title: Keywording scheme
+Version: $Revision$
+Last-Modified: $Date$
+Author: Fabian Groffen <>, Diego Pettenò <>
+Status: Final
+Type: Standards Track
+Content-Type: text/x-rst
+Created: 11-Dec-2005
+Post-History: 13-Apr-2007
+This GLEP is a replacement of the keywording scheme from GLEP 22
+[#GLEP22]_. The current use of keywords is retained in favour of
+4-tuple keywords. This GLEP defines how current keywords are to be
+interpreted, and how future keywords should be constructed.
+Although the state of GLEP 22 [#GLEP22]_ is final, its keywording scheme
+was never propagated through the tree. In fact, 4-tuple keywords are
+not used at all. This GLEP defines a keywording scheme that is
+compatible with the scheme that is currently in use.
+The Gentoo/Alt project deals with different Operating Systems and
+architectures. Recently Gentoo/FreeBSD for Sparc was introduced after
+support for x86 platforms. This yielded in another new keyword.
+For these kind of platforms, a single field keyword is not enough to
+properly describe the OS and architecture. While four fields in a
+keyword are overkill, two fields in a keyword should be enough for
+Backwards Compatibility
+The proposed keywording scheme is fully compatible with the current
+situation of the portage tree, this in contrast to GLEP 22. The
+variables provided by GLEP 22 can't be extracted from the new keyword,
+but since GLEP 22-style keywords aren't in the tree at the moment, that
+is not a problem. The same information can be extracted from the
+``CHOST`` variable, if necessary. No modifications to ebuilds will have
+to be made.
+Keywords will consist out of two parts separated by a hyphen (``-``).
+The left hand part of the keyword is the architecture, such as `x86`,
+`sparc` or `ppc`. The right hand part indicates the operating system or
+distribution, such as `linux`, `macos`, `solaris` or `fbsd`. If the
+right hand part is omitted, it implies the operating system/distribution
+type is GNU/Linux. In such case the hyphen is also omitted. Examples
+of such keywords are ``x86`` and ``sparc-fbsd``. This is fully
+compatible with the current keywords used in the tree. Examples of
+OS/distributions for the right hand side of the keyword are:
+ (linux) GNU/Linux (Gentoo biased, but not fixed)
+ fbsd FreeBSD
+ macos Apple Mac OS
+ solaris Sun Solaris
+Both architecture as well as OS/distribution are lower-case ASCII
+(alpha) numeric character sequences. A valid keyword matches the
+following expression:
+ ``[a-z0-9]+(-[a-z0-9]+)?``
+Note that no limit on the length of both fields in the keyword are
+imposed. However, we cannot overemphasize our preference to keep
+keywords small and sensible.
+.. [#GLEP22] GLEP 22, New "keyword" system to incorporate various
+ userlands/kernels/archs, Goodyear,
+ (
+This work is licensed under the Creative Commons Attribution-ShareAlike 3.0
+Unported License. To view a copy of this license, visit