/[gentoo]/xml/htdocs/proj/en/glep/glep-0022.html
Gentoo

Diff of /xml/htdocs/proj/en/glep/glep-0022.html

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.1 Revision 1.7
6PEP, see http://www.python.org/peps/pep-0001.html for instructions and links 6PEP, see http://www.python.org/peps/pep-0001.html for instructions and links
7to templates. DO NOT USE THIS HTML FILE AS YOUR TEMPLATE! 7to templates. DO NOT USE THIS HTML FILE AS YOUR TEMPLATE!
8--> 8-->
9<head> 9<head>
10 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 10 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
11 <meta name="generator" content="Docutils 0.3.0: http://docutils.sourceforge.net/" /> 11 <meta name="generator" content="Docutils 0.3.5: http://docutils.sourceforge.net/" />
12 <title>GLEP 22 -- New "keyword" system to incorporate various userlands/kernels/archs</title> 12 <title>GLEP 22 -- New "keyword" system to incorporate various userlands/kernels/archs</title>
13 <link rel="stylesheet" href="tools/glep.css" type="text/css" /> 13 <link rel="stylesheet" href="tools/glep.css" type="text/css" />
14</head> 14</head>
15<body bgcolor="white"> 15<body bgcolor="white">
16<table class="navigation" cellpadding="0" cellspacing="0" 16<table class="navigation" cellpadding="0" cellspacing="0"
20<img src="http://www.gentoo.org/images/gentoo-new.gif" alt="[Gentoo]" 20<img src="http://www.gentoo.org/images/gentoo-new.gif" alt="[Gentoo]"
21 border="0" width="150" height="35" /></a></td> 21 border="0" width="150" height="35" /></a></td>
22<td class="textlinks" align="left"> 22<td class="textlinks" align="left">
23[<b><a href="http://www.gentoo.org/">Gentoo Linux Home</a></b>] 23[<b><a href="http://www.gentoo.org/">Gentoo Linux Home</a></b>]
24[<b><a href="http://www.gentoo.org/proj/en/glep">GLEP Index</a></b>] 24[<b><a href="http://www.gentoo.org/proj/en/glep">GLEP Index</a></b>]
25[<b><a href="http://www.gentoo.org/proj/en/glep/glep-0022.txt">GLEP Source</a></b>] 25[<b><a href="./glep-0022.txt">GLEP Source</a></b>]
26</td></tr></table> 26</td></tr></table>
27<div class="document"> 27<div class="document">
28<table class="rfc2822 field-list" frame="void" rules="none"> 28<table class="rfc2822 field-list" frame="void" rules="none">
29<col class="field-name" /> 29<col class="field-name" />
30<col class="field-body" /> 30<col class="field-body" />
31<tbody valign="top"> 31<tbody valign="top">
32<tr class="field"><th class="field-name">GLEP:</th><td class="field-body">22</td> 32<tr class="field"><th class="field-name">GLEP:</th><td class="field-body">22</td>
33</tr> 33</tr>
34<tr class="field"><th class="field-name">Title:</th><td class="field-body">New &quot;keyword&quot; system to incorporate various userlands/kernels/archs</td> 34<tr class="field"><th class="field-name">Title:</th><td class="field-body">New &quot;keyword&quot; system to incorporate various userlands/kernels/archs</td>
35</tr> 35</tr>
36<tr class="field"><th class="field-name">Version:</th><td class="field-body">1.1</td> 36<tr class="field"><th class="field-name">Version:</th><td class="field-body">1.8</td>
37</tr> 37</tr>
38<tr class="field"><th class="field-name">Last-Modified:</th><td class="field-body"><a class="reference" href="http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/proj/en/glep/glep-0022.txt?cvsroot=gentoo">2004/03/07 02:20:32</a></td> 38<tr class="field"><th class="field-name">Last-Modified:</th><td class="field-body"><a class="reference" href="http://www.gentoo.org/cgi-bin/viewcvs/xml/htdocs/proj/en/glep/glep-0022.txt?cvsroot=gentoo">2005/01/09 16:12:40</a></td>
39</tr> 39</tr>
40<tr class="field"><th class="field-name">Author:</th><td class="field-body">Grant Goodyear &lt;g2boojum&#32;&#97;t&#32;gentoo.org&gt;</td> 40<tr class="field"><th class="field-name">Author:</th><td class="field-body">Grant Goodyear &lt;g2boojum&#32;&#97;t&#32;gentoo.org&gt;</td>
41</tr> 41</tr>
42<tr class="field"><th class="field-name">Status:</th><td class="field-body">Draft</td> 42<tr class="field"><th class="field-name">Status:</th><td class="field-body">Final</td>
43</tr> 43</tr>
44<tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td> 44<tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td>
45</tr> 45</tr>
46<tr class="field"><th class="field-name">Content-Type:</th><td class="field-body"><a class="reference" href="glep-0002.html">text/x-rst</a></td> 46<tr class="field"><th class="field-name">Content-Type:</th><td class="field-body"><a class="reference" href="glep-0012.html">text/x-rst</a></td>
47</tr> 47</tr>
48<tr class="field"><th class="field-name">Created:</th><td class="field-body">6-Mar-2004</td> 48<tr class="field"><th class="field-name">Created:</th><td class="field-body">6-Mar-2004</td>
49</tr> 49</tr>
50<tr class="field"><th class="field-name">Post-History:</th><td class="field-body">6-Mar-2004</td> 50<tr class="field"><th class="field-name">Post-History:</th><td class="field-body">6-Mar-2004, 5-Jun-2004, 20-Jul-2004</td>
51</tr> 51</tr>
52</tbody> 52</tbody>
53</table> 53</table>
54<hr /> 54<hr />
55<div class="contents topic" id="contents"> 55<div class="contents topic" id="contents">
56<p class="topic-title"><a name="contents">Contents</a></p> 56<p class="topic-title first"><a name="contents">Contents</a></p>
57<ul class="simple"> 57<ul class="simple">
58<li><a class="reference" href="#status" id="id14" name="id14">Status</a></li>
58<li><a class="reference" href="#credits" id="id14" name="id14">Credits</a></li> 59<li><a class="reference" href="#credits" id="id15" name="id15">Credits</a></li>
59<li><a class="reference" href="#abstract" id="id15" name="id15">Abstract</a></li> 60<li><a class="reference" href="#abstract" id="id16" name="id16">Abstract</a></li>
60<li><a class="reference" href="#motivation" id="id16" name="id16">Motivation</a></li> 61<li><a class="reference" href="#motivation" id="id17" name="id17">Motivation</a></li>
61<li><a class="reference" href="#specification" id="id17" name="id17">Specification</a><ul> 62<li><a class="reference" href="#specification" id="id18" name="id18">Specification</a><ul>
62<li><a class="reference" href="#new-variables" id="id18" name="id18">New Variables</a></li> 63<li><a class="reference" href="#keyword-fragments" id="id19" name="id19">Keyword Fragments</a></li>
63<li><a class="reference" href="#reasonable-defaults" id="id19" name="id19">Reasonable Defaults</a></li> 64<li><a class="reference" href="#reasonable-defaults" id="id20" name="id20">Reasonable Defaults</a></li>
65<li><a class="reference" href="#ebuild-keyword-database" id="id21" name="id21">Ebuild Keyword Database?</a></li>
64<li><a class="reference" href="#profiles" id="id20" name="id20">Profiles</a></li> 66<li><a class="reference" href="#profiles" id="id22" name="id22">Profiles</a></li>
65</ul> 67</ul>
66</li> 68</li>
67<li><a class="reference" href="#rationale" id="id21" name="id21">Rationale</a></li> 69<li><a class="reference" href="#rationale" id="id23" name="id23">Rationale</a></li>
68<li><a class="reference" href="#implementation" id="id22" name="id22">Implementation</a></li> 70<li><a class="reference" href="#implementation" id="id24" name="id24">Implementation</a></li>
69<li><a class="reference" href="#backwards-compatibility" id="id23" name="id23">Backwards Compatibility</a></li> 71<li><a class="reference" href="#backwards-compatibility" id="id25" name="id25">Backwards Compatibility</a></li>
70<li><a class="reference" href="#id1" id="id24" name="id24">References</a></li> 72<li><a class="reference" href="#id1" id="id26" name="id26">References</a></li>
71<li><a class="reference" href="#copyright" id="id25" name="id25">Copyright</a></li> 73<li><a class="reference" href="#copyright" id="id27" name="id27">Copyright</a></li>
72</ul> 74</ul>
73</div> 75</div>
76<div class="section" id="status">
77<h1><a class="toc-backref" href="#id14" name="status">Status</a></h1>
78<p>After withdrawing this GLEP temporarily, a rewritten version has
79now been resubmitted. This version no longer tries to prevent a
80keyword explosion, but merely tries to make it manageable.</p>
81<p>This version was approved on 14-Jun-2004, with the amendment that cascading
82profiles should be used.</p>
83</div>
74<div class="section" id="credits"> 84<div class="section" id="credits">
75<h1><a class="toc-backref" href="#id14" name="credits">Credits</a></h1> 85<h1><a class="toc-backref" href="#id15" name="credits">Credits</a></h1>
76<p>This GLEP originated from the concerns that Daniel Robbins had with 86<p>This GLEP originated from the concerns that Daniel Robbins had with the
77the <em>x86obsd</em> keyword, and his desire to make the KEYWORDS variable more 87<em>x86obsd</em> keyword, and his desire to make the KEYWORDS variable more
78&quot;feature-rich&quot;. Drobbins' original idea was that we should 88&quot;feature-rich&quot;. Drobbins' original idea was that we should allow compound
79allow compound
80keywords such as gnu/x86, gnu/ppc, and macos/ppc (which would be explicit 89keywords such as gnu/x86, gnu/ppc, and macos/ppc (which would be explicit
81versions of the more familiar x86, ppc, and macos keywords). Method noted 90versions of the more familiar x86, ppc, and macos keywords). Method noted
82that userland/arch failed to capture the full range of possibilities (what 91that userland/arch failed to capture the full range of possibilities (what
83about a GNU userland on a BSD kernel+libc?), and 92about a GNU userland on a BSD kernel+libc?), and the issue has languished due
84the issue has languished due to a lack of reasonable solutions.</p> 93to a lack of reasonable solutions. The original version of this GLEP
94generated quite useful comments which hopefully have been addressed here to
95make the GLEP much more reasonable.</p>
85</div> 96</div>
86<div class="section" id="abstract"> 97<div class="section" id="abstract">
87<h1><a class="toc-backref" href="#id15" name="abstract">Abstract</a></h1> 98<h1><a class="toc-backref" href="#id16" name="abstract">Abstract</a></h1>
88<p>As Gentoo branches out to support non-Linux and non-GNU systems (such 99<p>As Gentoo branches out to support non-Linux and non-GNU systems (such as Hurd,
89as Hurd or the *BSDs), the potential for an &quot;explosion&quot; of possible 100the *BSDs, or even the soon-to-be-open-sourced Solaris), the potential for an
90keywords becomes rather large, since each 101&quot;explosion&quot; of possible keywords becomes rather large, since each new
91new userland/kernel/arch/whatever 102userland/kernel/arch/whatever combination will require a new keyword. This
92combination would require a new keyword. 103GLEP proposes a simple extension to the current KEYWORDS variable that
93This GLEP proposes replacing the current 104encompasses the four parameters ARCH, USERLAND, KERNEL, and LIBC, but uses
94KEYWORDS variable with four variables, ARCH, USERNAME, KERNEL, and LIBC,
95along with sensible defaults to keep the new system manageable.</p> 105sensible defaults to keep the new system manageable.</p>
96</div> 106</div>
97<div class="section" id="motivation"> 107<div class="section" id="motivation">
98<h1><a class="toc-backref" href="#id16" name="motivation">Motivation</a></h1> 108<h1><a class="toc-backref" href="#id17" name="motivation">Motivation</a></h1>
99<p>Since the beginning, Gentoo Linux has been conceived as a &quot;metadistribution&quot; 109<p>Since the beginning, Gentoo Linux has been conceived as a &quot;metadistribution&quot;
100that combines remarkable flexibility with sensible defaults and exceptional 110that combines remarkable flexibility with sensible defaults and exceptional
101maintainablilty. The goal of the <a class="reference" href="http://www.gentoo.org/proj/en/gentoo-alt/index.xml">Gentoo-Alt</a> <a class="footnote-reference" href="#id2" id="id3" name="id3">[1]</a> project has been to extend that 111maintainablilty. The goal of the <a class="reference" href="http://www.gentoo.org/proj/en/gentoo-alt/index.xml">Gentoo-Alt</a> <a class="footnote-reference" href="#id2" id="id3" name="id3">[1]</a> project has been to extend that
102flexibility to include systems other than GNU/Linux. For example, the author 112flexibility to include systems other than GNU/Linux. For example, the author
103of this GLEP has been working to create a <a class="reference" href="http://www.gentoo.org/proj/en/gentoo-alt/bsd/index.xml">version</a> <a class="footnote-reference" href="#id8" id="id9" name="id9">[3]</a> of Gentoo that uses 113of this GLEP has been working to create a <a class="reference" href="http://www.gentoo.org/proj/en/gentoo-alt/bsd/index.xml">version</a> <a class="footnote-reference" href="#id8" id="id9" name="id9">[3]</a> of Gentoo that uses
104<a class="reference" href="http://www.openbsd.com">OpenBSD</a> <a class="footnote-reference" href="#id5" id="id6" name="id6">[2]</a> as the underlying kernel, userland, and libc. <a class="reference" href="http://www.openbsd.com">OpenBSD</a> <a class="footnote-reference" href="#id5" id="id7" name="id7">[2]</a> supports 114<a class="reference" href="http://www.openbsd.com">OpenBSD</a> <a class="footnote-reference" href="#id5" id="id6" name="id6">[2]</a> as the underlying kernel, userland, and libc. <a class="reference" href="http://www.openbsd.com">OpenBSD</a> <a class="footnote-reference" href="#id5" id="id7" name="id7">[2]</a> supports a
105a variety of different architectures, so, in principle, we would need a new 115variety of different architectures, so, in principle, we would need a new
106<em>openbsd-arch</em> keyword for each supported architecture. In fact, the situation 116<em>openbsd-arch</em> keyword for each supported architecture. In fact, the
107is even more complicated, because the <a class="reference" href="http://www.gentoo.org/proj/en/gentoo-alt/index.xml">Gentoo-Alt</a> <a class="footnote-reference" href="#id2" id="id4" name="id4">[1]</a> project would eventually 117situation is even more complicated, because the <a class="reference" href="http://www.gentoo.org/proj/en/gentoo-alt/index.xml">Gentoo-Alt</a> <a class="footnote-reference" href="#id2" id="id4" name="id4">[1]</a> project would
108like 118eventually like to support the option of &quot;mixing-and-matching&quot;
109to support the option of &quot;mixing-and-matching&quot; GNU/*BSD/whatever userlands 119GNU/*BSD/whatever userlands and libcs irrespective of the underlying kernel.
110and libcs irrespective of the underlying kernel. (<a class="reference" href="http://www.debian.org">Debian</a> <a class="footnote-reference" href="#id10" id="id11" name="id11">[4]</a>, for example 120(<a class="reference" href="http://www.debian.org">Debian</a> <a class="footnote-reference" href="#id10" id="id11" name="id11">[4]</a>, for example has a similar BSD <a class="reference" href="http://www.debian.org/ports/netbsd/">project</a> <a class="footnote-reference" href="#id12" id="id13" name="id13">[5]</a>, except that they have
111has a similar BSD <a class="reference" href="http://www.debian.org/ports/netbsd/">project</a> <a class="footnote-reference" href="#id12" id="id13" name="id13">[5]</a>, except that they have replaced the
112BSD userland with a GNU userland.) The net result is that we would need 121replaced the BSD userland with a GNU userland.) The net result is that we
113keywords that specified all possible permutations of arch, userland, kernel 122need keywords that can specify all possible permutations of arch,
114and libc. Not fun.</p> 123userland, kernel and libc. A systematic nomenclature is needed.
124Fortunately, the author is a Chemist. <em>Grin</em></p>
115</div> 125</div>
116<div class="section" id="specification"> 126<div class="section" id="specification">
117<h1><a class="toc-backref" href="#id17" name="specification">Specification</a></h1> 127<h1><a class="toc-backref" href="#id18" name="specification">Specification</a></h1>
118<div class="section" id="new-variables"> 128<div class="section" id="keyword-fragments">
119<h2><a class="toc-backref" href="#id18" name="new-variables">New Variables</a></h2> 129<h2><a class="toc-backref" href="#id19" name="keyword-fragments">Keyword Fragments</a></h2>
120<p>I suggest that we replace the single KEYWORDS variable in ebuilds 130<p>Each keyword needs to specify, either explicitly or
121with four separate variables: ARCH, USERLAND, LIBC, and KERNEL.</p> 131implicitly, the following parameters: ARCH, USERLAND, LIBC, and KERNEL.</p>
122<blockquote> 132<blockquote>
123<dl> 133<dl>
124<dt>ARCH: </dt> 134<dt>ARCH: </dt>
125<dd>x86, amd64, cobalt, mips64, arm, hppa, ia64, ppc64, sparc</dd> 135<dd>x86, amd64, cobalt, mips64, arm, hppa, ia64, ppc64, sparc</dd>
136<dt>KERNEL: </dt>
137<dd>linux, selinux, openbsd, freebsd, netbsd, macosx</dd>
126<dt>USERLAND: </dt> 138<dt>USERLAND: </dt>
127<dd>gnu, bsd</dd> 139<dd>gnu, bsd</dd>
128<dt>LIBC: </dt> 140<dt>LIBC: </dt>
129<dd>glibc, openbsd, freebsd, netbsd, macosx</dd> 141<dd>glibc, openbsd, freebsd, netbsd, macosx</dd>
130<dt>KERNEL: </dt>
131<dd>linux, selinux, openbsd, freebsd, netbsd, macosx</dd>
132</dl> 142</dl>
133</blockquote> 143</blockquote>
134<p>(The above examples are not meant to be complete. Hurd, for example 144<p>(The above examples are not meant to be complete. Hurd, for example
135is not included because I know very little about Hurd.) 145is not included because I know very little about Hurd.)</p>
136For each variable the standard &quot;-,-*,~&quot; prefixes would be allowed. 146<p>A fully-specified keyword would look like
137Similarly, <cite>/etc/make.conf</cite> would have ACCEPT_ARCH, ACCEPT_USERLAND, 147&quot;ARCH-KERNEL-USERLAND-LIBC&quot;, so, for example,
138ACCEPT_LIBC, and ACCEPT_KERNEL variables.</p> 148&quot;ppc-fbsd-gnu-glibc&quot; would indicate a Gentoo system corresponding to
149a ppc architecture running the FreeBSD kernel with a GNU userland and glibc
150as the system C library.</p>
139</div> 151</div>
140<div class="section" id="reasonable-defaults"> 152<div class="section" id="reasonable-defaults">
141<h2><a class="toc-backref" href="#id19" name="reasonable-defaults">Reasonable Defaults</a></h2> 153<h2><a class="toc-backref" href="#id20" name="reasonable-defaults">Reasonable Defaults</a></h2>
142<p>To keep this system manageable, we need sensible defaults. An ebuild 154<p>To keep this system manageable (and both to reduce typing and maintain
143that has missing USERLAND, KERNEL, or LIBC variables is provided 155backwards compatibility), we need sensible defaults. For backwards
144with implicit USERLAND=&quot;gnu&quot;, KERNEL=&quot;linux&quot;, and/or LIBC=&quot;glibc&quot; 156compatibility, the Gentoo default is a Linux kernel with a GNU userland
145variables. However, once a variable is explicitly added (such as 157and glibc C library. Thus, the current crop of ARCH-based keywords
146KERNEL=&quot;openbsd&quot;), the default is no longer assumed. That is, 158(x86, ppc, etcetera) require no change whatsoever. For the *BSD-based
147one would need KERNEL=&quot;openbsd linux&quot; if the ebuild is stable on 159systems the default USERLAND and LIBC would be those normally associated
148both openbsd and linux kernels.</p> 160with the corresponding KERNEL, so &quot;x86-obsd&quot; describes an x86 system
149<p>The ARCH variable, on the other hand, does <em>not</em> have a default, per se. 161with an OpenBSD kernel, a BSD userland, and the OpenBSD C library. If
150Instead, if no ARCH variable exists then portage would automatically 162either USERLAND or LIBC is specified, and thus not the default, then the
151add the ebuild's KEYWORD entries to ARCH. Thus, all current ebuilds 163entire four-parameter string must be used.</p>
152would still work without changes, allowing for a gradual transition 164</div>
153to the new system as the new variables are needed.</p> 165<div class="section" id="ebuild-keyword-database">
166<h2><a class="toc-backref" href="#id21" name="ebuild-keyword-database">Ebuild Keyword Database?</a></h2>
167<p>One issue that has been raised is that adding a large number of keywords
168to ebuilds is likely to become cumbersome over the long run. (One could
169imagine that for a simple <cite>econf &amp;&amp; emake &amp;&amp; einstall</cite> ebuild that the
170list of keywords could grow to be the lengthiest part of the ebuild.)
171Instead, perhaps it would make more sense to move each ebuild's keywords
172out of the ebuild proper into a separate, perhaps online, database.
173Nothing in this GLEP would be incompatible with such an approach, so
174any further discussion will be deferred to a possible future GLEP on
175that topic.</p>
154</div> 176</div>
155<div class="section" id="profiles"> 177<div class="section" id="profiles">
156<h2><a class="toc-backref" href="#id20" name="profiles">Profiles</a></h2> 178<h2><a class="toc-backref" href="#id22" name="profiles">Profiles</a></h2>
157<p>Along with an explosion of keywords comes a concomitant explosion 179<p>Along with an explosion of keywords comes a concomitant explosion of potential
158of potential profiles. The good news is that profiles show up only 180profiles. Just as in the current system, the profile name would be
159in a single directory, so an explosion there is easier to contain. 181&quot;FLAVOR-KEYWORD-VERSION&quot; (such as &quot;default-s390-2004.1&quot;). One drawback
160I suggest an arch-kernel-userland-libc-version naming scheme, with
161the kernel-userland-libc terms defaulting to linux-gnu-glibc if
162absent. (Yes, Chemists do tend to be fond of systematic naming
163systems.)</p>
164<p>One drawback to having a large number of profiles is that maintainance 182to having a large number of profiles is that maintainance becomes a
165becomes a significant problem. In fact, one could reasonably argue 183significant problem. In fact, one could reasonably argue that the current
166that the current number of profiles is already too many to be 184number of profiles is already too many to be easily maintained. One proposal
167easily maintained. One proposal that has been raised to simplify 185that has been raised to simplify matters is the idea of stackable, or
168matters is the idea of stackable, or cascading, profiles, so that 186cascading, profiles, so that only differences between profiles would have to
169only differences between profiles would have to be maintained.</p> 187be maintained.</p>
170</div> 188</div>
171</div> 189</div>
172<div class="section" id="rationale"> 190<div class="section" id="rationale">
173<h1><a class="toc-backref" href="#id21" name="rationale">Rationale</a></h1> 191<h1><a class="toc-backref" href="#id23" name="rationale">Rationale</a></h1>
174<p>The proposed new &quot;keywording&quot; system is far from elegant, which is 192<p>The proposed new &quot;keywording&quot; system is far from elegant, which is
175a substantial drawback. On the other hand, it is simple, it requires 193a substantial drawback. On the other hand, it is simple, it requires
176relatively minor changes (albeit ones that eventually would impact 194relatively minor changes, and the changes can be implemented
177every ebuild in the portage tree), and the changes can be implemented
178gradually over time.</p> 195gradually over time.</p>
179</div> 196</div>
180<div class="section" id="implementation"> 197<div class="section" id="implementation">
181<h1><a class="toc-backref" href="#id22" name="implementation">Implementation</a></h1> 198<h1><a class="toc-backref" href="#id24" name="implementation">Implementation</a></h1>
182<p>Implementation of this GLEP would divide into adding 199<p>Since the new keyword system is backwards-compatible with the current
183Portage functionality to support the new system and 200system, &quot;implementation&quot; just means adding new keywords to ebuilds
184modifying ebuilds to 201as new systems are supported.</p>
185comply with the new system.
186The Portage support involves hacking Portage
187to assemble and check a four-state
188arch-userland-kernel-libc variable instead of the simpler
189KEYWORD variable. One might quibble over algorithmic issues, but
190the actual concept is pretty straightforward. Rewriting ebuilds,
191on the other hand, is a massive undertaking. Fortunately, it is
192also a process that can be done over whatever length of time is
193required, since &quot;legacy&quot; ebuilds should work with no changes.</p>
194</div> 202</div>
195<div class="section" id="backwards-compatibility"> 203<div class="section" id="backwards-compatibility">
196<h1><a class="toc-backref" href="#id23" name="backwards-compatibility">Backwards Compatibility</a></h1> 204<h1><a class="toc-backref" href="#id25" name="backwards-compatibility">Backwards Compatibility</a></h1>
197<p>Backwards compatibility has already been addressed in some detail, 205<p>Backwards compatibility has already been addressed in some detail,
198with the stated goal being a system that would leave all current 206with the stated goal being a system that would leave all current
199ebuilds in a still-functioning state after the portage modifications 207ebuilds working exactly as they are now.</p>
200have been made. However, we are already using an ARCH variable for
201some arcane purpose in Portage, and that issue would still need to
202be resolved.</p>
203</div> 208</div>
204<div class="section" id="id1"> 209<div class="section" id="id1">
205<h1><a class="toc-backref" href="#id24" name="id1">References</a></h1> 210<h1><a class="toc-backref" href="#id26" name="id1">References</a></h1>
206<table class="footnote" frame="void" id="id2" rules="none"> 211<table class="footnote" frame="void" id="id2" rules="none">
207<colgroup><col class="label" /><col /></colgroup> 212<colgroup><col class="label" /><col /></colgroup>
208<tbody valign="top"> 213<tbody valign="top">
209<tr><td class="label"><a name="id2">[1]</a></td><td><em>(<a class="fn-backref" href="#id3">1</a>, <a class="fn-backref" href="#id4">2</a>)</em> <a class="reference" href="http://www.gentoo.org/proj/en/gentoo-alt/index.xml">http://www.gentoo.org/proj/en/gentoo-alt/index.xml</a></td></tr> 214<tr><td class="label"><a name="id2">[1]</a></td><td><em>(<a class="fn-backref" href="#id3">1</a>, <a class="fn-backref" href="#id4">2</a>)</em> <a class="reference" href="http://www.gentoo.org/proj/en/gentoo-alt/index.xml">http://www.gentoo.org/proj/en/gentoo-alt/index.xml</a></td></tr>
210</tbody> 215</tbody>
233<tr><td class="label"><a class="fn-backref" href="#id13" name="id12">[5]</a></td><td><a class="reference" href="http://www.debian.org/ports/netbsd/">http://www.debian.org/ports/netbsd/</a></td></tr> 238<tr><td class="label"><a class="fn-backref" href="#id13" name="id12">[5]</a></td><td><a class="reference" href="http://www.debian.org/ports/netbsd/">http://www.debian.org/ports/netbsd/</a></td></tr>
234</tbody> 239</tbody>
235</table> 240</table>
236</div> 241</div>
237<div class="section" id="copyright"> 242<div class="section" id="copyright">
238<h1><a class="toc-backref" href="#id25" name="copyright">Copyright</a></h1> 243<h1><a class="toc-backref" href="#id27" name="copyright">Copyright</a></h1>
239<p>This document is licensed under the Creative Commons - Attribution / Share 244<p>This document has been placed in the public domain.</p>
240Alike license. (<a class="reference" href="http://creativecommons.org/licenses/by-sa/1.0">http://creativecommons.org/licenses/by-sa/1.0</a>)</p>
241</div> 245</div>
242</div> 246</div>
243 247
244<hr class="footer"/> 248<hr class="footer" />
245<div class="footer"> 249<div class="footer">
246<a class="reference" href="glep-0022.txt">View document source</a>. 250<a class="reference" href="glep-0022.txt">View document source</a>.
247Generated on: 2004-03-07 02:20 UTC. 251Generated on: 2005-01-09 16:41 UTC.
248Generated by <a class="reference" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source. 252Generated by <a class="reference" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
249</div> 253</div>
250</body> 254</body>
251</html> 255</html>
252 256

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.7

  ViewVC Help
Powered by ViewVC 1.1.20