| … | |
… | |
| 25 | <tbody valign="top"> |
25 | <tbody valign="top"> |
| 26 | <tr class="field"><th class="field-name">GLEP:</th><td class="field-body">60</td> |
26 | <tr class="field"><th class="field-name">GLEP:</th><td class="field-body">60</td> |
| 27 | </tr> |
27 | </tr> |
| 28 | <tr class="field"><th class="field-name">Title:</th><td class="field-body">Manifest2 filetypes</td> |
28 | <tr class="field"><th class="field-name">Title:</th><td class="field-body">Manifest2 filetypes</td> |
| 29 | </tr> |
29 | </tr> |
| 30 | <tr class="field"><th class="field-name">Version:</th><td class="field-body">1.6</td> |
30 | <tr class="field"><th class="field-name">Version:</th><td class="field-body">1.10</td> |
| 31 | </tr> |
31 | </tr> |
| 32 | <tr class="field"><th class="field-name">Last-Modified:</th><td class="field-body"><a class="reference external" href="http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/proj/en/glep/glep-0060.txt?cvsroot=gentoo">2010/01/13 00:54:50</a></td> |
32 | <tr class="field"><th class="field-name">Last-Modified:</th><td class="field-body"><a class="reference external" href="http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/proj/en/glep/glep-0060.txt?cvsroot=gentoo">2010/04/07 21:34:24</a></td> |
| 33 | </tr> |
33 | </tr> |
| 34 | <tr class="field"><th class="field-name">Author:</th><td class="field-body">Robin Hugh Johnson <robbat2 at gentoo.org></td> |
34 | <tr class="field"><th class="field-name">Author:</th><td class="field-body">Robin Hugh Johnson <robbat2 at gentoo.org></td> |
| 35 | </tr> |
35 | </tr> |
| 36 | <tr class="field"><th class="field-name">Status:</th><td class="field-body">Draft</td> |
36 | <tr class="field"><th class="field-name">Status:</th><td class="field-body">Draft</td> |
| 37 | </tr> |
37 | </tr> |
| … | |
… | |
| 45 | </tr> |
45 | </tr> |
| 46 | <tr class="field"><th class="field-name">Updated:</th><td class="field-body">June 2008, July 2008, October 2008, January 2010</td> |
46 | <tr class="field"><th class="field-name">Updated:</th><td class="field-body">June 2008, July 2008, October 2008, January 2010</td> |
| 47 | </tr> |
47 | </tr> |
| 48 | <tr class="field"><th class="field-name">Updates:</th><td class="field-body">44</td> |
48 | <tr class="field"><th class="field-name">Updates:</th><td class="field-body">44</td> |
| 49 | </tr> |
49 | </tr> |
| 50 | <tr class="field"><th class="field-name">Post-History:</th><td class="field-body">December 2009</td> |
50 | <tr class="field"><th class="field-name">Post-History:</th><td class="field-body">December 2009, January 2010</td> |
| 51 | </tr> |
51 | </tr> |
| 52 | </tbody> |
52 | </tbody> |
| 53 | </table> |
53 | </table> |
| 54 | <hr /> |
54 | <hr /> |
| 55 | <div class="contents topic" id="contents"> |
55 | <div class="contents topic" id="contents"> |
| … | |
… | |
| 90 | <li><a class="reference internal" href="#copyright" id="id30">Copyright</a></li> |
90 | <li><a class="reference internal" href="#copyright" id="id30">Copyright</a></li> |
| 91 | </ul> |
91 | </ul> |
| 92 | </div> |
92 | </div> |
| 93 | <div class="section" id="abstract"> |
93 | <div class="section" id="abstract"> |
| 94 | <h1><a class="toc-backref" href="#id4">Abstract</a></h1> |
94 | <h1><a class="toc-backref" href="#id4">Abstract</a></h1> |
| 95 | <p>Clarification of the Manifest2 [#GLEP44] specification, including new types to |
95 | <p>Clarification of the Manifest2 [GLEP44] specification, including new types to |
| 96 | help in the tree-signing specification.</p> |
96 | help in the tree-signing specification.</p> |
| 97 | </div> |
97 | </div> |
| 98 | <div class="section" id="motivation"> |
98 | <div class="section" id="motivation"> |
| 99 | <h1><a class="toc-backref" href="#id5">Motivation</a></h1> |
99 | <h1><a class="toc-backref" href="#id5">Motivation</a></h1> |
| 100 | <p>[#GLEP44] was not entirely clear on the usage of filetype specifiers. |
100 | <p>[GLEP44] was not entirely clear on the usage of filetype specifiers. |
| 101 | This document serves to provide some of the internal logic used by |
101 | This document serves to provide some of the internal logic used by |
| 102 | Portage at the point of writing, as well as adding new types to cover |
102 | Portage at the point of writing, as well as adding new types to cover |
| 103 | the rest of the tree, for the purposes of tree-signing coverage.</p> |
103 | the rest of the tree, for the purposes of tree-signing coverage.</p> |
|
|
104 | <p>This GLEP is not mandatory for the tree-signing specification, but |
|
|
105 | instead aims to clarify the usage of the Manifest2 filetype specifiers, |
|
|
106 | and note which types signify files that are allowed to be missing from |
|
|
107 | the tree (e.g. a user excluding a package or category). As such, it is |
|
|
108 | also able to stand on it's own.</p> |
| 104 | </div> |
109 | </div> |
| 105 | <div class="section" id="specification"> |
110 | <div class="section" id="specification"> |
| 106 | <h1><a class="toc-backref" href="#id6">Specification</a></h1> |
111 | <h1><a class="toc-backref" href="#id6">Specification</a></h1> |
| 107 | <div class="section" id="general"> |
112 | <div class="section" id="general"> |
| 108 | <h2><a class="toc-backref" href="#id7">General</a></h2> |
113 | <h2><a class="toc-backref" href="#id7">General</a></h2> |
| … | |
… | |
| 111 | unless stated otherwise in the following sections. The Manifest file |
116 | unless stated otherwise in the following sections. The Manifest file |
| 112 | must not contain an entry for itself.</p> |
117 | must not contain an entry for itself.</p> |
| 113 | </div> |
118 | </div> |
| 114 | <div class="section" id="excluded-files"> |
119 | <div class="section" id="excluded-files"> |
| 115 | <h2><a class="toc-backref" href="#id8">Excluded files</a></h2> |
120 | <h2><a class="toc-backref" href="#id8">Excluded files</a></h2> |
| 116 | <p>When generating or validating a Manifest, or commiting to a version |
121 | <p>When generating or validating a Manifest, or committing to a version |
| 117 | control system, the package manager should endeavour to ignore files |
122 | control system, the package manager should endeavour to ignore files |
| 118 | created by a version control system, backup files from text editors. A |
123 | created by a version control system, backup files from text editors. A |
| 119 | non-exhaustive list is suggested here: <tt class="docutils literal">CVS/</tt>, <tt class="docutils literal">.svn/</tt>, <tt class="docutils literal">.bzr/</tt>, |
124 | non-exhaustive list is suggested here: <tt class="docutils literal">CVS/</tt>, <tt class="docutils literal">.svn/</tt>, <tt class="docutils literal">.bzr/</tt>, |
| 120 | <tt class="docutils literal">.git/</tt>, <tt class="docutils literal">.hg/</tt>, <tt class="docutils literal">.#*</tt>, <tt class="docutils literal">*.rej</tt>, <tt class="docutils literal">*.orig</tt>, <tt class="docutils literal">*.bak</tt>, <tt class="docutils literal">*~</tt>.</p> |
125 | <tt class="docutils literal">.git/</tt>, <tt class="docutils literal">.hg/</tt>, <tt class="docutils literal">.#*</tt>, <tt class="docutils literal">*.rej</tt>, <tt class="docutils literal">*.orig</tt>, <tt class="docutils literal">*.bak</tt>, <tt class="docutils literal">*~</tt>.</p> |
| 121 | <p>Additionally, for a transitional Manifest1->Manifest2 system, old-style |
126 | <p>Additionally, for a transitional Manifest1->Manifest2 system, old-style |
| … | |
… | |
| 220 | <h3><a class="toc-backref" href="#id20">MANIFEST (new)</a></h3> |
225 | <h3><a class="toc-backref" href="#id20">MANIFEST (new)</a></h3> |
| 221 | <ul class="simple"> |
226 | <ul class="simple"> |
| 222 | <li>The MANIFEST type is explicitly to cover all nested Manifest files.</li> |
227 | <li>The MANIFEST type is explicitly to cover all nested Manifest files.</li> |
| 223 | <li>During validation, this serves as an indicator that the package |
228 | <li>During validation, this serves as an indicator that the package |
| 224 | manager may need to check subtree Manifest file.</li> |
229 | manager may need to check subtree Manifest file.</li> |
| 225 | <li>A missing MANIFEST file may be treated as a minor (eg excluding an |
230 | <li>A missing MANIFEST file may be treated as a minor (e.g. excluding an |
| 226 | entire category) or critical validation failure.</li> |
231 | entire category) or critical validation failure.</li> |
| 227 | <li>The failure should be considered as critical only if files that would |
232 | <li>The failure should be considered as critical only if files that would |
| 228 | be directly covered by this Manifest are missing. Deletion of a |
233 | be directly covered by this Manifest are missing. Deletion of a |
| 229 | category-level Manifest while preserving the packages is forbidden. |
234 | category-level Manifest while preserving the packages is forbidden. |
| 230 | Deletion of an entire category is not.</li> |
235 | Deletion of an entire category is not.</li> |
| … | |
… | |
| 248 | <div class="section" id="exec-new"> |
253 | <div class="section" id="exec-new"> |
| 249 | <h3><a class="toc-backref" href="#id23">EXEC (new)</a></h3> |
254 | <h3><a class="toc-backref" href="#id23">EXEC (new)</a></h3> |
| 250 | <ul class="simple"> |
255 | <ul class="simple"> |
| 251 | <li>uses _CRIT.</li> |
256 | <li>uses _CRIT.</li> |
| 252 | <li>If the file gets sourced, executed, or causes a change (patches) in |
257 | <li>If the file gets sourced, executed, or causes a change (patches) in |
| 253 | how something is sourced or execututed, it belongs in the EXEC |
258 | how something is sourced or executed, it belongs in the EXEC |
| 254 | filetype.</li> |
259 | filetype.</li> |
| 255 | <li>This filetype should be used for the scripts directories of a |
260 | <li>This filetype should be used for the scripts directories of a |
| 256 | repository for important files.</li> |
261 | repository for important files.</li> |
| 257 | <li>This filetype is not limited to being used in the files/ |
262 | <li>This filetype is not limited to being used in the files/ |
| 258 | subdirectory.</li> |
263 | subdirectory.</li> |
| … | |
… | |
| 274 | <div class="section" id="on-bloat"> |
279 | <div class="section" id="on-bloat"> |
| 275 | <h2><a class="toc-backref" href="#id25">On Bloat</a></h2> |
280 | <h2><a class="toc-backref" href="#id25">On Bloat</a></h2> |
| 276 | <p>If repeated use of a common path prefix is considered a bloat problem, a |
281 | <p>If repeated use of a common path prefix is considered a bloat problem, a |
| 277 | Manifest file should be added inside the common directory, however this |
282 | Manifest file should be added inside the common directory, however this |
| 278 | should not be done blindly, as bloat by inodes is more significant for |
283 | should not be done blindly, as bloat by inodes is more significant for |
| 279 | the majority of use cases. See also [#GLEP58] on size reductions of |
284 | the majority of use cases. See also [GLEP58] on size reductions of |
| 280 | Manifests.</p> |
285 | Manifests.</p> |
| 281 | </div> |
286 | </div> |
| 282 | <div class="section" id="chosing-a-filetype"> |
287 | <div class="section" id="chosing-a-filetype"> |
| 283 | <h2><a class="toc-backref" href="#id26">Chosing a filetype</a></h2> |
288 | <h2><a class="toc-backref" href="#id26">Chosing a filetype</a></h2> |
| 284 | <ol class="arabic"> |
289 | <ol class="arabic"> |
| … | |
… | |
| 336 | </dd> |
341 | </dd> |
| 337 | </dl> |
342 | </dl> |
| 338 | </li> |
343 | </li> |
| 339 | </ol> |
344 | </ol> |
| 340 | <p>The logic behind 5, 6, 7 is ensuring that every item that by it's |
345 | <p>The logic behind 5, 6, 7 is ensuring that every item that by it's |
| 341 | presence or absense may be dangerous should always be treated strictly. |
346 | presence or absence may be dangerous should always be treated strictly. |
| 342 | (Consider epatch given a directory of patches <tt class="docutils literal"><span class="pre">${FILESDIR}/${PV}/</span></tt>, |
347 | (Consider epatch given a directory of patches <tt class="docutils literal"><span class="pre">${FILESDIR}/${PV}/</span></tt>, |
| 343 | where it blindly includes them, or alternatively, the package.mask file |
348 | where it blindly includes them, or alternatively, the package.mask file |
| 344 | or a profile being altered/missing).</p> |
349 | or a profile being altered/missing).</p> |
| 345 | <p>The above lists of file patterns are not intended to be exhaustive, |
350 | <p>The above lists of file patterns are not intended to be exhaustive, |
| 346 | but merely demonstrative.</p> |
351 | but merely demonstrative.</p> |
| … | |
… | |
| 354 | <p>For generation of existing package Manifests, the AUX entries must |
359 | <p>For generation of existing package Manifests, the AUX entries must |
| 355 | continue to be present for the standard Portage deprecation cycle. |
360 | continue to be present for the standard Portage deprecation cycle. |
| 356 | The new entries may be included already in all Manifest files, as they |
361 | The new entries may be included already in all Manifest files, as they |
| 357 | will be ignored by older Portage versions. Over time, ECLASS, DATA, |
362 | will be ignored by older Portage versions. Over time, ECLASS, DATA, |
| 358 | EXEC, OTHER may replace the existing AUX type.</p> |
363 | EXEC, OTHER may replace the existing AUX type.</p> |
| 359 | <p>The adoption of this proposal does also affect [#GLEP58] as part of |
364 | <p>The adoption of this proposal does also affect [GLEP58] as part of |
| 360 | this GLEP series, however this GLEP was an offset of the research in |
365 | this GLEP series, however this GLEP was an offset of the research in |
| 361 | that GLEP.</p> |
366 | that GLEP.</p> |
| 362 | </div> |
367 | </div> |
| 363 | <div class="section" id="thanks-to"> |
368 | <div class="section" id="thanks-to"> |
| 364 | <h1><a class="toc-backref" href="#id28">Thanks to</a></h1> |
369 | <h1><a class="toc-backref" href="#id28">Thanks to</a></h1> |
| 365 | <p>I'd like to thank the following people for input on this GLEP. |
370 | <p>I'd like to thank the following people for input on this GLEP. |
| 366 | - Marius Mauch (genone) & Zac Medico (zmedico): Portage Manifest2</p> |
371 | - Marius Mauch (genone) & Zac Medico (zmedico): Portage Manifest2</p> |
| 367 | </div> |
372 | </div> |
| 368 | <div class="section" id="references"> |
373 | <div class="section" id="references"> |
| 369 | <h1><a class="toc-backref" href="#id29">References</a></h1> |
374 | <h1><a class="toc-backref" href="#id29">References</a></h1> |
| 370 | <table class="docutils footnote" frame="void" id="glep44" rules="none"> |
375 | <table class="docutils citation" frame="void" id="glep44" rules="none"> |
| 371 | <colgroup><col class="label" /><col /></colgroup> |
376 | <colgroup><col class="label" /><col /></colgroup> |
| 372 | <tbody valign="top"> |
377 | <tbody valign="top"> |
| 373 | <tr><td class="label">[1]</td><td>Mauch, M. (2005) GLEP44 - Manifest2 format. |
378 | <tr><td class="label">[GLEP44]</td><td>Mauch, M. (2005) GLEP44 - Manifest2 format. |
| 374 | <a class="reference external" href="http://www.gentoo.org/proj/en/glep/glep-0044.html">http://www.gentoo.org/proj/en/glep/glep-0044.html</a></td></tr> |
379 | <a class="reference external" href="http://www.gentoo.org/proj/en/glep/glep-0044.html">http://www.gentoo.org/proj/en/glep/glep-0044.html</a></td></tr> |
| 375 | </tbody> |
380 | </tbody> |
| 376 | </table> |
381 | </table> |
|
|
382 | <table class="docutils citation" frame="void" id="glep58" rules="none"> |
|
|
383 | <colgroup><col class="label" /><col /></colgroup> |
|
|
384 | <tbody valign="top"> |
|
|
385 | <tr><td class="label">[GLEP58]</td><td>Security of distribution of Gentoo software - Infrastructure to User distribution - MetaManifest |
|
|
386 | <a class="reference external" href="http://www.gentoo.org/proj/en/glep/glep-0058.html">http://www.gentoo.org/proj/en/glep/glep-0058.html</a></td></tr> |
|
|
387 | </tbody> |
|
|
388 | </table> |
| 377 | </div> |
389 | </div> |
| 378 | <div class="section" id="copyright"> |
390 | <div class="section" id="copyright"> |
| 379 | <h1><a class="toc-backref" href="#id30">Copyright</a></h1> |
391 | <h1><a class="toc-backref" href="#id30">Copyright</a></h1> |
| 380 | <p>Copyright (c) 2007 by Robin Hugh Johnson. This material may be |
392 | <p>Copyright (c) 2007-2010 by Robin Hugh Johnson. This material may be |
| 381 | distributed only subject to the terms and conditions set forth in the |
393 | distributed only subject to the terms and conditions set forth in the |
| 382 | Open Publication License, v1.0.</p> |
394 | Open Publication License, v1.0.</p> |
| 383 | <p>vim: tw=72 ts=2 expandtab:</p> |
395 | <!-- vim: tw=72 ts=2 expandtab: --> |
| 384 | </div> |
396 | </div> |
| 385 | |
397 | |
| 386 | </div> |
398 | </div> |
| 387 | <div class="footer"> |
399 | <div class="footer"> |
| 388 | <hr class="footer" /> |
400 | <hr class="footer" /> |
| 389 | <a class="reference external" href="glep-0060.txt">View document source</a>. |
401 | <a class="reference external" href="glep-0060.txt">View document source</a>. |
| 390 | Generated on: 2010-01-13 00:54 UTC. |
402 | Generated on: 2010-04-07 21:54 UTC. |
| 391 | Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source. |
403 | Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source. |
| 392 | |
404 | |
| 393 | </div> |
405 | </div> |
| 394 | </body> |
406 | </body> |
| 395 | </html> |
407 | </html> |