| … | |
… | |
| 6 | PEP, see http://www.python.org/peps/pep-0001.html for instructions and links |
6 | PEP, see http://www.python.org/peps/pep-0001.html for instructions and links |
| 7 | to templates. DO NOT USE THIS HTML FILE AS YOUR TEMPLATE! |
7 | to 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.9: http://docutils.sourceforge.net/" /> |
11 | <meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" /> |
| 12 | <title>GLEP 44 -- Manifest2 format</title> |
12 | <title>GLEP 44 -- Manifest2 format</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/14 02:55:39 $ |
|
|
19 | :version: $Revision: 1.8 $ |
|
|
20 | :copyright: This stylesheet has been placed in the public domain. |
|
|
21 | |
|
|
22 | Default 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 | |
|
|
66 | a.toc-backref { |
|
|
67 | text-decoration: none ; |
|
|
68 | color: black } |
|
|
69 | |
|
|
70 | body { |
|
|
71 | margin: 0px ; |
|
|
72 | margin-bottom: 1em ; |
|
|
73 | padding: 0px } |
|
|
74 | |
|
|
75 | dd { |
|
|
76 | margin-bottom: 0.5em } |
|
|
77 | |
|
|
78 | div.section { |
|
|
79 | margin-left: 1em ; |
|
|
80 | margin-right: 1em ; |
|
|
81 | margin-bottom: 1.5em } |
|
|
82 | |
|
|
83 | div.section div.section { |
|
|
84 | margin-left: 0em ; |
|
|
85 | margin-right: 0em ; |
|
|
86 | margin-top: 1.5em } |
|
|
87 | |
|
|
88 | div.abstract { |
|
|
89 | margin: 2em 5em } |
|
|
90 | |
|
|
91 | div.abstract p.topic-title { |
|
|
92 | font-weight: bold ; |
|
|
93 | text-align: center } |
|
|
94 | |
|
|
95 | div.attention, div.caution, div.danger, div.error, div.hint, |
|
|
96 | div.important, div.note, div.tip, div.warning { |
|
|
97 | margin: 2em ; |
|
|
98 | border: medium outset ; |
|
|
99 | padding: 1em } |
|
|
100 | |
|
|
101 | div.attention p.admonition-title, div.caution p.admonition-title, |
|
|
102 | div.danger p.admonition-title, div.error p.admonition-title, |
|
|
103 | div.warning p.admonition-title { |
|
|
104 | color: red ; |
|
|
105 | font-weight: bold ; |
|
|
106 | font-family: sans-serif } |
|
|
107 | |
|
|
108 | div.hint p.admonition-title, div.important p.admonition-title, |
|
|
109 | div.note p.admonition-title, div.tip p.admonition-title { |
|
|
110 | font-weight: bold ; |
|
|
111 | font-family: sans-serif } |
|
|
112 | |
|
|
113 | div.figure { |
|
|
114 | margin-left: 2em } |
|
|
115 | |
|
|
116 | div.footer, div.header { |
|
|
117 | font-size: smaller } |
|
|
118 | |
|
|
119 | div.footer { |
|
|
120 | margin-left: 1em ; |
|
|
121 | margin-right: 1em } |
|
|
122 | |
|
|
123 | div.system-messages { |
|
|
124 | margin: 5em } |
|
|
125 | |
|
|
126 | div.system-messages h1 { |
|
|
127 | color: red } |
|
|
128 | |
|
|
129 | div.system-message { |
|
|
130 | border: medium outset ; |
|
|
131 | padding: 1em } |
|
|
132 | |
|
|
133 | div.system-message p.system-message-title { |
|
|
134 | color: red ; |
|
|
135 | font-weight: bold } |
|
|
136 | |
|
|
137 | div.topic { |
|
|
138 | margin: 2em } |
|
|
139 | |
|
|
140 | h1 { |
|
|
141 | font-family: sans-serif ; |
|
|
142 | font-size: large } |
|
|
143 | |
|
|
144 | h2 { |
|
|
145 | font-family: sans-serif ; |
|
|
146 | font-size: medium } |
|
|
147 | |
|
|
148 | h3 { |
|
|
149 | font-family: sans-serif ; |
|
|
150 | font-size: small } |
|
|
151 | |
|
|
152 | h4 { |
|
|
153 | font-family: sans-serif ; |
|
|
154 | font-style: italic ; |
|
|
155 | font-size: small } |
|
|
156 | |
|
|
157 | h5 { |
|
|
158 | font-family: sans-serif; |
|
|
159 | font-size: x-small } |
|
|
160 | |
|
|
161 | h6 { |
|
|
162 | font-family: sans-serif; |
|
|
163 | font-style: italic ; |
|
|
164 | font-size: x-small } |
|
|
165 | |
|
|
166 | .section hr { |
|
|
167 | width: 75% } |
|
|
168 | |
|
|
169 | ol.simple, ul.simple { |
|
|
170 | margin-bottom: 1em } |
|
|
171 | |
|
|
172 | ol.arabic { |
|
|
173 | list-style: decimal } |
|
|
174 | |
|
|
175 | ol.loweralpha { |
|
|
176 | list-style: lower-alpha } |
|
|
177 | |
|
|
178 | ol.upperalpha { |
|
|
179 | list-style: upper-alpha } |
|
|
180 | |
|
|
181 | ol.lowerroman { |
|
|
182 | list-style: lower-roman } |
|
|
183 | |
|
|
184 | ol.upperroman { |
|
|
185 | list-style: upper-roman } |
|
|
186 | |
|
|
187 | p.caption { |
|
|
188 | font-style: italic } |
|
|
189 | |
|
|
190 | p.credits { |
|
|
191 | font-style: italic ; |
|
|
192 | font-size: smaller } |
|
|
193 | |
|
|
194 | p.label { |
|
|
195 | white-space: nowrap } |
|
|
196 | |
|
|
197 | p.topic-title { |
|
|
198 | font-family: sans-serif ; |
|
|
199 | font-weight: bold } |
|
|
200 | |
|
|
201 | pre.line-block { |
|
|
202 | font-family: serif ; |
|
|
203 | font-size: 100% } |
|
|
204 | |
|
|
205 | pre.literal-block, pre.doctest-block { |
|
|
206 | margin-left: 2em ; |
|
|
207 | margin-right: 2em ; |
|
|
208 | background-color: #eeeeee } |
|
|
209 | |
|
|
210 | span.classifier { |
|
|
211 | font-family: sans-serif ; |
|
|
212 | font-style: oblique } |
|
|
213 | |
|
|
214 | span.classifier-delimiter { |
|
|
215 | font-family: sans-serif ; |
|
|
216 | font-weight: bold } |
|
|
217 | |
|
|
218 | span.interpreted { |
|
|
219 | font-family: sans-serif } |
|
|
220 | |
|
|
221 | span.option-argument { |
|
|
222 | font-style: italic } |
|
|
223 | |
|
|
224 | span.pre { |
|
|
225 | white-space: pre } |
|
|
226 | |
|
|
227 | span.problematic { |
|
|
228 | color: red } |
|
|
229 | |
|
|
230 | table { |
|
|
231 | margin-top: 0.5em ; |
|
|
232 | margin-bottom: 0.5em } |
|
|
233 | |
|
|
234 | td, th { |
|
|
235 | padding-left: 0.5em ; |
|
|
236 | padding-right: 0.5em ; |
|
|
237 | vertical-align: top } |
|
|
238 | |
|
|
239 | td.num { |
|
|
240 | text-align: right } |
|
|
241 | |
|
|
242 | th.field-name { |
|
|
243 | font-weight: bold ; |
|
|
244 | text-align: left ; |
|
|
245 | white-space: nowrap } |
|
|
246 | |
|
|
247 | h1 tt, h2 tt, h3 tt, h4 tt, h5 tt, h6 tt { |
|
|
248 | font-size: 100% } |
|
|
249 | |
|
|
250 | tt { |
|
|
251 | background-color: #eeeeee } |
|
|
252 | |
|
|
253 | ul.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-0044.txt">GLEP Source</a></b>] |
268 | [<b><a href="http://www.gentoo.org/proj/en/glep/glep-0044.txt">GLEP Source</a></b>] |
| 26 | </td></tr></table> |
269 | </td></tr></table> |
| 27 | <table class="rfc2822 docutils field-list" frame="void" rules="none"> |
270 | <table class="rfc2822 docutils field-list" frame="void" rules="none"> |
| 28 | <col class="field-name" /> |
271 | <col class="field-name" /> |
| 29 | <col class="field-body" /> |
272 | <col class="field-body" /> |
| 30 | <tbody valign="top"> |
273 | <tbody valign="top"> |
| 31 | <tr class="field"><th class="field-name">GLEP:</th><td class="field-body">44</td> |
274 | <tr class="field"><th class="field-name">GLEP:</th><td class="field-body">44</td> |
| 32 | </tr> |
275 | </tr> |
| 33 | <tr class="field"><th class="field-name">Title:</th><td class="field-body">Manifest2 format</td> |
276 | <tr class="field"><th class="field-name">Title:</th><td class="field-body">Manifest2 format</td> |
| 34 | </tr> |
277 | </tr> |
| 35 | <tr class="field"><th class="field-name">Version:</th><td class="field-body">1.4</td> |
278 | <tr class="field"><th class="field-name">Version:</th><td class="field-body">1.6</td> |
| 36 | </tr> |
279 | </tr> |
| 37 | <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-0044.txt?cvsroot=gentoo">2006/02/10 23:26:55</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-0044.txt?cvsroot=gentoo">2006/09/04 03:06:32</a></td> |
| 38 | </tr> |
281 | </tr> |
| 39 | <tr class="field"><th class="field-name">Author:</th><td class="field-body">Marius Mauch <genone at gentoo.org>,</td> |
282 | <tr class="field"><th class="field-name">Author:</th><td class="field-body">Marius Mauch <genone at gentoo.org>,</td> |
| 40 | </tr> |
283 | </tr> |
| 41 | <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">Accepted</td> |
| 42 | </tr> |
285 | </tr> |
| 43 | <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> |
| 44 | </tr> |
287 | </tr> |
| 45 | <tr class="field"><th class="field-name">Content-Type:</th><td class="field-body"><a class="reference" href="http://www.python.org/peps/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> |
| 46 | </tr> |
289 | </tr> |
| 47 | <tr class="field"><th class="field-name">Created:</th><td class="field-body">04-Dec-2005</td> |
290 | <tr class="field"><th class="field-name">Created:</th><td class="field-body">04-Dec-2005</td> |
| 48 | </tr> |
291 | </tr> |
| 49 | <tr class="field"><th class="field-name">Post-History:</th><td class="field-body">06-Dec-2005, 23-Jan-2006</td> |
292 | <tr class="field"><th class="field-name">Post-History:</th><td class="field-body">06-Dec-2005, 23-Jan-2006, 3-Sep-2006</td> |
| 50 | </tr> |
293 | </tr> |
| 51 | </tbody> |
294 | </tbody> |
| 52 | </table> |
295 | </table> |
| 53 | <hr /> |
296 | <hr /> |
| 54 | <div class="contents topic" id="contents"> |
297 | <div class="contents topic"> |
| 55 | <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> |
| 56 | <ul class="simple"> |
299 | <ul class="simple"> |
| 57 | <li><a class="reference" href="#abstract" id="id9" name="id9">Abstract</a></li> |
300 | <li><a class="reference" href="#abstract" id="id9" name="id9">Abstract</a></li> |
| 58 | <li><a class="reference" href="#motivation" id="id10" name="id10">Motivation</a></li> |
301 | <li><a class="reference" href="#motivation" id="id10" name="id10">Motivation</a></li> |
| 59 | <li><a class="reference" href="#specification" id="id11" name="id11">Specification</a><ul> |
302 | <li><a class="reference" href="#specification" id="id11" name="id11">Specification</a><ul> |
| 60 | <li><a class="reference" href="#compability-entries" id="id12" name="id12">Compability Entries</a></li> |
303 | <li><a class="reference" href="#compability-entries" id="id12" name="id12">Compability Entries</a></li> |
| … | |
… | |
| 79 | <li><a class="reference" href="#credits" id="id25" name="id25">Credits</a></li> |
322 | <li><a class="reference" href="#credits" id="id25" name="id25">Credits</a></li> |
| 80 | <li><a class="reference" href="#references" id="id26" name="id26">References</a></li> |
323 | <li><a class="reference" href="#references" id="id26" name="id26">References</a></li> |
| 81 | <li><a class="reference" href="#copyright" id="id27" name="id27">Copyright</a></li> |
324 | <li><a class="reference" href="#copyright" id="id27" name="id27">Copyright</a></li> |
| 82 | </ul> |
325 | </ul> |
| 83 | </div> |
326 | </div> |
| 84 | <div class="section" id="abstract"> |
327 | <div class="section"> |
| 85 | <h1><a class="toc-backref" href="#id9" name="abstract">Abstract</a></h1> |
328 | <h1><a class="toc-backref" href="#id9" id="abstract" name="abstract">Abstract</a></h1> |
| 86 | <p>This GLEP proposes a new format for the Portage Manifest and digest file system |
329 | <p>This GLEP proposes a new format for the Portage Manifest and digest file system |
| 87 | by unifying both filetypes into one to improve functional and non-functional |
330 | by unifying both filetypes into one to improve functional and non-functional |
| 88 | aspects of the Portage Tree.</p> |
331 | aspects of the Portage Tree.</p> |
| 89 | </div> |
332 | </div> |
| 90 | <div class="section" id="motivation"> |
333 | <div class="section"> |
| 91 | <h1><a class="toc-backref" href="#id10" name="motivation">Motivation</a></h1> |
334 | <h1><a class="toc-backref" href="#id10" id="motivation" name="motivation">Motivation</a></h1> |
| 92 | <p>Please see <a class="footnote-reference" href="#reorg-thread" id="id1" name="id1">[1]</a> for a general overview. |
335 | <p>Please see <a class="footnote-reference" href="#reorg-thread" id="id1" name="id1">[1]</a> for a general overview. |
| 93 | The main long term goals of this proposal are to:</p> |
336 | The main long term goals of this proposal are to:</p> |
| 94 | <ul class="simple"> |
337 | <ul class="simple"> |
| 95 | <li>Remove the tiny digest files from the tree. They are a major annoyance as on a |
338 | <li>Remove the tiny digest files from the tree. They are a major annoyance as on a |
| 96 | typical configuration they waste a lot of disk space and the simple transmission |
339 | typical configuration they waste a lot of disk space and the simple transmission |
| … | |
… | |
| 100 | <li>Remove potential for checksum collisions if a file is recorded in more than one |
343 | <li>Remove potential for checksum collisions if a file is recorded in more than one |
| 101 | digest file</li> |
344 | digest file</li> |
| 102 | <li>Difference between filetypes for a more flexible verification system</li> |
345 | <li>Difference between filetypes for a more flexible verification system</li> |
| 103 | </ul> |
346 | </ul> |
| 104 | </div> |
347 | </div> |
| 105 | <div class="section" id="specification"> |
348 | <div class="section"> |
| 106 | <h1><a class="toc-backref" href="#id11" name="specification">Specification</a></h1> |
349 | <h1><a class="toc-backref" href="#id11" id="specification" name="specification">Specification</a></h1> |
| 107 | <p>The new Manifest format would change the existing format in the following ways:</p> |
350 | <p>The new Manifest format would change the existing format in the following ways:</p> |
| 108 | <ul> |
351 | <ul> |
| 109 | <li><p class="first">Addition of a filetype specifier, currently planned are</p> |
352 | <li><p class="first">Addition of a filetype specifier, currently planned are</p> |
| 110 | <ul class="simple"> |
353 | <ul class="simple"> |
| 111 | <li><tt class="docutils literal"><span class="pre">AUX</span></tt> for files directly used by ebuilds (e.g. patches or initscripts), |
354 | <li><tt class="docutils literal"><span class="pre">AUX</span></tt> for files directly used by ebuilds (e.g. patches or initscripts), |
| … | |
… | |
| 114 | <li><tt class="docutils literal"><span class="pre">MISC</span></tt> for files not directly used by ebuilds like <tt class="docutils literal"><span class="pre">ChangeLog</span></tt> or |
357 | <li><tt class="docutils literal"><span class="pre">MISC</span></tt> for files not directly used by ebuilds like <tt class="docutils literal"><span class="pre">ChangeLog</span></tt> or |
| 115 | <tt class="docutils literal"><span class="pre">metadata.xml</span></tt> files</li> |
358 | <tt class="docutils literal"><span class="pre">metadata.xml</span></tt> files</li> |
| 116 | <li><tt class="docutils literal"><span class="pre">DIST</span></tt> for release tarballs recorded in the <tt class="docutils literal"><span class="pre">SRC_URI</span></tt> variable of an ebuild, |
359 | <li><tt class="docutils literal"><span class="pre">DIST</span></tt> for release tarballs recorded in the <tt class="docutils literal"><span class="pre">SRC_URI</span></tt> variable of an ebuild, |
| 117 | these were previously recorded in the digest files</li> |
360 | these were previously recorded in the digest files</li> |
| 118 | </ul> |
361 | </ul> |
| 119 | <p>Future portage improvements might extend this list (for example with types |
362 | <p>Future portage improvements might extend this list (for example with types |
| 120 | relevant for eclasses or profiles)</p> |
363 | relevant for eclasses or profiles)</p> |
| 121 | </li> |
364 | </li> |
| 122 | <li><p class="first">Only have one line per file listing all information instead of one line per |
365 | <li><p class="first">Only have one line per file listing all information instead of one line per |
| 123 | file and checksum type</p> |
366 | file and checksum type</p> |
| 124 | </li> |
367 | </li> |
| 125 | <li><p class="first">Remove the separated digest-* files in the <tt class="docutils literal"><span class="pre">files/</span></tt> subdirectory</p> |
368 | <li><p class="first">Remove the separated digest-* files in the <tt class="docutils literal"><span class="pre">files/</span></tt> subdirectory</p> |
| 126 | </li> |
369 | </li> |
| 127 | </ul> |
370 | </ul> |
| … | |
… | |
| 129 | <pre class="literal-block"> |
372 | <pre class="literal-block"> |
| 130 | <filetype> <filename> <filesize> <chksumtype1> <chksum1> ... <chksumtypen> <chksumn> |
373 | <filetype> <filename> <filesize> <chksumtype1> <chksum1> ... <chksumtypen> <chksumn> |
| 131 | </pre> |
374 | </pre> |
| 132 | <p>However theses entries will be stored in the existing Manifest files.</p> |
375 | <p>However theses entries will be stored in the existing Manifest files.</p> |
| 133 | <p>An <a class="reference" href="glep-0044-extras/manifest2-example.txt">actual example</a> <a class="footnote-reference" href="#id7" id="id8" name="id8">[6]</a> for a (pure) Manifest2 file..</p> |
376 | <p>An <a class="reference" href="glep-0044-extras/manifest2-example.txt">actual example</a> <a class="footnote-reference" href="#id7" id="id8" name="id8">[6]</a> for a (pure) Manifest2 file..</p> |
| 134 | <div class="section" id="compability-entries"> |
377 | <div class="section"> |
| 135 | <h2><a class="toc-backref" href="#id12" name="compability-entries">Compability Entries</a></h2> |
378 | <h2><a class="toc-backref" href="#id12" id="compability-entries" name="compability-entries">Compability Entries</a></h2> |
| 136 | <p>To maintain compability with existing portage versions a transition period after |
379 | <p>To maintain compability with existing portage versions a transition period after |
| 137 | is the introduction of the Manifest2 format is required during which portage |
380 | is the introduction of the Manifest2 format is required during which portage |
| 138 | will not only have to be capable of using existing Manifest and digest files but |
381 | will not only have to be capable of using existing Manifest and digest files but |
| 139 | also generate them in addition to the new entries. |
382 | also generate them in addition to the new entries. |
| 140 | Fortunately this can be accomplished by simply mixing old and new style entries |
383 | Fortunately this can be accomplished by simply mixing old and new style entries |
| 141 | in one file for the Manifest files, existing portage versions will simply ignore |
384 | in one file for the Manifest files, existing portage versions will simply ignore |
| 142 | the new style entries. For the digest files there are no new entries to care |
385 | the new style entries. For the digest files there are no new entries to care |
| 143 | about.</p> |
386 | about.</p> |
| 144 | </div> |
387 | </div> |
| 145 | <div class="section" id="scope"> |
388 | <div class="section"> |
| 146 | <h2><a class="toc-backref" href="#id13" name="scope">Scope</a></h2> |
389 | <h2><a class="toc-backref" href="#id13" id="scope" name="scope">Scope</a></h2> |
| 147 | <p>It is important to note that this proposal only deals with a change of the |
390 | <p>It is important to note that this proposal only deals with a change of the |
| 148 | format of the digest and Manifest system.</p> |
391 | format of the digest and Manifest system.</p> |
| 149 | <p>It does not expand the scope of it to cover eclasses, profiles or anything |
392 | <p>It does not expand the scope of it to cover eclasses, profiles or anything |
| 150 | else not already covered by the Manifest system, it also doesn't affect |
393 | else not already covered by the Manifest system, it also doesn't affect |
| 151 | the Manifest signing efforts in any way (though the implementations of both |
394 | the Manifest signing efforts in any way (though the implementations of both |
| 152 | might be coupled).</p> |
395 | might be coupled).</p> |
| 153 | <p>Also while multiple hash functions will become standard with the proposed |
396 | <p>Also while multiple hash functions will become standard with the proposed |
| 154 | implementation they are not a specific feature of this format <a class="footnote-reference" href="#multi-hash-thread" id="id3" name="id3">[2]</a>.</p> |
397 | implementation they are not a specific feature of this format <a class="footnote-reference" href="#multi-hash-thread" id="id3" name="id3">[2]</a>.</p> |
| 155 | </div> |
398 | </div> |
| 156 | <div class="section" id="number-of-hashes"> |
399 | <div class="section"> |
| 157 | <h2><a class="toc-backref" href="#id14" name="number-of-hashes">Number of hashes</a></h2> |
400 | <h2><a class="toc-backref" href="#id14" id="number-of-hashes" name="number-of-hashes">Number of hashes</a></h2> |
| 158 | <p>While using multiple hashes for each file is a major feature of this proposal |
401 | <p>While using multiple hashes for each file is a major feature of this proposal |
| 159 | we have to make sure that the number of hashes listed is limited to avoid |
402 | we have to make sure that the number of hashes listed is limited to avoid |
| 160 | an explosion of the Manifest size that would revert the main benefit of this proposal |
403 | an explosion of the Manifest size that would revert the main benefit of this proposal |
| 161 | (reduzing tree size). Therefore the number of hashes that will be generated |
404 | (reduzing tree size). Therefore the number of hashes that will be generated |
| 162 | will be limited to three different hash functions. For compability though we |
405 | will be limited to three different hash functions. For compability though we |
| 163 | have to rely on at least one hash function to always be present, this proposal |
406 | have to rely on at least one hash function to always be present, this proposal |
| 164 | suggest to use SHA1 for this purpose (as it is supposed to be more secure than MD5 |
407 | suggest to use SHA1 for this purpose (as it is supposed to be more secure than MD5 |
| 165 | and currently only SHA1 and MD5 are directly available in python, also MD5 doesn't |
408 | and currently only SHA1 and MD5 are directly available in python, also MD5 doesn't |
| 166 | have any benefit in terms of compability).</p> |
409 | have any benefit in terms of compability).</p> |
| 167 | </div> |
410 | </div> |
| 168 | </div> |
411 | </div> |
| 169 | <div class="section" id="rationale"> |
412 | <div class="section"> |
| 170 | <h1><a class="toc-backref" href="#id15" name="rationale">Rationale</a></h1> |
413 | <h1><a class="toc-backref" href="#id15" id="rationale" name="rationale">Rationale</a></h1> |
| 171 | <p>The main goals of the proposal have been listed in the <a class="reference" href="#motivation">Motivation</a>, here now |
414 | <p>The main goals of the proposal have been listed in the <a class="reference" href="#motivation">Motivation</a>, here now |
| 172 | the explanation why they are improvements and how the proposed format will |
415 | the explanation why they are improvements and how the proposed format will |
| 173 | accomplish them.</p> |
416 | accomplish them.</p> |
| 174 | <div class="section" id="removal-of-digest-files"> |
417 | <div class="section"> |
| 175 | <h2><a class="toc-backref" href="#id16" name="removal-of-digest-files">Removal of digest files</a></h2> |
418 | <h2><a class="toc-backref" href="#id16" id="removal-of-digest-files" name="removal-of-digest-files">Removal of digest files</a></h2> |
| 176 | <p>Normal users that don't use a "tuned" filesystem for the portage tree are |
419 | <p>Normal users that don't use a "tuned" filesystem for the portage tree are |
| 177 | wasting several dozen to a few hundred megabytes of disk space with the current |
420 | wasting several dozen to a few hundred megabytes of disk space with the current |
| 178 | system, largely caused by the digest files. |
421 | system, largely caused by the digest files. |
| 179 | This is due to the filesystem overhead present in most filesystem that |
422 | This is due to the filesystem overhead present in most filesystem that |
| 180 | have a standard blocksize of four kilobytes while most digest files are under |
423 | have a standard blocksize of four kilobytes while most digest files are under |
| 181 | one kilobyte in size, so this results in approximately a waste of three kilobytes |
424 | one kilobyte in size, so this results in approximately a waste of three kilobytes |
| 182 | per digest file (likely even more). At the time of this writing the tree contains |
425 | per digest file (likely even more). At the time of this writing the tree contains |
| 183 | roughly 22.000 digest files, so the overall waste caused by digest files is |
426 | roughly 22.000 digest files, so the overall waste caused by digest files is |
| 184 | estimated at about 70-100 megabytes. |
427 | estimated at about 70-100 megabytes. |
| 185 | Furthermore it is assumed that this will also reduce the disk space wasted by |
428 | Furthermore it is assumed that this will also reduce the disk space wasted by |
| 186 | the Manifest files as they now contain more content, but this hasn't been |
429 | the Manifest files as they now contain more content, but this hasn't been |
| 187 | verified yet.</p> |
430 | verified yet.</p> |
| 188 | <p>By unifying the digest files with the Manifest these tiny files are eliminated |
431 | <p>By unifying the digest files with the Manifest these tiny files are eliminated |
| 189 | (in the long run), reducing the apparent tree size by about 20%, benefitting |
432 | (in the long run), reducing the apparent tree size by about 20%, benefitting |
| 190 | both users and the Gentoo infrastructure.</p> |
433 | both users and the Gentoo infrastructure.</p> |
| 191 | </div> |
434 | </div> |
| 192 | <div class="section" id="reducing-redundancy"> |
435 | <div class="section"> |
| 193 | <h2><a class="toc-backref" href="#id17" name="reducing-redundancy">Reducing redundancy</a></h2> |
436 | <h2><a class="toc-backref" href="#id17" id="reducing-redundancy" name="reducing-redundancy">Reducing redundancy</a></h2> |
| 194 | <p>When multiple hashes are used with the current system |
437 | <p>When multiple hashes are used with the current system |
| 195 | both the filename and filesize are repeated for every checksum type used as each |
438 | both the filename and filesize are repeated for every checksum type used as each |
| 196 | checksum is standalone. However this doesn't add any functionality and is |
439 | checksum is standalone. However this doesn't add any functionality and is |
| 197 | therefore useless, so the new format removes this redundancy. |
440 | therefore useless, so the new format removes this redundancy. |
| 198 | This is a theoretical improvement at this moment as only one hash function is in |
441 | This is a theoretical improvement at this moment as only one hash function is in |
| 199 | use, but expected to change soon (see <a class="footnote-reference" href="#multi-hash-thread" id="id4" name="id4">[2]</a>).</p> |
442 | use, but expected to change soon (see <a class="footnote-reference" href="#multi-hash-thread" id="id4" name="id4">[2]</a>).</p> |
| 200 | </div> |
443 | </div> |
| 201 | <div class="section" id="removal-of-checksum-collisions"> |
444 | <div class="section"> |
| 202 | <h2><a class="toc-backref" href="#id18" name="removal-of-checksum-collisions">Removal of checksum collisions</a></h2> |
445 | <h2><a class="toc-backref" href="#id18" id="removal-of-checksum-collisions" name="removal-of-checksum-collisions">Removal of checksum collisions</a></h2> |
| 203 | <p>The current system theoretically allows for a <tt class="docutils literal"><span class="pre">DIST</span></tt> type file to be recorded |
446 | <p>The current system theoretically allows for a <tt class="docutils literal"><span class="pre">DIST</span></tt> type file to be recorded |
| 204 | in multiple digest files with different sizes and/or checksums. In such a case |
447 | in multiple digest files with different sizes and/or checksums. In such a case |
| 205 | one version of a package would report a checksum violation while another one |
448 | one version of a package would report a checksum violation while another one |
| 206 | would not. This could create confusion and uncertainity among users. |
449 | would not. This could create confusion and uncertainity among users. |
| 207 | So far this case hasn't been observed, but it can't be ruled out with the |
450 | So far this case hasn't been observed, but it can't be ruled out with the |
| 208 | existing system. |
451 | existing system. |
| 209 | As the new format lists each file exactly once this would be no longer possible.</p> |
452 | As the new format lists each file exactly once this would be no longer possible.</p> |
| 210 | </div> |
453 | </div> |
| 211 | <div class="section" id="flexible-verification-system"> |
454 | <div class="section"> |
| 212 | <h2><a class="toc-backref" href="#id19" name="flexible-verification-system">Flexible verification system</a></h2> |
455 | <h2><a class="toc-backref" href="#id19" id="flexible-verification-system" name="flexible-verification-system">Flexible verification system</a></h2> |
| 213 | <p>Right now portage verifies the checksum of every file listed in the Manifest |
456 | <p>Right now portage verifies the checksum of every file listed in the Manifest |
| 214 | before using any file of the package and all <tt class="docutils literal"><span class="pre">DIST</span></tt> files of an ebuild |
457 | before using any file of the package and all <tt class="docutils literal"><span class="pre">DIST</span></tt> files of an ebuild |
| 215 | before using that ebuild. This is unnecessary in many cases:</p> |
458 | before using that ebuild. This is unnecessary in many cases:</p> |
| 216 | <ul class="simple"> |
459 | <ul class="simple"> |
| 217 | <li>During the "depend" phase (when the ebuild metadata is generated) only |
460 | <li>During the "depend" phase (when the ebuild metadata is generated) only |
| 218 | files of type <tt class="docutils literal"><span class="pre">EBUILD</span></tt> are used, so verifying the other types isn't |
461 | files of type <tt class="docutils literal"><span class="pre">EBUILD</span></tt> are used, so verifying the other types isn't |
| 219 | necessary. Theoretically it is possible for an ebuild to include other |
462 | necessary. Theoretically it is possible for an ebuild to include other |
| 220 | files like those of type <tt class="docutils literal"><span class="pre">AUX</span></tt> at this phase, but that would be a |
463 | files like those of type <tt class="docutils literal"><span class="pre">AUX</span></tt> at this phase, but that would be a |
| 221 | major QA violation and should never occur, so it can be ignored here. |
464 | major QA violation and should never occur, so it can be ignored here. |
| 222 | It is also not a security concern as the ebuild is verified before parsing |
465 | It is also not a security concern as the ebuild is verified before parsing |
| 223 | it, so each manipulation would show up.</li> |
466 | it, so each manipulation would show up.</li> |
| 224 | <li>Generally files of type <tt class="docutils literal"><span class="pre">MISC</span></tt> don't need to be verified as they are |
467 | <li>Generally files of type <tt class="docutils literal"><span class="pre">MISC</span></tt> don't need to be verified as they are |
| 225 | only used in very specific situations, aren't executed (just parsed at most) |
468 | only used in very specific situations, aren't executed (just parsed at most) |
| 226 | and don't affect the package build process.</li> |
469 | and don't affect the package build process.</li> |
| 227 | <li>Files of type <tt class="docutils literal"><span class="pre">DIST</span></tt> only need to be verified directly after fetching and |
470 | <li>Files of type <tt class="docutils literal"><span class="pre">DIST</span></tt> only need to be verified directly after fetching and |
| 228 | before unpacking them (which often will be one step), not every time their |
471 | before unpacking them (which often will be one step), not every time their |
| 229 | associated ebuild is used.</li> |
472 | associated ebuild is used.</li> |
| 230 | </ul> |
473 | </ul> |
| 231 | </div> |
474 | </div> |
| 232 | </div> |
475 | </div> |
| 233 | <div class="section" id="backwards-compatibility"> |
476 | <div class="section"> |
| 234 | <h1><a class="toc-backref" href="#id20" name="backwards-compatibility">Backwards Compatibility</a></h1> |
477 | <h1><a class="toc-backref" href="#id20" id="backwards-compatibility" name="backwards-compatibility">Backwards Compatibility</a></h1> |
| 235 | <p>Switching the Manifest system is a task that will need a long transition period |
478 | <p>Switching the Manifest system is a task that will need a long transition period |
| 236 | like most changes affecting both portage and the tree. In this case the |
479 | like most changes affecting both portage and the tree. In this case the |
| 237 | implementation will be rolled out in several phases:</p> |
480 | implementation will be rolled out in several phases:</p> |
| 238 | <ol class="arabic simple"> |
481 | <ol class="arabic simple"> |
| 239 | <li>Add support for verification of Manifest2 entries in portage</li> |
482 | <li>Add support for verification of Manifest2 entries in portage</li> |
| 240 | <li>Enable generation of Manifest2 entries in addition to the current system</li> |
483 | <li>Enable generation of Manifest2 entries in addition to the current system</li> |
| 241 | <li>Ignore digests during <tt class="docutils literal"><span class="pre">emerge</span> <span class="pre">--sync</span></tt> to get the size-benefit clientside. |
484 | <li>Ignore digests during <tt class="docutils literal"><span class="pre">emerge</span> <span class="pre">--sync</span></tt> to get the size-benefit clientside. |
| 242 | This step may be ommitted if the following steps are expected to follow soon.</li> |
485 | This step may be ommitted if the following steps are expected to follow soon.</li> |
| 243 | <li>Disable generation of entries for the current system</li> |
486 | <li>Disable generation of entries for the current system</li> |
| 244 | <li>Remove all traces of the current system from the tree (serverside)</li> |
487 | <li>Remove all traces of the current system from the tree (serverside)</li> |
| 245 | </ol> |
488 | </ol> |
| 246 | <p>Each step has its own issues. While 1) and 2) can be implemented without any |
489 | <p>Each step has its own issues. While 1) and 2) can be implemented without any |
| 247 | compability problems all later steps have a major impact:</p> |
490 | compability problems all later steps have a major impact:</p> |
| 248 | <ul class="simple"> |
491 | <ul class="simple"> |
| 249 | <li>Step 3) can only be implemented when the whole tree is Manifest2 ready |
492 | <li>Step 3) can only be implemented when the whole tree is Manifest2 ready |
| 250 | (ideally speaking, practically the requirement will be more like 95% coverage |
493 | (ideally speaking, practically the requirement will be more like 95% coverage |
| 251 | with the expectation that for the remaining 5% either bugs will be filed after |
494 | with the expectation that for the remaining 5% either bugs will be filed after |
| 252 | step 3) is completed or they'll be updated at step 5).</li> |
495 | step 3) is completed or they'll be updated at step 5).</li> |
| 253 | <li>Steps 4) and 5) will render all portage versions without Manifest2 support |
496 | <li>Steps 4) and 5) will render all portage versions without Manifest2 support |
| 254 | basically useless (users would have to regenerate the digest and Manifest |
497 | basically useless (users would have to regenerate the digest and Manifest |
| 255 | for each package before being able to merge it), so this requires a almost |
498 | for each package before being able to merge it), so this requires a almost |
| 256 | 100% coverage of the userbase with Manifest2 capabale portage versions |
499 | 100% coverage of the userbase with Manifest2 capabale portage versions |
| 257 | (with step 1) completely implemented).</li> |
500 | (with step 1) completely implemented).</li> |
| 258 | </ul> |
501 | </ul> |
| 259 | <p>Another problem is that some steps affect different targets:</p> |
502 | <p>Another problem is that some steps affect different targets:</p> |
| 260 | <ul class="simple"> |
503 | <ul class="simple"> |
| 261 | <li>Steps 1) and 3) target portage versions used by users</li> |
504 | <li>Steps 1) and 3) target portage versions used by users</li> |
| 262 | <li>Steps 2) and 4) target portage versions used by devs</li> |
505 | <li>Steps 2) and 4) target portage versions used by devs</li> |
| 263 | <li>Step 5) targets the portage tree on the cvs server</li> |
506 | <li>Step 5) targets the portage tree on the cvs server</li> |
| 264 | </ul> |
507 | </ul> |
| 265 | <p>While it is relatively easy to get all devs to use a new portage version this is |
508 | <p>While it is relatively easy to get all devs to use a new portage version this is |
| 266 | practically impossible with users as some don't update their systems regulary. |
509 | practically impossible with users as some don't update their systems regulary. |
| 267 | While six months are probably sufficient to reach a 95% coverage one year is |
510 | While six months are probably sufficient to reach a 95% coverage one year is |
| 268 | estimated to reach an almost-complete coverage. All times are relative to the |
511 | estimated to reach an almost-complete coverage. All times are relative to the |
| 269 | stable-marking of a compatible portage version.</p> |
512 | stable-marking of a compatible portage version.</p> |
| 270 | <p>No timeframe for implementation is presented here as it is highly dependent |
513 | <p>No timeframe for implementation is presented here as it is highly dependent |
| 271 | on the completion of each step.</p> |
514 | on the completion of each step.</p> |
| 272 | <p>In summary it can be said that while a full conversion will take over a year |
515 | <p>In summary it can be said that while a full conversion will take over a year |
| 273 | to be completed due to compability issues mentioned above some benefits of the |
516 | to be completed due to compability issues mentioned above some benefits of the |
| 274 | system can selectively be used as soon as step 2) is completed.</p> |
517 | system can selectively be used as soon as step 2) is completed.</p> |
| 275 | </div> |
518 | </div> |
| 276 | <div class="section" id="other-problems"> |
519 | <div class="section"> |
| 277 | <h1><a class="toc-backref" href="#id21" name="other-problems">Other problems</a></h1> |
520 | <h1><a class="toc-backref" href="#id21" id="other-problems" name="other-problems">Other problems</a></h1> |
| 278 | <div class="section" id="impacts-on-infrastructure"> |
521 | <div class="section"> |
| 279 | <h2><a class="toc-backref" href="#id22" name="impacts-on-infrastructure">Impacts on infrastructure</a></h2> |
522 | <h2><a class="toc-backref" href="#id22" id="impacts-on-infrastructure" name="impacts-on-infrastructure">Impacts on infrastructure</a></h2> |
| 280 | <p>While one long term goal of this proposal is to reduce the size of the tree |
523 | <p>While one long term goal of this proposal is to reduce the size of the tree |
| 281 | and therefore make life for the Gentoo Infrastructure easier this will only |
524 | and therefore make life for the Gentoo Infrastructure easier this will only |
| 282 | take effect once the implementation is rolled out completely. In the meantime |
525 | take effect once the implementation is rolled out completely. In the meantime |
| 283 | however it will increase the tree size due to keeping checksums in both formats. |
526 | however it will increase the tree size due to keeping checksums in both formats. |
| 284 | It's not possible to give a usable estimate on the degree of the increase as |
527 | It's not possible to give a usable estimate on the degree of the increase as |
| 285 | it depends on many variables such as the exact implementation timeframe, |
528 | it depends on many variables such as the exact implementation timeframe, |
| 286 | propagation of Manifest2 capable portage versions among devs or the update |
529 | propagation of Manifest2 capable portage versions among devs or the update |
| 287 | rate of the tree. It has been suggested that Manifest files that are not gpg |
530 | rate of the tree. It has been suggested that Manifest files that are not gpg |
| 288 | signed could be mass converted in one step, this could certainly help but only |
531 | signed could be mass converted in one step, this could certainly help but only |
| 289 | to some degree (according to a recent research <a class="footnote-reference" href="#gpg-numbers" id="id5" name="id5">[3]</a> about 40% of |
532 | to some degree (according to a recent research <a class="footnote-reference" href="#gpg-numbers" id="id5" name="id5">[3]</a> about 40% of |
| 290 | all Manifests in the tree are signed, but this number hasn't been verified).</p> |
533 | all Manifests in the tree are signed, but this number hasn't been verified).</p> |
| 291 | </div> |
534 | </div> |
| 292 | </div> |
535 | </div> |
| 293 | <div class="section" id="reference-implementation"> |
536 | <div class="section"> |
| 294 | <h1><a class="toc-backref" href="#id23" name="reference-implementation">Reference Implementation</a></h1> |
537 | <h1><a class="toc-backref" href="#id23" id="reference-implementation" name="reference-implementation">Reference Implementation</a></h1> |
| 295 | <p>A patch for a prototype implementation of Manifest2 verification and partial |
538 | <p>A patch for a prototype implementation of Manifest2 verification and partial |
| 296 | generation has been posted at <a class="footnote-reference" href="#manifest2-patch" id="id6" name="id6">[4]</a>, it will be reworked before |
539 | generation has been posted at <a class="footnote-reference" href="#manifest2-patch" id="id6" name="id6">[4]</a>, it will be reworked before |
| 297 | being considered for inclusion in portage. However it shows that adding support |
540 | being considered for inclusion in portage. However it shows that adding support |
| 298 | for verification is quite simple, but generation is a bit tricky and will |
541 | for verification is quite simple, but generation is a bit tricky and will |
| 299 | therefore be implemented later.</p> |
542 | therefore be implemented later.</p> |
| 300 | </div> |
543 | </div> |
| 301 | <div class="section" id="options"> |
544 | <div class="section"> |
| 302 | <h1><a class="toc-backref" href="#id24" name="options">Options</a></h1> |
545 | <h1><a class="toc-backref" href="#id24" id="options" name="options">Options</a></h1> |
| 303 | <p>Some things have been considered for this GLEP but aren't part of the proposal |
546 | <p>Some things have been considered for this GLEP but aren't part of the proposal |
| 304 | yet for various reasons:</p> |
547 | yet for various reasons:</p> |
| 305 | <ul class="simple"> |
548 | <ul class="simple"> |
| 306 | <li>timestamp field: the author has considered adding a timestamp field for |
549 | <li>timestamp field: the author has considered adding a timestamp field for |
| 307 | each entry to list the time the entry was created. However so far no practical |
550 | each entry to list the time the entry was created. However so far no practical |
| 308 | use for such a feature has been found.</li> |
551 | use for such a feature has been found.</li> |
| 309 | <li>convert size field into checksum: Another idea was to treat the size field |
552 | <li>convert size field into checksum: Another idea was to treat the size field |
| 310 | like any other checksum. But so far no real benefit (other than a slightly |
553 | like any other checksum. But so far no real benefit (other than a slightly |
| 311 | more modular implementation) for this has been seen while it has several |
554 | more modular implementation) for this has been seen while it has several |
| 312 | drawbacks: For once, unlike checksums, the size field is definitely required |
555 | drawbacks: For once, unlike checksums, the size field is definitely required |
| 313 | for all <tt class="docutils literal"><span class="pre">DIST</span></tt> files, also it would slightly increase the length of |
556 | for all <tt class="docutils literal"><span class="pre">DIST</span></tt> files, also it would slightly increase the length of |
| 314 | each entry by adding a <tt class="docutils literal"><span class="pre">SIZE</span></tt> keyword.</li> |
557 | each entry by adding a <tt class="docutils literal"><span class="pre">SIZE</span></tt> keyword.</li> |
| 315 | <li>removal of the <tt class="docutils literal"><span class="pre">MISC</span></tt> type: It has been suggested to completely drop |
558 | <li>removal of the <tt class="docutils literal"><span class="pre">MISC</span></tt> type: It has been suggested to completely drop |
| 316 | entries of type <tt class="docutils literal"><span class="pre">MISC</span></tt>. This would result in a minor space reduction |
559 | entries of type <tt class="docutils literal"><span class="pre">MISC</span></tt>. This would result in a minor space reduction |
| 317 | (its rather unlikely to free any blocks) but completely remove the ability |
560 | (its rather unlikely to free any blocks) but completely remove the ability |
| 318 | to check these files for integrity. While they don't influence portage |
561 | to check these files for integrity. While they don't influence portage |
| 319 | or packages directly they can contain viable information for users, so |
562 | or packages directly they can contain viable information for users, so |
| 320 | the author has the opinion that at least the option for integrity checks |
563 | the author has the opinion that at least the option for integrity checks |
| 321 | should be kept.</li> |
564 | should be kept.</li> |
| 322 | </ul> |
565 | </ul> |
| 323 | </div> |
566 | </div> |
| 324 | <div class="section" id="credits"> |
567 | <div class="section"> |
| 325 | <h1><a class="toc-backref" href="#id25" name="credits">Credits</a></h1> |
568 | <h1><a class="toc-backref" href="#id25" id="credits" name="credits">Credits</a></h1> |
| 326 | <p>Thanks to the following persons for their input on or related to this GLEP |
569 | <p>Thanks to the following persons for their input on or related to this GLEP |
| 327 | (even though they might not have known it): |
570 | (even though they might not have known it): |
| 328 | Ned Ludd (solar), Brian Harring (ferringb), Jason Stubbs (jstubbs), |
571 | Ned Ludd (solar), Brian Harring (ferringb), Jason Stubbs (jstubbs), |
| 329 | Robin H. Johnson (robbat2), Aron Griffis (agriffis)</p> |
572 | Robin H. Johnson (robbat2), Aron Griffis (agriffis)</p> |
| 330 | <p>Also thanks to Nicholas Jones (carpaski) to make the current Manifest system |
573 | <p>Also thanks to Nicholas Jones (carpaski) to make the current Manifest system |
| 331 | resistent enough to be able to handle this change without too many transition |
574 | resistent enough to be able to handle this change without too many transition |
| 332 | problems.</p> |
575 | problems.</p> |
| 333 | </div> |
576 | </div> |
| 334 | <div class="section" id="references"> |
577 | <div class="section"> |
| 335 | <h1><a class="toc-backref" href="#id26" name="references">References</a></h1> |
578 | <h1><a class="toc-backref" href="#id26" id="references" name="references">References</a></h1> |
| 336 | <table class="docutils footnote" frame="void" id="reorg-thread" rules="none"> |
579 | <table class="docutils footnote" frame="void" id="reorg-thread" rules="none"> |
| 337 | <colgroup><col class="label" /><col /></colgroup> |
580 | <colgroup><col class="label" /><col /></colgroup> |
| 338 | <tbody valign="top"> |
581 | <tbody valign="top"> |
| 339 | <tr><td class="label"><a class="fn-backref" href="#id1" name="reorg-thread">[1]</a></td><td><a class="reference" href="http://thread.gmane.org/gmane.linux.gentoo.devel/21920">http://thread.gmane.org/gmane.linux.gentoo.devel/21920</a></td></tr> |
582 | <tr><td class="label"><a class="fn-backref" href="#id1" name="reorg-thread">[1]</a></td><td><a class="reference" href="http://thread.gmane.org/gmane.linux.gentoo.devel/21920">http://thread.gmane.org/gmane.linux.gentoo.devel/21920</a></td></tr> |
| 340 | </tbody> |
583 | </tbody> |
| … | |
… | |
| 369 | <tbody valign="top"> |
612 | <tbody valign="top"> |
| 370 | <tr><td class="label"><a class="fn-backref" href="#id8" name="id7">[6]</a></td><td><a class="reference" href="glep-0044-extras/manifest2-example.txt">glep-0044-extras/manifest2-example.txt</a></td></tr> |
613 | <tr><td class="label"><a class="fn-backref" href="#id8" name="id7">[6]</a></td><td><a class="reference" href="glep-0044-extras/manifest2-example.txt">glep-0044-extras/manifest2-example.txt</a></td></tr> |
| 371 | </tbody> |
614 | </tbody> |
| 372 | </table> |
615 | </table> |
| 373 | </div> |
616 | </div> |
| 374 | <div class="section" id="copyright"> |
617 | <div class="section"> |
| 375 | <h1><a class="toc-backref" href="#id27" name="copyright">Copyright</a></h1> |
618 | <h1><a class="toc-backref" href="#id27" id="copyright" name="copyright">Copyright</a></h1> |
| 376 | <p>This document has been placed in the public domain.</p> |
619 | <p>This document has been placed in the public domain.</p> |
| 377 | </div> |
620 | </div> |
| 378 | |
621 | |
| 379 | </div> |
622 | </div> |
| 380 | <div class="footer"> |
623 | <div class="footer"> |
| 381 | <hr class="footer" /> |
624 | <hr class="footer" /> |
| 382 | <a class="reference" href="glep-0044.txt">View document source</a>. |
625 | <a class="reference" href="glep-0044.txt">View document source</a>. |
| 383 | Generated on: 2006-02-10 23:30 UTC. |
626 | Generated on: 2006-10-14 03:01 UTC. |
| 384 | Generated 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. |
627 | Generated 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. |
| 385 | |
628 | |
| 386 | </div> |
629 | </div> |
| 387 | </body> |
630 | </body> |
| 388 | </html> |
631 | </html> |