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

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

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

Revision 1.2 Revision 1.5
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.4: http://docutils.sourceforge.net/" />
12 <title>GLEP 9 -- Gentoo Package Update System</title> 12 <title>GLEP 9 -- Gentoo Package Update System</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: 2007/01/25 03:27:27 $
19:version: $Revision: 1.5 $
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/proj/en/glep/">GLEP Index</a></b>]
25[<b><a href="http://www.gentoo.org/proj/en/glep/glep-0009.txt">GLEP Source</a></b>] 268[<b><a href="http://www.gentoo.org/proj/en/glep/glep-0009.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">9</td> 274<tr class="field"><th class="field-name">GLEP:</th><td class="field-body">9</td>
33</tr> 275</tr>
34<tr class="field"><th class="field-name">Title:</th><td class="field-body">Gentoo Package Update System</td> 276<tr class="field"><th class="field-name">Title:</th><td class="field-body">Gentoo Package Update System</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.3</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.cgi/xml/htdocs/proj/en/glep/glep-0009.txt?cvsroot=gentoo">2003/07/25 22:32:20</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-0009.txt?cvsroot=gentoo">2004/01/13 20:47:35</a></td>
39</tr> 281</tr>
40<tr class="field"><th class="field-name">Author:</th><td class="field-body">John J. Whitney &lt;jjw&#32;&#97;t&#32;linuxmail.org&gt;</td> 282<tr class="field"><th class="field-name">Author:</th><td class="field-body">John J. Whitney &lt;jjw&#32;&#97;t&#32;linuxmail.org&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">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-0002.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>
50<tr class="field"><th class="field-name">Post-History:</th><td class="field-body">25-Jul-2003</td> 292<tr class="field"><th class="field-name">Post-History:</th><td class="field-body">25-Jul-2003</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"><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="id3" name="id3">Abstract</a></li> 300<li><a class="reference" href="#abstract" id="id3" name="id3">Abstract</a></li>
59<li><a class="reference" href="#motivation" id="id4" name="id4">Motivation</a></li> 301<li><a class="reference" href="#motivation" id="id4" name="id4">Motivation</a></li>
60<li><a class="reference" href="#server-implementation" id="id5" name="id5">Server Implementation</a></li> 302<li><a class="reference" href="#server-implementation" id="id5" name="id5">Server Implementation</a></li>
61<li><a class="reference" href="#client-implementation" id="id6" name="id6">Client Implementation</a></li> 303<li><a class="reference" href="#client-implementation" id="id6" name="id6">Client Implementation</a></li>
64<li><a class="reference" href="#conclusion" id="id9" name="id9">Conclusion</a></li> 306<li><a class="reference" href="#conclusion" id="id9" name="id9">Conclusion</a></li>
65<li><a class="reference" href="#references" id="id10" name="id10">References</a></li> 307<li><a class="reference" href="#references" id="id10" name="id10">References</a></li>
66<li><a class="reference" href="#copyright" id="id11" name="id11">Copyright</a></li> 308<li><a class="reference" href="#copyright" id="id11" name="id11">Copyright</a></li>
67</ul> 309</ul>
68</div> 310</div>
69<div class="section" id="abstract"> 311<div class="section">
70<h1><a class="toc-backref" href="#id3" name="abstract">Abstract</a></h1> 312<h1><a class="toc-backref" href="#id3" id="abstract" name="abstract">Abstract</a></h1>
71<p>This document proposes an official package updating system for Gentoo Linux. 313<p>This document proposes an official package updating system for Gentoo Linux.
72The Deltup project has been developed for this purpose. <a class="footnote-reference" href="#deltup" id="id1" name="id1">[1]</a></p> 314The Deltup project has been developed for this purpose. <a class="footnote-reference" href="#deltup" id="id1" name="id1">[1]</a></p>
73<p>As packages grow larger the amount of redundant data keeps increasing. Updating 315<p>As packages grow larger the amount of redundant data keeps increasing. Updating
74existing tarballs by patching is the natural way to handle source updates.</p> 316existing tarballs by patching is the natural way to handle source updates.</p>
75</div> 317</div>
76<div class="section" id="motivation"> 318<div class="section">
77<h1><a class="toc-backref" href="#id4" name="motivation">Motivation</a></h1> 319<h1><a class="toc-backref" href="#id4" id="motivation" name="motivation">Motivation</a></h1>
78<p>This system will reduce mirror loads (potentially mirror size as well) and 320<p>This system will reduce mirror loads (potentially mirror size as well) and
79significantly speed up downloads, making Gentoo much more attractive for users 321significantly speed up downloads, making Gentoo much more attractive for users
80with low-bandwidth connections.</p> 322with low-bandwidth connections.</p>
81</div> 323</div>
82<div class="section" id="server-implementation"> 324<div class="section">
83<h1><a class="toc-backref" href="#id5" name="server-implementation">Server Implementation</a></h1> 325<h1><a class="toc-backref" href="#id5" id="server-implementation" name="server-implementation">Server Implementation</a></h1>
84<p>I propose that the patches be put onto the Gentoo Mirrors and stored in a new 326<p>I propose that the patches be put onto the Gentoo Mirrors and stored in a new
85directory called &quot;patchfiles&quot; which could be placed beside &quot;distfiles&quot;.</p> 327directory called &quot;patchfiles&quot; which could be placed beside &quot;distfiles&quot;.</p>
86<p>It would be advantageous to have a list of available patches within the portage 328<p>It would be advantageous to have a list of available patches within the portage
87tree so that it can be updated during &quot;emerge sync&quot;. A file named &quot;dtu.list&quot; 329tree so that it can be updated during &quot;emerge sync&quot;. A file named &quot;dtu.list&quot;
88can be created and placed in $PORTDIR/profiles.</p> 330can be created and placed in $PORTDIR/profiles.</p>
89<p>If a machine can be set up to generate patches it should contain a local mirror 331<p>If a machine can be set up to generate patches it should contain a local mirror
90of distfiles which it can monitor for added packages. When a package is added 332of distfiles which it can monitor for added packages. When a package is added
91to distfiles the machine can try to determine the previous tarball so a patch 333to distfiles the machine can try to determine the previous tarball so a patch
92can be made and placed in the patchfiles dir. In addition, special-case patches 334can be made and placed in the patchfiles dir. In addition, special-case patches
93can be added manually.</p> 335can be added manually.</p>
94<p>The dtu.list file will be maintained by a special script. Whenever patches 336<p>The dtu.list file will be maintained by a special script. Whenever patches
95are added or removed to the patchfiles dir, the script will make necessary 337are added or removed to the patchfiles dir, the script will make necessary
96additions/removals in dtu.list. This will be done with minimal changes in the 338additions/removals in dtu.list. This will be done with minimal changes in the
97file so it can be synchronized efficiently.</p> 339file so it can be synchronized efficiently.</p>
98</div> 340</div>
99<div class="section" id="client-implementation"> 341<div class="section">
100<h1><a class="toc-backref" href="#id6" name="client-implementation">Client Implementation</a></h1> 342<h1><a class="toc-backref" href="#id6" id="client-implementation" name="client-implementation">Client Implementation</a></h1>
101<p>The system will be optional for users and can be enabled by making portage 343<p>The system will be optional for users and can be enabled by making portage
102invoke efetch through the FETCHCOMMAND environment variable <a class="footnote-reference" href="#tinyhowto" id="id2" name="id2">[3]</a>.</p> 344invoke efetch through the FETCHCOMMAND environment variable <a class="footnote-reference" href="#tinyhowto" id="id2" name="id2">[3]</a>.</p>
103<p>When a package fetch is requested, the efetch/fetchcommand scripts (part of 345<p>When a package fetch is requested, the efetch/fetchcommand scripts (part of
104Deltup) will scan the dtu.list file for updates and try downloading and applying 346Deltup) will scan the dtu.list file for updates and try downloading and applying
105them if they exist, or fall back to a full package download if they don't or if 347them if they exist, or fall back to a full package download if they don't or if
106the patching process fails.</p> 348the patching process fails.</p>
107</div> 349</div>
108<div class="section" id="rationale"> 350<div class="section">
109<h1><a class="toc-backref" href="#id7" name="rationale">Rationale</a></h1> 351<h1><a class="toc-backref" href="#id7" id="rationale" name="rationale">Rationale</a></h1>
110<p>The most controversial feature has been the addition of dtu.list to the portage 352<p>The most controversial feature has been the addition of dtu.list to the portage
111tree, so in this section I will list the reasons I support it.</p> 353tree, so in this section I will list the reasons I support it.</p>
112<ul class="simple"> 354<ul class="simple">
113<li>Flexibility. Without it, there must be a standard naming scheme which we 355<li>Flexibility. Without it, there must be a standard naming scheme which we
114would be stuck with once the system is in place. Changing the system would 356would be stuck with once the system is in place. Changing the system would
115require serious compatibility breaks. With the dtu.list file we can change 357require serious compatibility breaks. With the dtu.list file we can change
116the naming scheme easily without problems, or even have several different 358the naming scheme easily without problems, or even have several different
117naming schemes.</li> 359naming schemes.</li>
118<li>Features. Without patch information detecting different upgrade paths would 360<li>Features. Without patch information detecting different upgrade paths would
119be impossible. Split package patching would also be impossible. If the info 361be impossible. Split package patching would also be impossible. If the info
120is available we can use it to find the quickest upgrade path, like jumping 362is available we can use it to find the quickest upgrade path, like jumping
121from a .0 release, or even disable certain patches if there are problems with 363from a .0 release, or even disable certain patches if there are problems with
122them.</li> 364them.</li>
123<li>It would be impossible to know which packages to upgrade from in some cases, 365<li>It would be impossible to know which packages to upgrade from in some cases,
124including renamed packages.</li> 366including renamed packages.</li>
125<li>Knowing which patches are available will eliminate the overhead of attempting 367<li>Knowing which patches are available will eliminate the overhead of attempting
126to download patches which don't exist.</li> 368to download patches which don't exist.</li>
128<p>The dtu.list file will contain several hundred kilobytes of data. That has 370<p>The dtu.list file will contain several hundred kilobytes of data. That has
129caused some concern over how efficiently it can be rsynced. To address these 371caused some concern over how efficiently it can be rsynced. To address these
130concerns the file's format will be plaintext and care has been taken to 372concerns the file's format will be plaintext and care has been taken to
131minimize the number of changes as removals/additions are made.</p> 373minimize the number of changes as removals/additions are made.</p>
132</div> 374</div>
133<div class="section" id="backwards-compatibility"> 375<div class="section">
134<h1><a class="toc-backref" href="#id8" name="backwards-compatibility">Backwards Compatibility</a></h1> 376<h1><a class="toc-backref" href="#id8" id="backwards-compatibility" name="backwards-compatibility">Backwards Compatibility</a></h1>
135<p>There are no backwards compatibility issues since Deltup can generate correct 377<p>There are no backwards compatibility issues since Deltup can generate correct
136package MD5sums.</p> 378package MD5sums.</p>
137</div> 379</div>
138<div class="section" id="conclusion"> 380<div class="section">
139<h1><a class="toc-backref" href="#id9" name="conclusion">Conclusion</a></h1> 381<h1><a class="toc-backref" href="#id9" id="conclusion" name="conclusion">Conclusion</a></h1>
140<p>I suggest we start with a scaled-down implementation and provide more as the 382<p>I suggest we start with a scaled-down implementation and provide more as the
141demand increases. All of the necesary code is already written and working in 383demand increases. All of the necesary code is already written and working in
142non-official tests.</p> 384non-official tests.</p>
143</div> 385</div>
144<div class="section" id="references"> 386<div class="section">
145<h1><a class="toc-backref" href="#id10" name="references">References</a></h1> 387<h1><a class="toc-backref" href="#id10" id="references" name="references">References</a></h1>
146<table class="footnote" frame="void" id="deltup" rules="none"> 388<table class="docutils footnote" frame="void" id="deltup" rules="none">
147<colgroup><col class="label" /><col /></colgroup> 389<colgroup><col class="label" /><col /></colgroup>
148<tbody valign="top"> 390<tbody valign="top">
149<tr><td class="label"><a class="fn-backref" href="#id1" name="deltup">[1]</a></td><td><a class="reference" href="http://sourceforge.net/projects/deltup">http://sourceforge.net/projects/deltup</a></td></tr> 391<tr><td class="label"><a class="fn-backref" href="#id1" name="deltup">[1]</a></td><td><a class="reference" href="http://sourceforge.net/projects/deltup">http://sourceforge.net/projects/deltup</a></td></tr>
150</tbody> 392</tbody>
151</table> 393</table>
152<table class="footnote" frame="void" id="patches" rules="none"> 394<table class="docutils footnote" frame="void" id="patches" rules="none">
153<colgroup><col class="label" /><col /></colgroup> 395<colgroup><col class="label" /><col /></colgroup>
154<tbody valign="top"> 396<tbody valign="top">
155<tr><td class="label"><a name="patches">[2]</a></td><td><a class="reference" href="ftp://sunsite.dk/projects/deltup/patchfiles">ftp://sunsite.dk/projects/deltup/patchfiles</a></td></tr> 397<tr><td class="label"><a name="patches">[2]</a></td><td><a class="reference" href="ftp://sunsite.dk/projects/deltup/patchfiles">ftp://sunsite.dk/projects/deltup/patchfiles</a></td></tr>
156</tbody> 398</tbody>
157</table> 399</table>
158<table class="footnote" frame="void" id="tinyhowto" rules="none"> 400<table class="docutils footnote" frame="void" id="tinyhowto" rules="none">
159<colgroup><col class="label" /><col /></colgroup> 401<colgroup><col class="label" /><col /></colgroup>
160<tbody valign="top"> 402<tbody valign="top">
161<tr><td class="label"><a class="fn-backref" href="#id2" name="tinyhowto">[3]</a></td><td>Tiny Deltup HOWTO 403<tr><td class="label"><a class="fn-backref" href="#id2" name="tinyhowto">[3]</a></td><td>Tiny Deltup HOWTO
162(<a class="reference" href="http://www.thedoh.com/linux/HOWTO/deltup">http://www.thedoh.com/linux/HOWTO/deltup</a>)</td></tr> 404(<a class="reference" href="http://www.thedoh.com/linux/HOWTO/deltup">http://www.thedoh.com/linux/HOWTO/deltup</a>)</td></tr>
163</tbody> 405</tbody>
164</table> 406</table>
165</div> 407</div>
166<div class="section" id="copyright"> 408<div class="section">
167<h1><a class="toc-backref" href="#id11" name="copyright">Copyright</a></h1> 409<h1><a class="toc-backref" href="#id11" id="copyright" name="copyright">Copyright</a></h1>
168<p>This document has been placed in the public domain.</p> 410<p>This document has been placed in the public domain.</p>
169</div> 411</div>
170</div>
171 412
172<hr class="footer"/> 413</div>
173<div class="footer"> 414<div class="footer">
415<hr class="footer" />
174<a class="reference" href="glep-0009.txt">View document source</a>. 416<a class="reference" href="glep-0009.txt">View document source</a>.
175Generated on: 2003-07-29 00:12 UTC. 417Generated on: 2006-10-10 20:23 UTC.
176Generated 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. 418Generated 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.
419
177</div> 420</div>
178</body> 421</body>
179</html> 422</html>
180 423

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

  ViewVC Help
Powered by ViewVC 1.1.20