/[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.2 Revision 1.3
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.4</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.cgi/xml/htdocs/proj/en/glep/glep-0022.txt?cvsroot=gentoo">2004/06/06 00:41: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">Withdrawn</td> 42<tr class="field"><th class="field-name">Status:</th><td class="field-body">Draft</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-0002.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</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">
58<li><a class="reference" href="#status" id="id14" name="id14">Status</a></li> 58<li><a class="reference" href="#status" id="id14" name="id14">Status</a></li>
59<li><a class="reference" href="#credits" id="id15" name="id15">Credits</a></li> 59<li><a class="reference" href="#credits" id="id15" name="id15">Credits</a></li>
60<li><a class="reference" href="#abstract" id="id16" name="id16">Abstract</a></li> 60<li><a class="reference" href="#abstract" id="id16" name="id16">Abstract</a></li>
61<li><a class="reference" href="#motivation" id="id17" name="id17">Motivation</a></li> 61<li><a class="reference" href="#motivation" id="id17" name="id17">Motivation</a></li>
62<li><a class="reference" href="#specification" id="id18" name="id18">Specification</a><ul> 62<li><a class="reference" href="#specification" id="id18" name="id18">Specification</a><ul>
63<li><a class="reference" href="#new-variables" id="id19" name="id19">New Variables</a></li> 63<li><a class="reference" href="#keyword-fragments" id="id19" name="id19">Keyword Fragments</a></li>
64<li><a class="reference" href="#reasonable-defaults" id="id20" name="id20">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>
65<li><a class="reference" href="#profiles" id="id21" name="id21">Profiles</a></li> 66<li><a class="reference" href="#profiles" id="id22" name="id22">Profiles</a></li>
66</ul> 67</ul>
67</li> 68</li>
68<li><a class="reference" href="#rationale" id="id22" name="id22">Rationale</a></li> 69<li><a class="reference" href="#rationale" id="id23" name="id23">Rationale</a></li>
69<li><a class="reference" href="#implementation" id="id23" name="id23">Implementation</a></li> 70<li><a class="reference" href="#implementation" id="id24" name="id24">Implementation</a></li>
70<li><a class="reference" href="#backwards-compatibility" id="id24" name="id24">Backwards Compatibility</a></li> 71<li><a class="reference" href="#backwards-compatibility" id="id25" name="id25">Backwards Compatibility</a></li>
71<li><a class="reference" href="#id1" id="id25" name="id25">References</a></li> 72<li><a class="reference" href="#id1" id="id26" name="id26">References</a></li>
72<li><a class="reference" href="#copyright" id="id26" name="id26">Copyright</a></li> 73<li><a class="reference" href="#copyright" id="id27" name="id27">Copyright</a></li>
73</ul> 74</ul>
74</div> 75</div>
75<div class="section" id="status"> 76<div class="section" id="status">
76<h1><a class="toc-backref" href="#id14" name="status">Status</a></h1> 77<h1><a class="toc-backref" href="#id14" name="status">Status</a></h1>
77<p>I'm withdrawing this GLEP. It is clear from the discussions on 78<p>After withdrawing this GLEP temporarily, a rewritten version has
78gentoo-dev that although breaking they keywords into four components 79now been resubmitted. This version no longer tries to prevent a
79is probably a good idea, the four components are <em>not</em> independent. 80keyword explosion, but merely tries to make it manageable.</p>
80Thus, the &quot;keyword explosion&quot; that this GLEP tries to prevent is
81inevitable. The real issue, then, is how to make the keyword
82explosion reasonably manageable, but that's a topic for another
83GLEP.</p>
84</div> 81</div>
85<div class="section" id="credits"> 82<div class="section" id="credits">
86<h1><a class="toc-backref" href="#id15" name="credits">Credits</a></h1> 83<h1><a class="toc-backref" href="#id15" name="credits">Credits</a></h1>
87<p>This GLEP originated from the concerns that Daniel Robbins had with 84<p>This GLEP originated from the concerns that Daniel Robbins had with the
88the <em>x86obsd</em> keyword, and his desire to make the KEYWORDS variable more 85<em>x86obsd</em> keyword, and his desire to make the KEYWORDS variable more
89&quot;feature-rich&quot;. Drobbins' original idea was that we should 86&quot;feature-rich&quot;. Drobbins' original idea was that we should allow compound
90allow compound
91keywords such as gnu/x86, gnu/ppc, and macos/ppc (which would be explicit 87keywords such as gnu/x86, gnu/ppc, and macos/ppc (which would be explicit
92versions of the more familiar x86, ppc, and macos keywords). Method noted 88versions of the more familiar x86, ppc, and macos keywords). Method noted
93that userland/arch failed to capture the full range of possibilities (what 89that userland/arch failed to capture the full range of possibilities (what
94about a GNU userland on a BSD kernel+libc?), and 90about a GNU userland on a BSD kernel+libc?), and the issue has languished due
95the issue has languished due to a lack of reasonable solutions.</p> 91to a lack of reasonable solutions. The original version of this GLEP
92generated quite useful comments which hopefully have been addressed here to
93make the GLEP much more reasonable.</p>
96</div> 94</div>
97<div class="section" id="abstract"> 95<div class="section" id="abstract">
98<h1><a class="toc-backref" href="#id16" name="abstract">Abstract</a></h1> 96<h1><a class="toc-backref" href="#id16" name="abstract">Abstract</a></h1>
99<p>As Gentoo branches out to support non-Linux and non-GNU systems (such 97<p>As Gentoo branches out to support non-Linux and non-GNU systems (such as Hurd,
100as Hurd or the *BSDs), the potential for an &quot;explosion&quot; of possible 98the *BSDs, or even the soon-to-be-open-sourced Solaris), the potential for an
101keywords becomes rather large, since each 99&quot;explosion&quot; of possible keywords becomes rather large, since each new
102new userland/kernel/arch/whatever 100userland/kernel/arch/whatever combination will require a new keyword. This
103combination would require a new keyword. 101GLEP proposes a simple extension to the current KEYWORDS variable that
104This GLEP proposes replacing the current 102encompasses the four parameters ARCH, USERLAND, KERNEL, and LIBC, but uses
105KEYWORDS variable with four variables, ARCH, USERLAND, KERNEL, and LIBC,
106along with sensible defaults to keep the new system manageable.</p> 103sensible defaults to keep the new system manageable.</p>
107</div> 104</div>
108<div class="section" id="motivation"> 105<div class="section" id="motivation">
109<h1><a class="toc-backref" href="#id17" name="motivation">Motivation</a></h1> 106<h1><a class="toc-backref" href="#id17" name="motivation">Motivation</a></h1>
110<p>Since the beginning, Gentoo Linux has been conceived as a &quot;metadistribution&quot; 107<p>Since the beginning, Gentoo Linux has been conceived as a &quot;metadistribution&quot;
111that combines remarkable flexibility with sensible defaults and exceptional 108that combines remarkable flexibility with sensible defaults and exceptional
112maintainablilty. 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 109maintainablilty. 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
113flexibility to include systems other than GNU/Linux. For example, the author 110flexibility to include systems other than GNU/Linux. For example, the author
114of 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 111of 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
115<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 112<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
116a variety of different architectures, so, in principle, we would need a new 113variety of different architectures, so, in principle, we would need a new
117<em>openbsd-arch</em> keyword for each supported architecture. In fact, the situation 114<em>openbsd-arch</em> keyword for each supported architecture. In fact, the
118is 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 115situation 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
119like 116eventually like to support the option of &quot;mixing-and-matching&quot;
120to support the option of &quot;mixing-and-matching&quot; GNU/*BSD/whatever userlands 117GNU/*BSD/whatever userlands and libcs irrespective of the underlying kernel.
121and 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 118(<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
122has 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
123BSD userland with a GNU userland.) The net result is that we would need 119replaced the BSD userland with a GNU userland.) The net result is that we
124keywords that specified all possible permutations of arch, userland, kernel 120need keywords that can specify all possible permutations of arch,
125and libc. Not fun.</p> 121userland, kernel and libc. A systematic nomenclature is needed.
122Fortunately, the author is a Chemist. <em>Grin</em></p>
126</div> 123</div>
127<div class="section" id="specification"> 124<div class="section" id="specification">
128<h1><a class="toc-backref" href="#id18" name="specification">Specification</a></h1> 125<h1><a class="toc-backref" href="#id18" name="specification">Specification</a></h1>
129<div class="section" id="new-variables"> 126<div class="section" id="keyword-fragments">
130<h2><a class="toc-backref" href="#id19" name="new-variables">New Variables</a></h2> 127<h2><a class="toc-backref" href="#id19" name="keyword-fragments">Keyword Fragments</a></h2>
131<p>I suggest that we replace the single KEYWORDS variable in ebuilds 128<p>Each keyword needs to specify, either explicitly or
132with four separate variables: ARCH, USERLAND, LIBC, and KERNEL.</p> 129implicitly, the following parameters: ARCH, USERLAND, LIBC, and KERNEL.</p>
133<blockquote> 130<blockquote>
134<dl> 131<dl>
135<dt>ARCH: </dt> 132<dt>ARCH: </dt>
136<dd>x86, amd64, cobalt, mips64, arm, hppa, ia64, ppc64, sparc</dd> 133<dd>x86, amd64, cobalt, mips64, arm, hppa, ia64, ppc64, sparc</dd>
137<dt>USERLAND: </dt> 134<dt>USERLAND: </dt>
141<dt>KERNEL: </dt> 138<dt>KERNEL: </dt>
142<dd>linux, selinux, openbsd, freebsd, netbsd, macosx</dd> 139<dd>linux, selinux, openbsd, freebsd, netbsd, macosx</dd>
143</dl> 140</dl>
144</blockquote> 141</blockquote>
145<p>(The above examples are not meant to be complete. Hurd, for example 142<p>(The above examples are not meant to be complete. Hurd, for example
146is not included because I know very little about Hurd.) 143is not included because I know very little about Hurd.)</p>
147For each variable the standard &quot;-,-*,~&quot; prefixes would be allowed. 144<p>A fully-specified keyword would look like
148Similarly, <cite>/etc/make.conf</cite> would have ACCEPT_ARCH, ACCEPT_USERLAND, 145&quot;ARCH-KERNEL-USERLAND-LIBC&quot;, so, for example,
149ACCEPT_LIBC, and ACCEPT_KERNEL variables.</p> 146&quot;ppc-fbsd-gnu-glibc&quot; would indicate a Gentoo system corresponding to
147a ppc architecture running the FreeBSD kernel with a GNU userland and glibc
148as the system C library.</p>
150</div> 149</div>
151<div class="section" id="reasonable-defaults"> 150<div class="section" id="reasonable-defaults">
152<h2><a class="toc-backref" href="#id20" name="reasonable-defaults">Reasonable Defaults</a></h2> 151<h2><a class="toc-backref" href="#id20" name="reasonable-defaults">Reasonable Defaults</a></h2>
153<p>To keep this system manageable, we need sensible defaults. An ebuild 152<p>To keep this system manageable (and both to reduce typing and maintain
154that has missing USERLAND, KERNEL, or LIBC variables is provided 153backwards compatibility), we need sensible defaults. For backwards
155with implicit USERLAND=&quot;gnu&quot;, KERNEL=&quot;linux&quot;, and/or LIBC=&quot;glibc&quot; 154compatibility, the Gentoo default is a Linux kernel with a GNU userland
156variables. However, once a variable is explicitly added (such as 155and glibc C library. Thus, the current crop of ARCH-based keywords
157KERNEL=&quot;openbsd&quot;), the default is no longer assumed. That is, 156(x86, ppc, etcetera) require no change whatsoever. For the *BSD-based
158one would need KERNEL=&quot;openbsd linux&quot; if the ebuild is stable on 157systems the default USERLAND and LIBC would be those normally associated
159both openbsd and linux kernels.</p> 158with the corresponding KERNEL, so &quot;x86-obsd&quot; describes an x86 system
160<p>The ARCH variable, on the other hand, does <em>not</em> have a default, per se. 159with an OpenBSD kernel, a BSD userland, and the OpenBSD C library. If
161Instead, if no ARCH variable exists then portage would automatically 160either USERLAND or LIBC is specified, and thus not the default, then the
162add the ebuild's KEYWORD entries to ARCH. Thus, all current ebuilds 161entire four-parameter string must be used.</p>
163would still work without changes, allowing for a gradual transition 162</div>
164to the new system as the new variables are needed.</p> 163<div class="section" id="ebuild-keyword-database">
164<h2><a class="toc-backref" href="#id21" name="ebuild-keyword-database">Ebuild Keyword Database?</a></h2>
165<p>One issue that has been raised is that adding a large number of keywords
166to ebuilds is likely to become cumbersome over the long run. (One could
167imagine that for a simple <cite>econf &amp;&amp; emake &amp;&amp; einstall</cite> ebuild that the
168list of keywords could grow to be the lengthiest part of the ebuild.)
169Instead, perhaps it would make more sense to move each ebuild's keywords
170out of the ebuild proper into a separate, perhaps online, database.
171Nothing in this GLEP would be incompatible with such an approach, so
172any further discussion will be deferred to a possible future GLEP on
173that topic.</p>
165</div> 174</div>
166<div class="section" id="profiles"> 175<div class="section" id="profiles">
167<h2><a class="toc-backref" href="#id21" name="profiles">Profiles</a></h2> 176<h2><a class="toc-backref" href="#id22" name="profiles">Profiles</a></h2>
168<p>Along with an explosion of keywords comes a concomitant explosion 177<p>Along with an explosion of keywords comes a concomitant explosion of potential
169of potential profiles. The good news is that profiles show up only 178profiles. Just as in the current system, the profile name would be
170in a single directory, so an explosion there is easier to contain. 179&quot;FLAVOR-KEYWORD-VERSION&quot; (such as &quot;default-s390-2004.1&quot;). One drawback
171I suggest an arch-kernel-userland-libc-version naming scheme, with
172the kernel-userland-libc terms defaulting to linux-gnu-glibc if
173absent. (Yes, Chemists do tend to be fond of systematic naming
174systems.)</p>
175<p>One drawback to having a large number of profiles is that maintainance 180to having a large number of profiles is that maintainance becomes a
176becomes a significant problem. In fact, one could reasonably argue 181significant problem. In fact, one could reasonably argue that the current
177that the current number of profiles is already too many to be 182number of profiles is already too many to be easily maintained. One proposal
178easily maintained. One proposal that has been raised to simplify 183that has been raised to simplify matters is the idea of stackable, or
179matters is the idea of stackable, or cascading, profiles, so that 184cascading, profiles, so that only differences between profiles would have to
180only differences between profiles would have to be maintained.</p> 185be maintained.</p>
181</div> 186</div>
182</div> 187</div>
183<div class="section" id="rationale"> 188<div class="section" id="rationale">
184<h1><a class="toc-backref" href="#id22" name="rationale">Rationale</a></h1> 189<h1><a class="toc-backref" href="#id23" name="rationale">Rationale</a></h1>
185<p>The proposed new &quot;keywording&quot; system is far from elegant, which is 190<p>The proposed new &quot;keywording&quot; system is far from elegant, which is
186a substantial drawback. On the other hand, it is simple, it requires 191a substantial drawback. On the other hand, it is simple, it requires
187relatively minor changes (albeit ones that eventually would impact 192relatively minor changes, and the changes can be implemented
188every ebuild in the portage tree), and the changes can be implemented
189gradually over time.</p> 193gradually over time.</p>
190</div> 194</div>
191<div class="section" id="implementation"> 195<div class="section" id="implementation">
192<h1><a class="toc-backref" href="#id23" name="implementation">Implementation</a></h1> 196<h1><a class="toc-backref" href="#id24" name="implementation">Implementation</a></h1>
193<p>Implementation of this GLEP would divide into adding 197<p>Since the new keyword system is backwards-compatible with the current
194Portage functionality to support the new system and 198system, &quot;implementation&quot; just means adding new keywords to ebuilds
195modifying ebuilds to 199as new systems are supported.</p>
196comply with the new system.
197The Portage support involves hacking Portage
198to assemble and check a four-state
199arch-userland-kernel-libc variable instead of the simpler
200KEYWORD variable. One might quibble over algorithmic issues, but
201the actual concept is pretty straightforward. Rewriting ebuilds,
202on the other hand, is a massive undertaking. Fortunately, it is
203also a process that can be done over whatever length of time is
204required, since &quot;legacy&quot; ebuilds should work with no changes.</p>
205</div> 200</div>
206<div class="section" id="backwards-compatibility"> 201<div class="section" id="backwards-compatibility">
207<h1><a class="toc-backref" href="#id24" name="backwards-compatibility">Backwards Compatibility</a></h1> 202<h1><a class="toc-backref" href="#id25" name="backwards-compatibility">Backwards Compatibility</a></h1>
208<p>Backwards compatibility has already been addressed in some detail, 203<p>Backwards compatibility has already been addressed in some detail,
209with the stated goal being a system that would leave all current 204with the stated goal being a system that would leave all current
210ebuilds in a still-functioning state after the portage modifications 205ebuilds working exactly as they are now.</p>
211have been made. However, we are already using an ARCH variable for
212some arcane purpose in Portage, and that issue would still need to
213be resolved.</p>
214</div> 206</div>
215<div class="section" id="id1"> 207<div class="section" id="id1">
216<h1><a class="toc-backref" href="#id25" name="id1">References</a></h1> 208<h1><a class="toc-backref" href="#id26" name="id1">References</a></h1>
217<table class="footnote" frame="void" id="id2" rules="none"> 209<table class="footnote" frame="void" id="id2" rules="none">
218<colgroup><col class="label" /><col /></colgroup> 210<colgroup><col class="label" /><col /></colgroup>
219<tbody valign="top"> 211<tbody valign="top">
220<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> 212<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>
221</tbody> 213</tbody>
244<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> 236<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>
245</tbody> 237</tbody>
246</table> 238</table>
247</div> 239</div>
248<div class="section" id="copyright"> 240<div class="section" id="copyright">
249<h1><a class="toc-backref" href="#id26" name="copyright">Copyright</a></h1> 241<h1><a class="toc-backref" href="#id27" name="copyright">Copyright</a></h1>
250<p>This document is licensed under the Creative Commons - Attribution / Share 242<p>This document has been placed in the public domain.</p>
251Alike license. (<a class="reference" href="http://creativecommons.org/licenses/by-sa/1.0">http://creativecommons.org/licenses/by-sa/1.0</a>)</p>
252</div> 243</div>
253</div> 244</div>
254 245
255<hr class="footer"/> 246<hr class="footer"/>
256<div class="footer"> 247<div class="footer">
257<a class="reference" href="glep-0022.txt">View document source</a>. 248<a class="reference" href="glep-0022.txt">View document source</a>.
258Generated on: 2004-05-02 20:52 UTC. 249Generated on: 2004-06-06 00:41 UTC.
259Generated 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. 250Generated 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.
260</div> 251</div>
261</body> 252</body>
262</html> 253</html>
263 254

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

  ViewVC Help
Powered by ViewVC 1.1.20