/[gentoo]/xml/htdocs/proj/en/glep/glep-0053.txt
Gentoo

Contents of /xml/htdocs/proj/en/glep/glep-0053.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations) (download)
Sun Jul 22 10:03:18 2007 UTC (7 years, 4 months ago) by grobian
Branch: MAIN
CVS Tags: HEAD
File MIME type: text/plain
add glep 53 (approved by the Council), kill glep 47 which is deprecated
by 53.

1 grobian 1.1 GLEP: 53
2     Title: Keywording scheme
3     Version: $Revision: 1.9 $
4     Last-Modified: $Date: 2007/07/13 20:11:33 $
5     Author: Fabian Groffen <grobian@gentoo.org>, Diego Pettenò <flameeyes@gentoo.org>
6     Status: Final
7     Type: Standards Track
8     Content-Type: text/x-rst
9     Created: 11-Dec-2005
10     Post-History: 13-Apr-2007
11    
12    
13    
14     Abstract
15     ========
16    
17     This GLEP is a replacement of the keywording scheme from GLEP 22
18     [#GLEP22]_. The current use of keywords is retained in favour of
19     4-tuple keywords. This GLEP defines how current keywords are to be
20     interpreted, and how future keywords should be constructed.
21    
22    
23     Motivation
24     ==========
25    
26     Although the state of GLEP 22 [#GLEP22]_ is final, its keywording scheme
27     was never propagated through the tree. In fact, 4-tuple keywords are
28     not used at all. This GLEP defines a keywording scheme that is
29     compatible with the scheme that is currently in use.
30    
31    
32     Rationale
33     =========
34    
35     The Gentoo/Alt project deals with different Operating Systems and
36     architectures. Recently Gentoo/FreeBSD for Sparc was introduced after
37     support for x86 platforms. This yielded in another new keyword.
38     For these kind of platforms, a single field keyword is not enough to
39     properly describe the OS and architecture. While four fields in a
40     keyword are overkill, two fields in a keyword should be enough for
41     everyone.
42    
43    
44     Backwards Compatibility
45     =======================
46    
47     The proposed keywording scheme is fully compatible with the current
48     situation of the portage tree, this in contrast to GLEP 22. The
49     variables provided by GLEP 22 can't be extracted from the new keyword,
50     but since GLEP 22-style keywords aren't in the tree at the moment, that
51     is not a problem. The same information can be extracted from the
52     ``CHOST`` variable, if necessary. No modifications to ebuilds will have
53     to be made.
54    
55    
56     Specification
57     =============
58    
59     Keywords will consist out of two parts separated by a hyphen (``-``).
60     The left hand part of the keyword is the architecture, such as `x86`,
61     `sparc` or `ppc`. The right hand part indicates the operating system or
62     distribution, such as `linux`, `macos`, `solaris` or `fbsd`. If the
63     right hand part is omitted, it implies the operating system/distribution
64     type is GNU/Linux. In such case the hyphen is also omitted. Examples
65     of such keywords are ``x86`` and ``sparc-fbsd``. This is fully
66     compatible with the current keywords used in the tree. Examples of
67     OS/distributions for the right hand side of the keyword are:
68    
69     ::
70    
71     (linux) GNU/Linux (Gentoo biased, but not fixed)
72     fbsd FreeBSD
73     macos Apple Mac OS
74     solaris Sun Solaris
75    
76     Both architecture as well as OS/distribution are lower-case ASCII
77     (alpha) numeric character sequences. A valid keyword matches the
78     following expression:
79    
80     ``[a-z0-9]+(-[a-z0-9]+)?``
81    
82     Note that no limit on the length of both fields in the keyword are
83     imposed. However, we cannot overemphasize our preference to keep
84     keywords small and sensible.
85    
86    
87    
88     .. [#GLEP22] GLEP 22, New "keyword" system to incorporate various
89     userlands/kernels/archs, Goodyear,
90     (http://glep.gentoo.org/glep-0022.html)
91    
92    
93     Copyright
94     =========
95    
96     This document has been placed in the public domain.

  ViewVC Help
Powered by ViewVC 1.1.20