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

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

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

Revision 1.1 Revision 1.2
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.5: http://docutils.sourceforge.net/" /> 11 <meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
12 <title>GLEP 35 -- Automated consistency check for ebuilds</title> 12 <title>GLEP 35 -- Automated consistency check for ebuilds</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.2 $
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-0035.txt">GLEP Source</a></b>] 268[<b><a href="http://www.gentoo.org/proj/en/glep/glep-0035.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">35</td> 274<tr class="field"><th class="field-name">GLEP:</th><td class="field-body">35</td>
33</tr> 275</tr>
34<tr class="field"><th class="field-name">Title:</th><td class="field-body">Automated consistency check for ebuilds</td> 276<tr class="field"><th class="field-name">Title:</th><td class="field-body">Automated consistency check for ebuilds</td>
35</tr> 277</tr>
36<tr class="field"><th class="field-name">Version:</th><td class="field-body">1.1</td> 278<tr class="field"><th class="field-name">Version:</th><td class="field-body">1.1</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-0035.txt?cvsroot=gentoo">2005/03/12 20:26:01</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-0035.txt?cvsroot=gentoo">2005/03/12 20:26:01</a></td>
39</tr> 281</tr>
40<tr class="field"><th class="field-name">Author:</th><td class="field-body">Adrian Lambeck &lt;adrian&#32;&#97;t&#32;basicsedv.de&gt;,</td> 282<tr class="field"><th class="field-name">Author:</th><td class="field-body">Adrian Lambeck &lt;adrian&#32;&#97;t&#32;basicsedv.de&gt;,</td>
41</tr> 283</tr>
42<tr class="field"><th class="field-name">Status:</th><td class="field-body">Draft</td> 284<tr class="field"><th class="field-name">Status:</th><td class="field-body">Draft</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">12-Mar-2005</td> 290<tr class="field"><th class="field-name">Created:</th><td class="field-body">12-Mar-2005</td>
49</tr> 291</tr>
50<tr class="field"><th class="field-name">Post-History:</th><td class="field-body">12-Mar-2005</td> 292<tr class="field"><th class="field-name">Post-History:</th><td class="field-body">12-Mar-2005</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="id5" name="id5">Abstract</a></li> 300<li><a class="reference" href="#abstract" id="id5" name="id5">Abstract</a></li>
59<li><a class="reference" href="#motivation" id="id6" name="id6">Motivation</a></li> 301<li><a class="reference" href="#motivation" id="id6" name="id6">Motivation</a></li>
60<li><a class="reference" href="#specification" id="id7" name="id7">Specification</a></li> 302<li><a class="reference" href="#specification" id="id7" name="id7">Specification</a></li>
61<li><a class="reference" href="#implementation" id="id8" name="id8">Implementation</a></li> 303<li><a class="reference" href="#implementation" id="id8" name="id8">Implementation</a></li>
62<li><a class="reference" href="#backwards-compatibility" id="id9" name="id9">Backwards Compatibility</a></li> 304<li><a class="reference" href="#backwards-compatibility" id="id9" name="id9">Backwards Compatibility</a></li>
63<li><a class="reference" href="#id1" id="id10" name="id10">References</a></li> 305<li><a class="reference" href="#id1" id="id10" name="id10">References</a></li>
64</ul> 306</ul>
65</div> 307</div>
66<div class="section" id="abstract"> 308<div class="section">
67<h1><a class="toc-backref" href="#id5" name="abstract">Abstract</a></h1> 309<h1><a class="toc-backref" href="#id5" id="abstract" name="abstract">Abstract</a></h1>
68<p>This proposal is meant to enhance productivity for Gentoo developers. 310<p>This proposal is meant to enhance productivity for Gentoo developers.
69It aims to reduce the number of trivial bugs by automatically detecting them 311It aims to reduce the number of trivial bugs by automatically detecting them
70through a consistency check that is performed before checking and on a regular 312through a consistency check that is performed before checking and on a regular
71basis through the whole tree. 313basis through the whole tree.
72Why bother with trivial bugs when automated tests find them ? 314Why bother with trivial bugs when automated tests find them ?
73Save time and improve quality !</p> 315Save time and improve quality !</p>
74</div> 316</div>
75<div class="section" id="motivation"> 317<div class="section">
76<h1><a class="toc-backref" href="#id6" name="motivation">Motivation</a></h1> 318<h1><a class="toc-backref" href="#id6" id="motivation" name="motivation">Motivation</a></h1>
77<p>When browsing <a class="reference" href="http://bugs.gentoo.org">bugs.gentoo.org</a> <a class="footnote-reference" href="#id2" id="id3" name="id3">[1]</a> you will find Bugs that take away a good 319<p>When browsing <a class="reference" href="http://bugs.gentoo.org">bugs.gentoo.org</a> <a class="footnote-reference" href="#id2" id="id3" name="id3">[1]</a> you will find Bugs that take away a good
78amount of scarce developing time that could be used otherwise. These are 320amount of scarce developing time that could be used otherwise. These are
79trivial bugs, i.e. wrong SRC_URI or cycles in DEPEND. Even worst - these bugs 321trivial bugs, i.e. wrong SRC_URI or cycles in DEPEND. Even worst - these bugs
80are sometimes reported several times so that they need to be marked as 322are sometimes reported several times so that they need to be marked as
81dublicates. Bugs of that kind are easy to find and easy to fix. By using 323dublicates. Bugs of that kind are easy to find and easy to fix. By using
84(hopefully) be fewer bugs that need to be checked and assigned and they might 326(hopefully) be fewer bugs that need to be checked and assigned and they might
85get fixed faster.</p> 327get fixed faster.</p>
86<p>The Bugs found should be kept in an automatically generated list so that users 328<p>The Bugs found should be kept in an automatically generated list so that users
87can see that the problem has been caught and that it is being worked on.</p> 329can see that the problem has been caught and that it is being worked on.</p>
88</div> 330</div>
89<div class="section" id="specification"> 331<div class="section">
90<h1><a class="toc-backref" href="#id7" name="specification">Specification</a></h1> 332<h1><a class="toc-backref" href="#id7" id="specification" name="specification">Specification</a></h1>
91<p>Checks need to be performed for every ebuild.</p> 333<p>Checks need to be performed for every ebuild.</p>
92<p>A report needs to be generated</p> 334<p>A report needs to be generated</p>
93<blockquote> 335<blockquote>
94<ul class="simple"> 336<ul class="simple">
95<li>links to the specific problem need to be included</li> 337<li>links to the specific problem need to be included</li>
110</blockquote> 352</blockquote>
111<p>There might be other checks and tests that should be run 353<p>There might be other checks and tests that should be run
112that have not come to my mind yet. Also I might have suggested something that 354that have not come to my mind yet. Also I might have suggested something that
113is not useful at all.</p> 355is not useful at all.</p>
114<p>If there are major problems (needs to be defined) within an ebuild a possible 356<p>If there are major problems (needs to be defined) within an ebuild a possible
115action could be to disable the ebuild (with <tt class="literal"><span class="pre">&quot;-*&quot;</span></tt>,) perhaps, and send a 357action could be to disable the ebuild (with <tt class="docutils literal"><span class="pre">&quot;-*&quot;</span></tt>,) perhaps, and send a
116mail to the maintainer.</p> 358mail to the maintainer.</p>
117<p>These kind of errors are not always the fault of the developers.</p> 359<p>These kind of errors are not always the fault of the developers.</p>
118<p>There should be no compilation or something like that. If an ebuild fails to 360<p>There should be no compilation or something like that. If an ebuild fails to
119build somewhere then the user should file it as a bug as usual.</p> 361build somewhere then the user should file it as a bug as usual.</p>
120</div> 362</div>
121<div class="section" id="implementation"> 363<div class="section">
122<h1><a class="toc-backref" href="#id8" name="implementation">Implementation</a></h1> 364<h1><a class="toc-backref" href="#id8" id="implementation" name="implementation">Implementation</a></h1>
123<p>The functionality described could be implemented in three ways:</p> 365<p>The functionality described could be implemented in three ways:</p>
124<blockquote> 366<blockquote>
125<ol class="arabic"> 367<ol class="arabic">
126<li><dl class="first"> 368<li><dl class="first docutils">
127<dt>On the developers machine (&quot;client&quot;) where it is run before checking</dt> 369<dt>On the developers machine (&quot;client&quot;) where it is run before checking</dt>
128<dd><p class="first last">only for the ebuilds that changed. (client does not fit here because 370<dd><p class="first last">only for the ebuilds that changed. (client does not fit here because
129the server and client should not communicate with each other at all)</p> 371the server and client should not communicate with each other at all)</p>
130</dd> 372</dd>
131</dl> 373</dl>
132</li> 374</li>
133<li><p class="first">On the server where checks are run, i.e. once a week.</p> 375<li><p class="first">On the server where checks are run, i.e. once a week.</p>
135<li><p class="first">On the &quot;client&quot; AND server</p> 377<li><p class="first">On the &quot;client&quot; AND server</p>
136</li> 378</li>
137</ol> 379</ol>
138<p>Of course there are cons and pros (what came to my mind so far)</p> 380<p>Of course there are cons and pros (what came to my mind so far)</p>
139<ol class="arabic"> 381<ol class="arabic">
140<li><blockquote class="first"> 382<li><dl class="first docutils">
141<dl>
142<dt>pro: </dt> 383<dt>pro:</dt>
143<dd><ul class="first last simple"> 384<dd><ul class="first last simple">
144<li>the tree can not become inconsistent in the first place (? see contra)</li> 385<li>the tree can not become inconsistent in the first place (? see contra)</li>
145<li>once an ebuild is checked there is no need to do this again</li> 386<li>once an ebuild is checked there is no need to do this again</li>
146<li>no dedicated machine necessary</li> 387<li>no dedicated machine necessary</li>
147<li>generate traffic only once on one machine</li> 388<li>generate traffic only once on one machine</li>
148<li>errors that are caught here do not bother later on</li> 389<li>errors that are caught here do not bother later on</li>
149</ul> 390</ul>
150</dd> 391</dd>
151<dt>contra:</dt> 392<dt>contra:</dt>
152<dd><ul class="first last"> 393<dd><ul class="first last">
153<li><dl class="first"> 394<li><dl class="first docutils">
154<dt>the consistency is based on the tool installed </dt> 395<dt>the consistency is based on the tool installed</dt>
155<dd><p class="first last">(what happens when different devs use different versions ?)</p> 396<dd><p class="first last">(what happens when different devs use different versions ?)</p>
156</dd> 397</dd>
157</dl> 398</dl>
158</li> 399</li>
159<li><dl class="first"> 400<li><dl class="first docutils">
160<dt>what happens when the ebuild layout changes and some ebuilds</dt> 401<dt>what happens when the ebuild layout changes and some ebuilds</dt>
161<dd><p class="first last">do not get updated ?</p> 402<dd><p class="first last">do not get updated ?</p>
162</dd> 403</dd>
163</dl> 404</dl>
164</li> 405</li>
165</ul> 406</ul>
166</dd> 407</dd>
167</dl> 408</dl>
168</blockquote>
169</li> 409</li>
170<li><blockquote class="first"> 410<li><dl class="first docutils">
171<dl>
172<dt>pro:</dt> 411<dt>pro:</dt>
173<dd><ul class="first last simple"> 412<dd><ul class="first last simple">
174<li>Properties of other ebuilds might change that fit while writing an ebuild</li> 413<li>Properties of other ebuilds might change that fit while writing an ebuild</li>
175</ul> 414</ul>
176</dd> 415</dd>
178<dd><ul class="first last"> 417<dd><ul class="first last">
179<li><p class="first">the errors are found when the ebuild is already in CVS</p> 418<li><p class="first">the errors are found when the ebuild is already in CVS</p>
180</li> 419</li>
181<li><p class="first">the whole tree needs to be checked</p> 420<li><p class="first">the whole tree needs to be checked</p>
182</li> 421</li>
183<li><dl class="first"> 422<li><dl class="first docutils">
184<dt>possibly creates a lot of traffic on every run</dt> 423<dt>possibly creates a lot of traffic on every run</dt>
185<dd><p class="first last">(-&gt; is there an FTP equivalent to HTTP`s HEAD ?)</p> 424<dd><p class="first last">(-&gt; is there an FTP equivalent to HTTP`s HEAD ?)</p>
186</dd> 425</dd>
187</dl> 426</dl>
188</li> 427</li>
189</ul> 428</ul>
190</dd> 429</dd>
191</dl> 430</dl>
192</blockquote>
193</li> 431</li>
194<li><p class="first">see 1. and 2.</p> 432<li><p class="first">see 1. and 2.</p>
195</li> 433</li>
196</ol> 434</ol>
197</blockquote> 435</blockquote>
198<p>My favorite is 3 . All properties are checked before check-in and 436<p>My favorite is 3 . All properties are checked before check-in and
199the properties that change might be checked on a regular basis on the server. 437the properties that change might be checked on a regular basis on the server.
200Only solution 3 brings the best from 1 and 2 together while delivering the best result.</p> 438Only solution 3 brings the best from 1 and 2 together while delivering the best result.</p>
201<p>I never had a look at portage source but I can imagine that there is a library 439<p>I never had a look at portage source but I can imagine that there is a library
202that has everything that a developer needs to &quot;query&quot; ebuilds. If not, this 440that has everything that a developer needs to &quot;query&quot; ebuilds. If not, this
203would be a reason for another GLEP (?).</p> 441would be a reason for another GLEP (?).</p>
204<p>For performance I would use a database (on the server) to store the whole tree before 442<p>For performance I would use a database (on the server) to store the whole tree before
205running the checks. This is not necessary for the &quot;client&quot;.</p> 443running the checks. This is not necessary for the &quot;client&quot;.</p>
206</div> 444</div>
207<div class="section" id="backwards-compatibility"> 445<div class="section">
208<h1><a class="toc-backref" href="#id9" name="backwards-compatibility">Backwards Compatibility</a></h1> 446<h1><a class="toc-backref" href="#id9" id="backwards-compatibility" name="backwards-compatibility">Backwards Compatibility</a></h1>
209<p>Not a problem for this GLEP.</p> 447<p>Not a problem for this GLEP.</p>
210</div> 448</div>
211<div class="section" id="id1"> 449<div class="section">
212<h1><a class="toc-backref" href="#id10" name="id1">References</a></h1> 450<h1><a class="toc-backref" href="#id10" id="id1" name="id1">References</a></h1>
213<table class="footnote" frame="void" id="id2" rules="none"> 451<table class="docutils footnote" frame="void" id="id2" rules="none">
214<colgroup><col class="label" /><col /></colgroup> 452<colgroup><col class="label" /><col /></colgroup>
215<tbody valign="top"> 453<tbody valign="top">
216<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://bugs.gentoo.org">http://bugs.gentoo.org</a></td></tr> 454<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://bugs.gentoo.org">http://bugs.gentoo.org</a></td></tr>
217</tbody> 455</tbody>
218</table> 456</table>
219</div> 457</div>
220</div>
221 458
459</div>
460<div class="footer">
222<hr class="footer" /> 461<hr class="footer" />
223<div class="footer">
224<a class="reference" href="glep-0035.txt">View document source</a>. 462<a class="reference" href="glep-0035.txt">View document source</a>.
225Generated on: 2005-03-12 20:26 UTC. 463Generated on: 2006-10-10 20:23 UTC.
226Generated 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. 464Generated 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.
465
227</div> 466</div>
228</body> 467</body>
229</html> 468</html>
230 469

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

  ViewVC Help
Powered by ViewVC 1.1.20