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

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

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

Revision 1.1 Revision 1.5
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4 4
5<head> 5<head>
6 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 6 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7 <meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" /> 7 <meta name="generator" content="Docutils 0.6: http://docutils.sourceforge.net/" />
8 <title>GLEP 60 -- Manifest2 filetypes</title> 8 <title>GLEP 60 -- Manifest2 filetypes</title>
9 <link rel="stylesheet" href="tools/glep.css" type="text/css" /></head> 9 <link rel="stylesheet" href="tools/glep.css" type="text/css" /></head>
10<body bgcolor="white"> 10<body bgcolor="white">
11<table class="navigation" cellpadding="0" cellspacing="0" 11<table class="navigation" cellpadding="0" cellspacing="0"
12 width="100%" border="0"> 12 width="100%" border="0">
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.19</td> 30<tr class="field"><th class="field-name">Version:</th><td class="field-body">1.6</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">2008/07/13 02:23:36</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/01/13 00:54:50</a></td>
33</tr> 33</tr>
34<tr class="field"><th class="field-name">Author:</th><td class="field-body">Robin Hugh Johnson &lt;robbat2&#32;&#97;t&#32;gentoo.org&gt;</td> 34<tr class="field"><th class="field-name">Author:</th><td class="field-body">Robin Hugh Johnson &lt;robbat2&#32;&#97;t&#32;gentoo.org&gt;</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>
41</tr> 41</tr>
42<tr class="field"><th class="field-name">Requires:</th><td class="field-body"><a class="reference external" href="http://www.gentoo.org/proj/en/glepglep-0044.html">44</a></td> 42<tr class="field"><th class="field-name">Requires:</th><td class="field-body"><a class="reference external" href="http://www.gentoo.org/proj/en/glepglep-0044.html">44</a></td>
43</tr> 43</tr>
44<tr class="field"><th class="field-name">Created:</th><td class="field-body">November 2007</td> 44<tr class="field"><th class="field-name">Created:</th><td class="field-body">November 2007</td>
45</tr> 45</tr>
46<tr class="field"><th class="field-name">Updated:</th><td class="field-body">June 2008, July 2008</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>
50<tr class="field"><th class="field-name">Post-History:</th><td class="field-body">December 2009</td>
49</tr> 51</tr>
50</tbody> 52</tbody>
51</table> 53</table>
52<hr /> 54<hr />
53<div class="contents topic" id="contents"> 55<div class="contents topic" id="contents">
54<p class="topic-title first">Contents</p> 56<p class="topic-title first">Contents</p>
55<ul class="simple"> 57<ul class="simple">
56<li><a class="reference internal" href="#abstract" id="id16">Abstract</a></li> 58<li><a class="reference internal" href="#abstract" id="id4">Abstract</a></li>
57<li><a class="reference internal" href="#motivation" id="id17">Motivation</a></li> 59<li><a class="reference internal" href="#motivation" id="id5">Motivation</a></li>
58<li><a class="reference internal" href="#specification" id="id18">Specification</a><ul> 60<li><a class="reference internal" href="#specification" id="id6">Specification</a><ul>
59<li><a class="reference internal" href="#general" id="id19">General</a></li> 61<li><a class="reference internal" href="#general" id="id7">General</a></li>
60<li><a class="reference internal" href="#excluded-files" id="id20">Excluded files</a></li> 62<li><a class="reference internal" href="#excluded-files" id="id8">Excluded files</a></li>
61<li><a class="reference internal" href="#existing-filetypes" id="id21">Existing filetypes:</a><ul> 63<li><a class="reference internal" href="#existing-filetypes" id="id9">Existing filetypes:</a><ul>
62<li><a class="reference internal" href="#aux" id="id22">AUX</a></li> 64<li><a class="reference internal" href="#aux" id="id10">AUX</a></li>
63<li><a class="reference internal" href="#ebuild" id="id23">EBUILD</a></li> 65<li><a class="reference internal" href="#ebuild" id="id11">EBUILD</a></li>
64<li><a class="reference internal" href="#dist" id="id24">DIST</a></li> 66<li><a class="reference internal" href="#dist" id="id12">DIST</a></li>
65<li><a class="reference internal" href="#misc" id="id25">MISC</a></li> 67<li><a class="reference internal" href="#misc" id="id13">MISC</a></li>
66</ul>
67</li> 68</ul>
69</li>
68<li><a class="reference internal" href="#new-filetypes" id="id26">New filetypes:</a><ul> 70<li><a class="reference internal" href="#new-filetypes" id="id14">New filetypes:</a><ul>
69<li><a class="reference internal" href="#info-new-abstract" id="id27">_INFO (new, abstract)</a></li> 71<li><a class="reference internal" href="#info-new-abstract" id="id15">_INFO (new, abstract)</a></li>
70<li><a class="reference internal" href="#crit-new-abstract" id="id28">_CRIT (new, abstract)</a></li> 72<li><a class="reference internal" href="#crit-new-abstract" id="id16">_CRIT (new, abstract)</a></li>
71<li><a class="reference internal" href="#id9" id="id29">EBUILD</a></li> 73<li><a class="reference internal" href="#id1" id="id17">EBUILD</a></li>
72<li><a class="reference internal" href="#id10" id="id30">DIST</a></li> 74<li><a class="reference internal" href="#id2" id="id18">DIST</a></li>
73<li><a class="reference internal" href="#id11" id="id31">MISC</a></li> 75<li><a class="reference internal" href="#id3" id="id19">MISC</a></li>
74<li><a class="reference internal" href="#manifest-new" id="id32">MANIFEST (new)</a></li> 76<li><a class="reference internal" href="#manifest-new" id="id20">MANIFEST (new)</a></li>
75<li><a class="reference internal" href="#eclass-new" id="id33">ECLASS (new)</a></li> 77<li><a class="reference internal" href="#eclass-new" id="id21">ECLASS (new)</a></li>
76<li><a class="reference internal" href="#data-new" id="id34">DATA (new)</a></li> 78<li><a class="reference internal" href="#data-new" id="id22">DATA (new)</a></li>
77<li><a class="reference internal" href="#exec-new" id="id35">EXEC (new)</a></li> 79<li><a class="reference internal" href="#exec-new" id="id23">EXEC (new)</a></li>
78<li><a class="reference internal" href="#unknown-new" id="id36">UNKNOWN (new)</a></li> 80<li><a class="reference internal" href="#other-new" id="id24">OTHER (new)</a></li>
79</ul>
80</li> 81</ul>
82</li>
81<li><a class="reference internal" href="#on-bloat" id="id37">On Bloat</a></li> 83<li><a class="reference internal" href="#on-bloat" id="id25">On Bloat</a></li>
82<li><a class="reference internal" href="#chosing-a-filetype" id="id38">Chosing a filetype</a></li> 84<li><a class="reference internal" href="#chosing-a-filetype" id="id26">Chosing a filetype</a></li>
83</ul>
84</li> 85</ul>
86</li>
85<li><a class="reference internal" href="#backwards-compatibility" id="id39">Backwards Compatibility</a></li> 87<li><a class="reference internal" href="#backwards-compatibility" id="id27">Backwards Compatibility</a></li>
86<li><a class="reference internal" href="#thanks-to" id="id40">Thanks to</a></li> 88<li><a class="reference internal" href="#thanks-to" id="id28">Thanks to</a></li>
87<li><a class="reference internal" href="#references" id="id41">References</a></li> 89<li><a class="reference internal" href="#references" id="id29">References</a></li>
88<li><a class="reference internal" href="#copyright" id="id42">Copyright</a></li> 90<li><a class="reference internal" href="#copyright" id="id30">Copyright</a></li>
89</ul> 91</ul>
90</div> 92</div>
91<div class="section" id="abstract"> 93<div class="section" id="abstract">
92<h1><a class="toc-backref" href="#id16">Abstract</a></h1> 94<h1><a class="toc-backref" href="#id4">Abstract</a></h1>
93<p>Clarification of the Manifest2 [GLEP44] specification, including new types to 95<p>Clarification of the Manifest2 [#GLEP44] specification, including new types to
94help in the tree-signing specification.</p> 96help in the tree-signing specification.</p>
95</div> 97</div>
96<div class="section" id="motivation"> 98<div class="section" id="motivation">
97<h1><a class="toc-backref" href="#id17">Motivation</a></h1> 99<h1><a class="toc-backref" href="#id5">Motivation</a></h1>
98<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.
99This document serves to provide some of the internal logic used by 101This document serves to provide some of the internal logic used by
100Portage at the point of writing, as well as adding new types to cover 102Portage at the point of writing, as well as adding new types to cover
101the rest of the tree, for the purposes of tree-signing coverage.</p> 103the rest of the tree, for the purposes of tree-signing coverage.</p>
102</div> 104</div>
103<div class="section" id="specification"> 105<div class="section" id="specification">
104<h1><a class="toc-backref" href="#id18">Specification</a></h1> 106<h1><a class="toc-backref" href="#id6">Specification</a></h1>
105<div class="section" id="general"> 107<div class="section" id="general">
106<h2><a class="toc-backref" href="#id19">General</a></h2> 108<h2><a class="toc-backref" href="#id7">General</a></h2>
107<p>For any given directory with a Manifest file, every file located in that 109<p>For any given directory with a Manifest file, every file located in that
108directory, or a sub-directory must be listed in that Manifest file, 110directory, or a sub-directory must be listed in that Manifest file,
109unless stated otherwise in the following sections. The Manifest file 111unless stated otherwise in the following sections. The Manifest file
110must not contain an entry for itself.</p> 112must not contain an entry for itself.</p>
111</div> 113</div>
112<div class="section" id="excluded-files"> 114<div class="section" id="excluded-files">
113<h2><a class="toc-backref" href="#id20">Excluded files</a></h2> 115<h2><a class="toc-backref" href="#id8">Excluded files</a></h2>
114<p>When generating or validating a Manifest, or commiting to a version 116<p>When generating or validating a Manifest, or commiting to a version
115control system, the package manager should endeavour to ignore files 117control system, the package manager should endeavour to ignore files
116created by a version control system, backup files from text editors. A 118created by a version control system, backup files from text editors. A
117non-exhaustive list is suggested here: CVS/, .svn/, .bzr/, .git/, .hg/, 119non-exhaustive list is suggested here: <tt class="docutils literal">CVS/</tt>, <tt class="docutils literal">.svn/</tt>, <tt class="docutils literal">.bzr/</tt>,
118.#*, <a href="#id1"><span class="problematic" id="id2">*</span></a>.rej, <a href="#id3"><span class="problematic" id="id4">*</span></a>.orig, <a href="#id5"><span class="problematic" id="id6">*</span></a>.bak, <a href="#id7"><span class="problematic" id="id8">*</span></a>~.</p> 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>
119<div class="system-message" id="id1">
120<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">glep-0060.txt</tt>, line 37); <em><a href="#id2">backlink</a></em></p>
121Inline emphasis start-string without end-string.</div>
122<div class="system-message" id="id3">
123<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">glep-0060.txt</tt>, line 37); <em><a href="#id4">backlink</a></em></p>
124Inline emphasis start-string without end-string.</div>
125<div class="system-message" id="id5">
126<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">glep-0060.txt</tt>, line 37); <em><a href="#id6">backlink</a></em></p>
127Inline emphasis start-string without end-string.</div>
128<div class="system-message" id="id7">
129<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">glep-0060.txt</tt>, line 37); <em><a href="#id8">backlink</a></em></p>
130Inline emphasis start-string without end-string.</div>
131<p>Additionally, for a transitional Manifest1-&gt;Manifest2 system, old-style 121<p>Additionally, for a transitional Manifest1-&gt;Manifest2 system, old-style
132digest files located in a 'files/' directory, may be excluded from 122digest files located in a 'files/' directory, may be excluded from
133Manifest2 generation, or included with a type of MISC.</p> 123Manifest2 generation, or included with a type of MISC.</p>
134<p>Under strict security conditions, the exclusion list may be ignored 124<p>Under strict security conditions, the exclusion list may be ignored
135during validation if the existence of a file would be considered a 125during validation if the existence of a file would be considered a
136security risk.</p> 126security risk.</p>
137</div> 127</div>
138<div class="section" id="existing-filetypes"> 128<div class="section" id="existing-filetypes">
139<h2><a class="toc-backref" href="#id21">Existing filetypes:</a></h2> 129<h2><a class="toc-backref" href="#id9">Existing filetypes:</a></h2>
140<div class="section" id="aux"> 130<div class="section" id="aux">
141<h3><a class="toc-backref" href="#id22">AUX</a></h3> 131<h3><a class="toc-backref" href="#id10">AUX</a></h3>
142<ul class="simple"> 132<ul class="simple">
143<li>The AUX type is used for all items under the 'files' subdirectory.</li> 133<li>The AUX type is used for all items under the 'files' subdirectory.</li>
144<li>They should be verified relative to $FILESDIR.</li> 134<li>They should be verified relative to $FILESDIR.</li>
145<li>The string 'files/' is left out of the Manifest line.</li> 135<li>The string 'files/' is left out of the Manifest line.</li>
146<li>The absence of a file mentioned by AUX must be treated as an error.</li> 136<li>The absence of a file mentioned by AUX must be treated as an error.</li>
148(either directly or indirectly), that must be treated an error if 138(either directly or indirectly), that must be treated an error if
149modified or absent.</li> 139modified or absent.</li>
150</ul> 140</ul>
151</div> 141</div>
152<div class="section" id="ebuild"> 142<div class="section" id="ebuild">
153<h3><a class="toc-backref" href="#id23">EBUILD</a></h3> 143<h3><a class="toc-backref" href="#id11">EBUILD</a></h3>
154<ul class="simple"> 144<ul class="simple">
155<li>The EBUILD type is used solely for files ending in .ebuild, or other 145<li>The EBUILD type is used solely for files ending in .ebuild, or other
156suffixes as defined by the EAPI.</li> 146suffixes as defined by the EAPI.</li>
157<li>The files are located in the same directory as the Manifest file.</li> 147<li>The files are located in the same directory as the Manifest file.</li>
158<li>The modification or absence of a file mentioned by EBUILD must be 148<li>The modification or absence of a file mentioned by EBUILD must be
159treated as an error.</li> 149treated as an error.</li>
160</ul> 150</ul>
161</div> 151</div>
162<div class="section" id="dist"> 152<div class="section" id="dist">
163<h3><a class="toc-backref" href="#id24">DIST</a></h3> 153<h3><a class="toc-backref" href="#id12">DIST</a></h3>
164<ul class="simple"> 154<ul class="simple">
165<li>The DIST type is used for distfiles</li> 155<li>The DIST type is used for distfiles</li>
166<li>They may be found directly via the $DISTDIR setting of the package 156<li>They may be found directly via the $DISTDIR setting of the package
167manager.</li> 157manager.</li>
168<li>During simple verification of a Manifest, a missing DIST file should 158<li>During simple verification of a Manifest, a missing DIST file should
169not be consider as a validation error (it is however a failure to 159not be consider as a validation error (it is however a failure to
170fetch or unpack).</li> 160fetch or unpack).</li>
171</ul> 161</ul>
172</div> 162</div>
173<div class="section" id="misc"> 163<div class="section" id="misc">
174<h3><a class="toc-backref" href="#id25">MISC</a></h3> 164<h3><a class="toc-backref" href="#id13">MISC</a></h3>
175<ul class="simple"> 165<ul class="simple">
176<li>The MISC type covers all remaining files in a directory.</li> 166<li>The MISC type covers all remaining files in a directory.</li>
177<li>MISC is intended to mark all content that was not used in 167<li>MISC is intended to mark all content that was not used in
178some way that directly affected execution of the package manager.</li> 168some way that directly affected execution of the package manager.</li>
179<li>This includes metadata.xml and ChangeLog entries, and any other purely 169<li>This includes metadata.xml and ChangeLog entries, and any other purely
184been deleted from the tree.</li> 174been deleted from the tree.</li>
185</ul> 175</ul>
186</div> 176</div>
187</div> 177</div>
188<div class="section" id="new-filetypes"> 178<div class="section" id="new-filetypes">
189<h2><a class="toc-backref" href="#id26">New filetypes:</a></h2> 179<h2><a class="toc-backref" href="#id14">New filetypes:</a></h2>
190<div class="section" id="info-new-abstract"> 180<div class="section" id="info-new-abstract">
191<h3><a class="toc-backref" href="#id27">_INFO (new, abstract)</a></h3> 181<h3><a class="toc-backref" href="#id15">_INFO (new, abstract)</a></h3>
192<ul class="simple"> 182<ul class="simple">
193<li>This is the functionality of the old AUX, but does not include the 183<li>This is the functionality of the old AUX, but does not include the
194implicit 'files/' prefix in the path, and is verified relative to the 184implicit 'files/' prefix in the path, and is verified relative to the
195working directory instead of $FILESDIR.</li> 185working directory instead of $FILESDIR.</li>
196<li>The modification or absence of a file listed as a _INFO-derived type 186<li>The modification or absence of a file listed as a _INFO-derived type
197is not an error unless the package manager is attempting to be strict.</li> 187is not an error unless the package manager is attempting to be strict.</li>
198</ul> 188</ul>
199</div> 189</div>
200<div class="section" id="crit-new-abstract"> 190<div class="section" id="crit-new-abstract">
201<h3><a class="toc-backref" href="#id28">_CRIT (new, abstract)</a></h3> 191<h3><a class="toc-backref" href="#id16">_CRIT (new, abstract)</a></h3>
202<ul class="simple"> 192<ul class="simple">
203<li>_CRIT is based off the _INFO type.</li> 193<li>_CRIT is based off the _INFO type.</li>
204<li>The modification or absence of a file listed as a _CRIT-derived type 194<li>The modification or absence of a file listed as a _CRIT-derived type
205must be treated as an error.</li> 195MUST be treated as an error.</li>
206</ul> 196</ul>
207</div> 197</div>
208<div class="section" id="id9"> 198<div class="section" id="id1">
209<h3><a class="toc-backref" href="#id29">EBUILD</a></h3> 199<h3><a class="toc-backref" href="#id17">EBUILD</a></h3>
210<ul class="simple"> 200<ul class="simple">
211<li>Now derived from _CRIT.</li> 201<li>Now derived from _CRIT.</li>
212<li>Otherwise unchanged.</li> 202<li>Otherwise unchanged.</li>
213</ul> 203</ul>
214</div> 204</div>
215<div class="section" id="id10"> 205<div class="section" id="id2">
216<h3><a class="toc-backref" href="#id30">DIST</a></h3> 206<h3><a class="toc-backref" href="#id18">DIST</a></h3>
217<ul class="simple"> 207<ul class="simple">
218<li>Now derived from _CRIT.</li> 208<li>Now derived from _CRIT.</li>
219<li>Otherwise unchanged.</li> 209<li>Otherwise unchanged.</li>
220</ul> 210</ul>
221</div> 211</div>
222<div class="section" id="id11"> 212<div class="section" id="id3">
223<h3><a class="toc-backref" href="#id31">MISC</a></h3> 213<h3><a class="toc-backref" href="#id19">MISC</a></h3>
224<ul class="simple"> 214<ul class="simple">
225<li>Now derived from _INFO.</li> 215<li>Now derived from _INFO.</li>
226<li>Otherwise unchanged.</li> 216<li>Otherwise unchanged.</li>
227</ul> 217</ul>
228</div> 218</div>
229<div class="section" id="manifest-new"> 219<div class="section" id="manifest-new">
230<h3><a class="toc-backref" href="#id32">MANIFEST (new)</a></h3> 220<h3><a class="toc-backref" href="#id20">MANIFEST (new)</a></h3>
231<ul class="simple"> 221<ul class="simple">
232<li>The MANIFEST type is explicitly to cover all nested Manifest files.</li> 222<li>The MANIFEST type is explicitly to cover all nested Manifest files.</li>
233<li>During validation, this serves as an indicator that the package 223<li>During validation, this serves as an indicator that the package
234manager may need to check subtree Manifest file.</li> 224manager may need to check subtree Manifest file.</li>
235<li>A missing MANIFEST file may be treated as a minor (eg excluding an 225<li>A missing MANIFEST file may be treated as a minor (eg excluding an
239category-level Manifest while preserving the packages is forbidden. 229category-level Manifest while preserving the packages is forbidden.
240Deletion of an entire category is not.</li> 230Deletion of an entire category is not.</li>
241</ul> 231</ul>
242</div> 232</div>
243<div class="section" id="eclass-new"> 233<div class="section" id="eclass-new">
244<h3><a class="toc-backref" href="#id33">ECLASS (new)</a></h3> 234<h3><a class="toc-backref" href="#id21">ECLASS (new)</a></h3>
245<ul class="simple"> 235<ul class="simple">
246<li>uses _CRIT.</li> 236<li>uses _CRIT.</li>
247<li>This type shall be used for all eclasses only.</li> 237<li>This type shall be used for all eclasses only.</li>
248<li>TODO: What about patches etc under eclasses/? Probably EXEC?</li>
249</ul> 238</ul>
250</div> 239</div>
251<div class="section" id="data-new"> 240<div class="section" id="data-new">
252<h3><a class="toc-backref" href="#id34">DATA (new)</a></h3> 241<h3><a class="toc-backref" href="#id22">DATA (new)</a></h3>
253<ul class="simple"> 242<ul class="simple">
254<li>uses _CRIT.</li> 243<li>uses _CRIT.</li>
255<li>The DATA type shall be used for all files that directly affect the 244<li>The DATA type shall be used for all files that directly affect the
256package manager, such as metadata/cache/* and profiles/.</li> 245package manager, such as metadata/cache/* and profiles/.</li>
257</ul> 246</ul>
258</div> 247</div>
259<div class="section" id="exec-new"> 248<div class="section" id="exec-new">
260<h3><a class="toc-backref" href="#id35">EXEC (new)</a></h3> 249<h3><a class="toc-backref" href="#id23">EXEC (new)</a></h3>
261<ul class="simple"> 250<ul class="simple">
262<li>uses _CRIT.</li> 251<li>uses _CRIT.</li>
263<li>If the file gets sourced, executed, or causes a change (patches) in 252<li>If the file gets sourced, executed, or causes a change (patches) in
264how something is sourced or execututed, it belongs in the EXEC 253how something is sourced or execututed, it belongs in the EXEC
265filetype.</li> 254filetype.</li>
266<li>This filetype should be used for the scripts directories of a 255<li>This filetype should be used for the scripts directories of a
267repository for important files.</li> 256repository for important files.</li>
257<li>This filetype is not limited to being used in the files/
258subdirectory.</li>
268</ul> 259</ul>
269</div> 260</div>
270<div class="section" id="unknown-new"> 261<div class="section" id="other-new">
271<h3><a class="toc-backref" href="#id36">UNKNOWN (new)</a></h3> 262<h3><a class="toc-backref" href="#id24">OTHER (new)</a></h3>
272<ul class="simple"> 263<ul class="simple">
273<li>uses _CRIT.</li> 264<li>uses _CRIT.</li>
274<li>All other files that are not covered by another type should be 265<li>All other files that are not covered by another type should be
275considered as 'UNKNOWN'.</li> 266considered as 'OTHER'.</li>
267<li>Any further new filetypes should be introduced to subtract files
268from the 'OTHER' set.</li>
269<li>If a package manager runs into a unknown Manifest2 type, it should
270be treated as 'OTHER'.</li>
276</ul> 271</ul>
277</div> 272</div>
278</div> 273</div>
279<div class="section" id="on-bloat"> 274<div class="section" id="on-bloat">
280<h2><a class="toc-backref" href="#id37">On Bloat</a></h2> 275<h2><a class="toc-backref" href="#id25">On Bloat</a></h2>
281<p>If repeated use of a common path prefix is considered a bloat problem, a 276<p>If repeated use of a common path prefix is considered a bloat problem, a
282Manifest file should be added inside the common directory, however this 277Manifest file should be added inside the common directory, however this
283should not be done blindly, as bloat by inodes is more significant for 278should not be done blindly, as bloat by inodes is more significant for
284the majority of use cases.</p> 279the majority of use cases. See also [#GLEP58] on size reductions of
280Manifests.</p>
285</div> 281</div>
286<div class="section" id="chosing-a-filetype"> 282<div class="section" id="chosing-a-filetype">
287<h2><a class="toc-backref" href="#id38">Chosing a filetype</a></h2> 283<h2><a class="toc-backref" href="#id26">Chosing a filetype</a></h2>
288<ol class="arabic"> 284<ol class="arabic">
289<li><dl class="first docutils"> 285<li><dl class="first docutils">
290<dt>matches Manifest</dt> 286<dt>matches <tt class="docutils literal">Manifest</tt></dt>
291<dd><p class="first last">=&gt; MANIFEST, stop.</p> 287<dd><p class="first last">=&gt; MANIFEST, stop.</p>
292</dd> 288</dd>
293</dl> 289</dl>
294</li> 290</li>
295<li><dl class="first docutils"> 291<li><dl class="first docutils">
296<dt>matches <a href="#id12"><span class="problematic" id="id13">*</span></a>.ebuild</dt> 292<dt>matches <tt class="docutils literal">*.ebuild</tt></dt>
297<dd><div class="first system-message" id="id12">
298<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">glep-0060.txt</tt>, line 174); <em><a href="#id13">backlink</a></em></p>
299<p>Inline emphasis start-string without end-string.</p>
300</div>
301<p class="last">=&gt; EBUILD, stop.</p> 293<dd><p class="first last">=&gt; EBUILD, stop.</p>
302</dd>
303</dl> 294</dd>
304</li> 295</dl>
296</li>
305<li><dl class="first docutils"> 297<li><dl class="first docutils">
306<dt>matches <a href="#id14"><span class="problematic" id="id15">*</span></a>.eclass</dt> 298<dt>matches <tt class="docutils literal">*.eclass</tt></dt>
307<dd><div class="first system-message" id="id14">
308<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">glep-0060.txt</tt>, line 176); <em><a href="#id15">backlink</a></em></p>
309<p>Inline emphasis start-string without end-string.</p>
310</div>
311<p class="last">=&gt; ECLASS, stop.</p> 299<dd><p class="first last">=&gt; ECLASS, stop.</p>
312</dd> 300</dd>
313</dl> 301</dl>
314</li> 302</li>
315<li><dl class="first docutils"> 303<li><dl class="first docutils">
316<dt>listed in SRC_URI</dt> 304<dt>listed in SRC_URI</dt>
317<dd><p class="first last">=&gt; DIST, stop.</p> 305<dd><p class="first last">=&gt; DIST, stop.</p>
318</dd> 306</dd>
319</dl> 307</dl>
320</li> 308</li>
321<li><dl class="first docutils"> 309<li><dl class="first docutils">
322<dt>matches files/*</dt> 310<dt>matches <tt class="docutils literal">files/*</tt></dt>
323<dd><p class="first last">=&gt; AUX, continue [see note].</p> 311<dd><p class="first last">=&gt; AUX, continue [see note].</p>
324</dd> 312</dd>
325</dl> 313</dl>
326</li> 314</li>
327<li><dl class="first docutils"> 315<li><dl class="first docutils">
328<dt>matches {<em>.sh,</em>.bashrc,*.patch,...}</dt> 316<dt>matches any of <tt class="docutils literal">*.sh</tt>, <tt class="docutils literal">*.bashrc</tt>, <tt class="docutils literal">*.patch</tt>, ...</dt>
329<dd><p class="first last">=&gt; EXEC, stop.</p> 317<dd><p class="first last">=&gt; EXEC, stop.</p>
330</dd> 318</dd>
331</dl> 319</dl>
332</li> 320</li>
333<li><dl class="first docutils"> 321<li><dl class="first docutils">
334<dt>matches {metadata/cache/<em>,profiles/,package.</em>,use.mask*,...}</dt> 322<dt>matches any of <tt class="docutils literal">metadata/cache/*</tt>, <tt class="docutils literal">profiles/</tt>, <tt class="docutils literal">package.*</tt>, <tt class="docutils literal">use.mask*</tt>, ...</dt>
335<dd><p class="first last">=&gt; DATA, stop.</p> 323<dd><p class="first last">=&gt; DATA, stop.</p>
336</dd> 324</dd>
337</dl> 325</dl>
338</li> 326</li>
339<li><dl class="first docutils"> 327<li><dl class="first docutils">
340<dt>matches {ChangeLog,metadata.xml,*.desc,...}</dt> 328<dt>matches any of <tt class="docutils literal">ChangeLog</tt>, <tt class="docutils literal">metadata.xml</tt>, <tt class="docutils literal">*.desc</tt>, ...</dt>
341<dd><p class="first last">=&gt; MISC, stop.</p> 329<dd><p class="first last">=&gt; MISC, stop.</p>
342</dd> 330</dd>
343</dl> 331</dl>
344</li> 332</li>
345<li><dl class="first docutils"> 333<li><dl class="first docutils">
346<dt>not matched by any other rule</dt> 334<dt>not matched by any other rule</dt>
347<dd><p class="first last">=&gt; UNKNOWN, stop.</p> 335<dd><p class="first last">=&gt; OTHER, stop.</p>
348</dd> 336</dd>
349</dl> 337</dl>
350</li> 338</li>
351</ol> 339</ol>
352<p>The logic behind 5, 6, 7 is ensuring that every item that by it's 340<p>The logic behind 5, 6, 7 is ensuring that every item that by it's
353presence or absense may be dangerous should always be treated strictly. 341presence or absense may be dangerous should always be treated strictly.
354(Consider epatch given a directory of patches ${FILESDIR}/${PV}/, where 342(Consider epatch given a directory of patches <tt class="docutils literal"><span class="pre">${FILESDIR}/${PV}/</span></tt>,
355it blindly includes them, or alternatively, the package.mask file or a 343where it blindly includes them, or alternatively, the package.mask file
356profile being altered/missing).</p> 344or a profile being altered/missing).</p>
345<p>The above lists of file patterns are not intended to be exhaustive,
346but merely demonstrative.</p>
357<p>Note: The AUX entries should only be generated if we are generating a 347<p>Note: The AUX entries should only be generated if we are generating a
358compatible Manifest that supports older versions of Portage. They should 348compatible Manifest that supports older versions of Portage. They should
359be generated along with the new type.</p> 349be generated along with the new type.</p>
360</div> 350</div>
361</div> 351</div>
362<div class="section" id="backwards-compatibility"> 352<div class="section" id="backwards-compatibility">
363<h1><a class="toc-backref" href="#id39">Backwards Compatibility</a></h1> 353<h1><a class="toc-backref" href="#id27">Backwards Compatibility</a></h1>
364<p>For generation of existing package Manifests, the AUX entries must 354<p>For generation of existing package Manifests, the AUX entries must
365continue to be present for the standard Portage deprecation cycle. 355continue to be present for the standard Portage deprecation cycle.
366The new entries may be included already in all Manifest files, as they 356The new entries may be included already in all Manifest files, as they
367will be ignored by older Portage versions. Over time, ECLASS, DATA, 357will be ignored by older Portage versions. Over time, ECLASS, DATA,
368EXEC, UNKNOWN may replace the existing AUX type.</p> 358EXEC, OTHER may replace the existing AUX type.</p>
369<p>The adoption of this proposal does also affect [GLEPxx+1] as part of 359<p>The adoption of this proposal does also affect [#GLEP58] as part of
370this GLEP series, however this GLEP was an offset of the research in 360this GLEP series, however this GLEP was an offset of the research in
371that GLEP.</p> 361that GLEP.</p>
372</div> 362</div>
373<div class="section" id="thanks-to"> 363<div class="section" id="thanks-to">
374<h1><a class="toc-backref" href="#id40">Thanks to</a></h1> 364<h1><a class="toc-backref" href="#id28">Thanks to</a></h1>
375<p>I'd like to thank the following people for input on this GLEP. 365<p>I'd like to thank the following people for input on this GLEP.
376- Marius Mauch (genone) &amp; Zac Medico (zmedico): Portage Manifest2</p> 366- Marius Mauch (genone) &amp; Zac Medico (zmedico): Portage Manifest2</p>
377</div> 367</div>
378<div class="section" id="references"> 368<div class="section" id="references">
379<h1><a class="toc-backref" href="#id41">References</a></h1> 369<h1><a class="toc-backref" href="#id29">References</a></h1>
380<table class="docutils footnote" frame="void" id="glep44" rules="none"> 370<table class="docutils footnote" frame="void" id="glep44" rules="none">
381<colgroup><col class="label" /><col /></colgroup> 371<colgroup><col class="label" /><col /></colgroup>
382<tbody valign="top"> 372<tbody valign="top">
383<tr><td class="label">[1]</td><td>Mauch, M. (2005) GLEP44 - Manifest2 format. 373<tr><td class="label">[1]</td><td>Mauch, M. (2005) GLEP44 - Manifest2 format.
384<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> 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>
385</tbody> 375</tbody>
386</table> 376</table>
387</div> 377</div>
388<div class="section" id="copyright"> 378<div class="section" id="copyright">
389<h1><a class="toc-backref" href="#id42">Copyright</a></h1> 379<h1><a class="toc-backref" href="#id30">Copyright</a></h1>
390<p>Copyright (c) 2007 by Robin Hugh Johnson. This material may be 380<p>Copyright (c) 2007 by Robin Hugh Johnson. This material may be
391distributed only subject to the terms and conditions set forth in the 381distributed only subject to the terms and conditions set forth in the
392Open Publication License, v1.0.</p> 382Open Publication License, v1.0.</p>
393<p>vim: tw=72 ts=2 expandtab:</p> 383<p>vim: tw=72 ts=2 expandtab:</p>
394</div> 384</div>
395 385
396</div> 386</div>
397<div class="footer"> 387<div class="footer">
398<hr class="footer" /> 388<hr class="footer" />
399<a class="reference external" href="glep-0060.txt">View document source</a>. 389<a class="reference external" href="glep-0060.txt">View document source</a>.
400Generated on: 2008-10-21 23:26 UTC. 390Generated on: 2010-01-13 00:54 UTC.
401Generated 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. 391Generated 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.
402 392
403</div> 393</div>
404</body> 394</body>
405</html> 395</html>

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

  ViewVC Help
Powered by ViewVC 1.1.20