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

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

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

Revision 1.2 Revision 1.3
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.3: http://docutils.sourceforge.net/" /> 11 <meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
12 <title>GLEP 26 -- Handling kernels with portage</title> 12 <title>GLEP 26 -- Handling kernels with portage</title>
13 <link rel="stylesheet" href="tools/glep.css" type="text/css" /> 13 <style type="text/css">
14
15/*
16:Author: David Goodger
17:Contact: goodger@users.sourceforge.net
18:date: $Date: 2006/10/10 20:25:14 $
19:version: $Revision: 1.3 $
20:copyright: This stylesheet has been placed in the public domain.
21
22Default cascading style sheet for the PEP HTML output of Docutils.
23*/
24
25.first {
26 margin-top: 0 }
27
28.last {
29 margin-bottom: 0 }
30
31.navigation {
32 width: 100% ;
33 background: #cc99ff ;
34 margin-top: 0px ;
35 margin-bottom: 0px }
36
37.navigation .navicon {
38 width: 150px ;
39 height: 35px }
40
41.navigation .textlinks {
42 padding-left: 1em ;
43 text-align: left }
44
45.navigation td, .navigation th {
46 padding-left: 0em ;
47 padding-right: 0em ;
48 vertical-align: middle }
49
50.rfc2822 {
51 margin-top: 0.5em ;
52 margin-left: 0.5em ;
53 margin-right: 0.5em ;
54 margin-bottom: 0em }
55
56.rfc2822 td {
57 text-align: left }
58
59.rfc2822 th.field-name {
60 text-align: right ;
61 font-family: sans-serif ;
62 padding-right: 0.5em ;
63 font-weight: bold ;
64 margin-bottom: 0em }
65
66a.toc-backref {
67 text-decoration: none ;
68 color: black }
69
70body {
71 margin: 0px ;
72 margin-bottom: 1em ;
73 padding: 0px }
74
75dd {
76 margin-bottom: 0.5em }
77
78div.section {
79 margin-left: 1em ;
80 margin-right: 1em ;
81 margin-bottom: 1.5em }
82
83div.section div.section {
84 margin-left: 0em ;
85 margin-right: 0em ;
86 margin-top: 1.5em }
87
88div.abstract {
89 margin: 2em 5em }
90
91div.abstract p.topic-title {
92 font-weight: bold ;
93 text-align: center }
94
95div.attention, div.caution, div.danger, div.error, div.hint,
96div.important, div.note, div.tip, div.warning {
97 margin: 2em ;
98 border: medium outset ;
99 padding: 1em }
100
101div.attention p.admonition-title, div.caution p.admonition-title,
102div.danger p.admonition-title, div.error p.admonition-title,
103div.warning p.admonition-title {
104 color: red ;
105 font-weight: bold ;
106 font-family: sans-serif }
107
108div.hint p.admonition-title, div.important p.admonition-title,
109div.note p.admonition-title, div.tip p.admonition-title {
110 font-weight: bold ;
111 font-family: sans-serif }
112
113div.figure {
114 margin-left: 2em }
115
116div.footer, div.header {
117 font-size: smaller }
118
119div.footer {
120 margin-left: 1em ;
121 margin-right: 1em }
122
123div.system-messages {
124 margin: 5em }
125
126div.system-messages h1 {
127 color: red }
128
129div.system-message {
130 border: medium outset ;
131 padding: 1em }
132
133div.system-message p.system-message-title {
134 color: red ;
135 font-weight: bold }
136
137div.topic {
138 margin: 2em }
139
140h1 {
141 font-family: sans-serif ;
142 font-size: large }
143
144h2 {
145 font-family: sans-serif ;
146 font-size: medium }
147
148h3 {
149 font-family: sans-serif ;
150 font-size: small }
151
152h4 {
153 font-family: sans-serif ;
154 font-style: italic ;
155 font-size: small }
156
157h5 {
158 font-family: sans-serif;
159 font-size: x-small }
160
161h6 {
162 font-family: sans-serif;
163 font-style: italic ;
164 font-size: x-small }
165
166.section hr {
167 width: 75% }
168
169ol.simple, ul.simple {
170 margin-bottom: 1em }
171
172ol.arabic {
173 list-style: decimal }
174
175ol.loweralpha {
176 list-style: lower-alpha }
177
178ol.upperalpha {
179 list-style: upper-alpha }
180
181ol.lowerroman {
182 list-style: lower-roman }
183
184ol.upperroman {
185 list-style: upper-roman }
186
187p.caption {
188 font-style: italic }
189
190p.credits {
191 font-style: italic ;
192 font-size: smaller }
193
194p.label {
195 white-space: nowrap }
196
197p.topic-title {
198 font-family: sans-serif ;
199 font-weight: bold }
200
201pre.line-block {
202 font-family: serif ;
203 font-size: 100% }
204
205pre.literal-block, pre.doctest-block {
206 margin-left: 2em ;
207 margin-right: 2em ;
208 background-color: #eeeeee }
209
210span.classifier {
211 font-family: sans-serif ;
212 font-style: oblique }
213
214span.classifier-delimiter {
215 font-family: sans-serif ;
216 font-weight: bold }
217
218span.interpreted {
219 font-family: sans-serif }
220
221span.option-argument {
222 font-style: italic }
223
224span.pre {
225 white-space: pre }
226
227span.problematic {
228 color: red }
229
230table {
231 margin-top: 0.5em ;
232 margin-bottom: 0.5em }
233
234td, th {
235 padding-left: 0.5em ;
236 padding-right: 0.5em ;
237 vertical-align: top }
238
239td.num {
240 text-align: right }
241
242th.field-name {
243 font-weight: bold ;
244 text-align: left ;
245 white-space: nowrap }
246
247h1 tt, h2 tt, h3 tt, h4 tt, h5 tt, h6 tt {
248 font-size: 100% }
249
250tt {
251 background-color: #eeeeee }
252
253ul.auto-toc {
254 list-style-type: none }
255
256</style>
14</head> 257</head>
15<body bgcolor="white"> 258<body bgcolor="white">
16<table class="navigation" cellpadding="0" cellspacing="0" 259<table class="navigation" cellpadding="0" cellspacing="0"
17 width="100%" border="0"> 260 width="100%" border="0">
18<tr><td class="navicon" width="150" height="35"> 261<tr><td class="navicon" width="150" height="35">
19<a href="http://www.gentoo.org/" title="Gentoo Linux Home Page"> 262<a href="http://www.gentoo.org/" title="Gentoo Linux Home Page">
20<img src="http://www.gentoo.org/images/gentoo-new.gif" alt="[Gentoo]" 263<img src="http://www.gentoo.org/images/gentoo-new.gif" alt="[Gentoo]"
21 border="0" width="150" height="35" /></a></td> 264 border="0" width="150" height="35" /></a></td>
22<td class="textlinks" align="left"> 265<td class="textlinks" align="left">
23[<b><a href="http://www.gentoo.org/">Gentoo Linux Home</a></b>] 266[<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>] 267[<b><a href="http://www.gentoo.org/peps">GLEP Index</a></b>]
25[<b><a href="./glep-0026.txt">GLEP Source</a></b>] 268[<b><a href="http://www.gentoo.org/proj/en/glep/glep-0026.txt">GLEP Source</a></b>]
26</td></tr></table> 269</td></tr></table>
27<div class="document">
28<table class="rfc2822 field-list" frame="void" rules="none"> 270<table class="rfc2822 docutils field-list" frame="void" rules="none">
29<col class="field-name" /> 271<col class="field-name" />
30<col class="field-body" /> 272<col class="field-body" />
31<tbody valign="top"> 273<tbody valign="top">
32<tr class="field"><th class="field-name">GLEP:</th><td class="field-body">26</td> 274<tr class="field"><th class="field-name">GLEP:</th><td class="field-body">26</td>
33</tr> 275</tr>
34<tr class="field"><th class="field-name">Title:</th><td class="field-body">Handling kernels with portage</td> 276<tr class="field"><th class="field-name">Title:</th><td class="field-body">Handling kernels with portage</td>
35</tr> 277</tr>
36<tr class="field"><th class="field-name">Version:</th><td class="field-body">1.2</td> 278<tr class="field"><th class="field-name">Version:</th><td class="field-body">1.2</td>
37</tr> 279</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/xml/htdocs/proj/en/glep/glep-0026.txt?cvsroot=gentoo">2004/11/11 21:32:21</a></td> 280<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-0026.txt?cvsroot=gentoo">2004/11/11 21:32:21</a></td>
39</tr> 281</tr>
40<tr class="field"><th class="field-name">Author:</th><td class="field-body">Nathaniel McCallum &lt;npmccallum&#32;&#97;t&#32;gentoo.org&gt;, Joshua Campbell &lt;warpzero&#32;&#97;t&#32;gentoo.org&gt;</td> 282<tr class="field"><th class="field-name">Author:</th><td class="field-body">Nathaniel McCallum &lt;npmccallum&#32;&#97;t&#32;gentoo.org&gt;, Joshua Campbell &lt;warpzero&#32;&#97;t&#32;gentoo.org&gt;</td>
41</tr> 283</tr>
42<tr class="field"><th class="field-name">Status:</th><td class="field-body">deferred</td> 284<tr class="field"><th class="field-name">Status:</th><td class="field-body">deferred</td>
43</tr> 285</tr>
44<tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td> 286<tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td>
45</tr> 287</tr>
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> 288<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> 289</tr>
48<tr class="field"><th class="field-name">Created:</th><td class="field-body">2-May-2004</td> 290<tr class="field"><th class="field-name">Created:</th><td class="field-body">2-May-2004</td>
49</tr> 291</tr>
50<tr class="field"><th class="field-name">Post-History:</th><td class="field-body">2-May-2004, 11-Nov-2004</td> 292<tr class="field"><th class="field-name">Post-History:</th><td class="field-body">2-May-2004, 11-Nov-2004</td>
51</tr> 293</tr>
52</tbody> 294</tbody>
53</table> 295</table>
54<hr /> 296<hr />
55<div class="contents topic" id="contents"> 297<div class="contents topic">
56<p class="topic-title first"><a name="contents">Contents</a></p> 298<p class="topic-title first"><a id="contents" name="contents">Contents</a></p>
57<ul class="simple"> 299<ul class="simple">
58<li><a class="reference" href="#abstract" id="id2" name="id2">Abstract</a></li> 300<li><a class="reference" href="#abstract" id="id2" name="id2">Abstract</a></li>
59<li><a class="reference" href="#status" id="id3" name="id3">Status</a></li> 301<li><a class="reference" href="#status" id="id3" name="id3">Status</a></li>
60<li><a class="reference" href="#motivation" id="id4" name="id4">Motivation</a></li> 302<li><a class="reference" href="#motivation" id="id4" name="id4">Motivation</a></li>
61<li><a class="reference" href="#specification" id="id5" name="id5">Specification</a></li> 303<li><a class="reference" href="#specification" id="id5" name="id5">Specification</a></li>
63<li><a class="reference" href="#backwards-compatibility" id="id7" name="id7">Backwards Compatibility</a></li> 305<li><a class="reference" href="#backwards-compatibility" id="id7" name="id7">Backwards Compatibility</a></li>
64<li><a class="reference" href="#reference-implementation" id="id8" name="id8">Reference Implementation</a></li> 306<li><a class="reference" href="#reference-implementation" id="id8" name="id8">Reference Implementation</a></li>
65<li><a class="reference" href="#copyright" id="id9" name="id9">Copyright</a></li> 307<li><a class="reference" href="#copyright" id="id9" name="id9">Copyright</a></li>
66</ul> 308</ul>
67</div> 309</div>
68<div class="section" id="abstract"> 310<div class="section">
69<h1><a class="toc-backref" href="#id2" name="abstract">Abstract</a></h1> 311<h1><a class="toc-backref" href="#id2" id="abstract" name="abstract">Abstract</a></h1>
70<p>This GLEP proposes to create a more consistent handling of kernels and kernel building. 312<p>This GLEP proposes to create a more consistent handling of kernels and kernel building.
71Currently &quot;emerge kernel-name&quot; only installs the sources and does not build anything. 313Currently &quot;emerge kernel-name&quot; only installs the sources and does not build anything.
72&quot;emerge kernel-name&quot; should install only sources OR only a binary kernel, its modules, 314&quot;emerge kernel-name&quot; should install only sources OR only a binary kernel, its modules,
73and a tarballed package of kernel-headers, depending on USE flag.</p> 315and a tarballed package of kernel-headers, depending on USE flag.</p>
74</div> 316</div>
75<div class="section" id="status"> 317<div class="section">
76<h1><a class="toc-backref" href="#id3" name="status">Status</a></h1> 318<h1><a class="toc-backref" href="#id3" id="status" name="status">Status</a></h1>
77<p>Timed out</p> 319<p>Timed out</p>
78</div> 320</div>
79<div class="section" id="motivation"> 321<div class="section">
80<h1><a class="toc-backref" href="#id4" name="motivation">Motivation</a></h1> 322<h1><a class="toc-backref" href="#id4" id="motivation" name="motivation">Motivation</a></h1>
81<p>Currently, the only automated kernel build proceedure that we have is genkernel. While 323<p>Currently, the only automated kernel build proceedure that we have is genkernel. While
82genkernel is a great tool, its main weakness is that it does not port well to other 324genkernel is a great tool, its main weakness is that it does not port well to other
83arches because of the initrd and the lack of good &quot;generic&quot; settings for other arches. 325arches because of the initrd and the lack of good &quot;generic&quot; settings for other arches.
84This GLEP hopes to overcome this by abstracting the various layers of genkernel and 326This GLEP hopes to overcome this by abstracting the various layers of genkernel and
85implementing the most common aspect (the build proceedure) into a portage eclass.</p> 327implementing the most common aspect (the build proceedure) into a portage eclass.</p>
86</div> 328</div>
87<div class="section" id="specification"> 329<div class="section">
88<h1><a class="toc-backref" href="#id5" name="specification">Specification</a></h1> 330<h1><a class="toc-backref" href="#id5" id="specification" name="specification">Specification</a></h1>
89<p>There would be 3 layers to kernel building: (place of implementation)</p> 331<p>There would be 3 layers to kernel building: (place of implementation)</p>
90<blockquote> 332<blockquote>
91<ul class="simple"> 333<ul class="simple">
92<li>Stage 1 - Configuring the kernel (optional) -- external utility</li> 334<li>Stage 1 - Configuring the kernel (optional) -- external utility</li>
93<li>Stage 2 - Building the kernel -- in an eclass</li> 335<li>Stage 2 - Building the kernel -- in an eclass</li>
96</blockquote> 338</blockquote>
97<p>Stages 1 and 3 are optional on most arches.</p> 339<p>Stages 1 and 3 are optional on most arches.</p>
98<p>Stage 1 would be achieved through a seperate utility (perhaps like the current 340<p>Stage 1 would be achieved through a seperate utility (perhaps like the current
99genkernel). This utility would help the user configure the kernel and any kernel/build 341genkernel). This utility would help the user configure the kernel and any kernel/build
100related settings. This stage is optional and would only be used if a person wanted a 342related settings. This stage is optional and would only be used if a person wanted a
101customized kernel settings. One optional thought is to have this utility a part of the 343customized kernel settings. One optional thought is to have this utility a part of the
102base Gentoo system. That way there are less steps to make a custom kernel.</p> 344base Gentoo system. That way there are less steps to make a custom kernel.</p>
103<p>Stage 2 would be implimented through an eclass. This stage is not optional. One would 345<p>Stage 2 would be implimented through an eclass. This stage is not optional. One would
104perform this step by typing &quot;emerge kernel-name&quot;, where &quot;kernel-name&quot; is the name of 346perform this step by typing &quot;emerge kernel-name&quot;, where &quot;kernel-name&quot; is the name of
105the kernel package you want to use (ie. &quot;gentoo-dev&quot;). This package would have a 347the kernel package you want to use (ie. &quot;gentoo-dev&quot;). This package would have a
106&quot;buildkernel&quot; USE flag. If the flag was not set, it would simply download and install 348&quot;buildkernel&quot; USE flag. If the flag was not set, it would simply download and install
107sources like we do currently. However, if the &quot;buildkernel&quot; flag is set, portage will 349sources like we do currently. However, if the &quot;buildkernel&quot; flag is set, portage will
108perform the following steps:</p> 350perform the following steps:</p>
109<blockquote> 351<blockquote>
110<ol class="arabic simple"> 352<ol class="arabic simple">
111<li>(as a dependency) download and install a tarball of &quot;generic&quot; kernel config files.</li> 353<li>(as a dependency) download and install a tarball of &quot;generic&quot; kernel config files.</li>
112<li>Check to see if customized kernel config/settings have been set via Stage 1.</li> 354<li>Check to see if customized kernel config/settings have been set via Stage 1.</li>
126kernel or, lacking a running kernel, the newest kernel installed (by version/date installed?). 368kernel or, lacking a running kernel, the newest kernel installed (by version/date installed?).
127Initrd's can't be used on all arches, so this ebuild can be keyword masked as appropriate. 369Initrd's can't be used on all arches, so this ebuild can be keyword masked as appropriate.
128The initrd package would also have a &quot;bootsplash&quot; USE flag (on x86, maybe others) that 370The initrd package would also have a &quot;bootsplash&quot; USE flag (on x86, maybe others) that
129would build in bootsplash support. Any non-default actions desired by the user can be 371would build in bootsplash support. Any non-default actions desired by the user can be
130handled with the utility from Stage 1.</p> 372handled with the utility from Stage 1.</p>
131<p>This would lead us to several case scenarios (assuming kernel-config is part of the base 373<p>This would lead us to several case scenarios (assuming kernel-config is part of the base
132system):</p> 374system):</p>
133<blockquote> 375<blockquote>
134<ol class="arabic"> 376<ol class="arabic">
135<li><p class="first">default kernel, no initrd: &quot;emerge gentoo-kernel&quot;</p> 377<li><p class="first">default kernel, no initrd: &quot;emerge gentoo-kernel&quot;</p>
136</li> 378</li>
137<li><p class="first">default kernel, initrd: &quot;emerge aa-kernel initrd&quot;</p> 379<li><p class="first">default kernel, initrd: &quot;emerge aa-kernel initrd&quot;</p>
138</li> 380</li>
139<li><p class="first">default kernel, bootsplash initrd: &quot;USE=bootsplash emerge mm-kernel initrd&quot;</p> 381<li><p class="first">default kernel, bootsplash initrd: &quot;USE=bootsplash emerge mm-kernel initrd&quot;</p>
140</li> 382</li>
141<li><dl class="first"> 383<li><dl class="first docutils">
142<dt>non-default kernel, no initrd: &quot;kernel-config gentoo-dev-kernel&quot;</dt> 384<dt>non-default kernel, no initrd: &quot;kernel-config gentoo-dev-kernel&quot;</dt>
143<dd><p class="first last">&quot;emerge gentoo-dev-kernel&quot;</p> 385<dd><p class="first last">&quot;emerge gentoo-dev-kernel&quot;</p>
144</dd> 386</dd>
145</dl> 387</dl>
146</li> 388</li>
147<li><dl class="first"> 389<li><dl class="first docutils">
148<dt>non-default kernel, initrd: &quot;kernel-config alpha-kernel&quot;</dt> 390<dt>non-default kernel, initrd: &quot;kernel-config alpha-kernel&quot;</dt>
149<dd><p class="first last">&quot;emerge alpha-kernel initrd&quot;</p> 391<dd><p class="first last">&quot;emerge alpha-kernel initrd&quot;</p>
150</dd> 392</dd>
151</dl> 393</dl>
152</li> 394</li>
153<li><p class="first">JUST sources, no binary &quot;USE=-buildkernel emerge grsec-kernel&quot;</p> 395<li><p class="first">JUST sources, no binary &quot;USE=-buildkernel emerge grsec-kernel&quot;</p>
154</li> 396</li>
155</ol> 397</ol>
156</blockquote> 398</blockquote>
157</div> 399</div>
158<div class="section" id="rationale"> 400<div class="section">
159<h1><a class="toc-backref" href="#id6" name="rationale">Rationale</a></h1> 401<h1><a class="toc-backref" href="#id6" id="rationale" name="rationale">Rationale</a></h1>
160<p>There are many advantages gained by this method:</p> 402<p>There are many advantages gained by this method:</p>
161<blockquote> 403<blockquote>
162<ol class="arabic simple"> 404<ol class="arabic simple">
163<li>Full arch support (GentooInstaller really could use this)</li> 405<li>Full arch support (GentooInstaller really could use this)</li>
164<li>More consistent with the rest of portage (installs binaries by building from source)</li> 406<li>More consistent with the rest of portage (installs binaries by building from source)</li>
171</blockquote> 413</blockquote>
172<p>The major problem is, however, that we currently have two different build systems, 414<p>The major problem is, however, that we currently have two different build systems,
173portage and genkernel. Having competing build systems is not a GoodThing TM. Therefore, 415portage and genkernel. Having competing build systems is not a GoodThing TM. Therefore,
174we can either make portage build kernels or we can make genkernel build everything else.</p> 416we can either make portage build kernels or we can make genkernel build everything else.</p>
175</div> 417</div>
176<div class="section" id="backwards-compatibility"> 418<div class="section">
177<h1><a class="toc-backref" href="#id7" name="backwards-compatibility">Backwards Compatibility</a></h1> 419<h1><a class="toc-backref" href="#id7" id="backwards-compatibility" name="backwards-compatibility">Backwards Compatibility</a></h1>
178<p>If you want to emerge kernel sources the old way, just do: USE=&quot;-buildkernel&quot; emerge kernel-name</p> 420<p>If you want to emerge kernel sources the old way, just do: USE=&quot;-buildkernel&quot; emerge kernel-name</p>
179<p>Perhaps we could also name the new kernel-config program (from Stage 1) &quot;genkernel&quot; so that users 421<p>Perhaps we could also name the new kernel-config program (from Stage 1) &quot;genkernel&quot; so that users
180can have a seemless transition.</p> 422can have a seemless transition.</p>
181</div> 423</div>
182<div class="section" id="reference-implementation"> 424<div class="section">
183<h1><a class="toc-backref" href="#id8" name="reference-implementation">Reference Implementation</a></h1> 425<h1><a class="toc-backref" href="#id8" id="reference-implementation" name="reference-implementation">Reference Implementation</a></h1>
184<p>not yet ..</p> 426<p>not yet ..</p>
185</div> 427</div>
186<div class="section" id="copyright"> 428<div class="section">
187<h1><a class="toc-backref" href="#id9" name="copyright">Copyright</a></h1> 429<h1><a class="toc-backref" href="#id9" id="copyright" name="copyright">Copyright</a></h1>
188<p>This document has been placed in the public domain.</p> 430<p>This document has been placed in the public domain.</p>
189</div> 431</div>
190</div>
191 432
433</div>
434<div class="footer">
192<hr class="footer" /> 435<hr class="footer" />
193<div class="footer">
194<a class="reference" href="glep-0026.txt">View document source</a>. 436<a class="reference" href="glep-0026.txt">View document source</a>.
195Generated on: 2004-11-11 21:25 UTC. 437Generated on: 2006-10-10 20:23 UTC.
196Generated 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. 438Generated 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.
439
197</div> 440</div>
198</body> 441</body>
199</html> 442</html>
200 443

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

  ViewVC Help
Powered by ViewVC 1.1.20