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

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

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

Revision 1.4 Revision 1.6
1GLEP: 60 1GLEP: 60
2Title: Manifest2 filetypes 2Title: Manifest2 filetypes
3Version: $Revision: 1.4 $ 3Version: $Revision: 1.6 $
4Last-Modified: $Date: 2010/01/13 00:35:49 $ 4Last-Modified: $Date: 2010/01/13 00:54:50 $
5Author: Robin Hugh Johnson <robbat2@gentoo.org> 5Author: Robin Hugh Johnson <robbat2@gentoo.org>
6Status: Draft 6Status: Draft
7Type: Standards Track 7Type: Standards Track
8Content-Type: text/x-rst 8Content-Type: text/x-rst
9Requires: 44 9Requires: 44
10Created: November 2007 10Created: November 2007
11Updated: June 2008, July 2008, October 2008 11Updated: June 2008, July 2008, October 2008, January 2010
12Updates: 44 12Updates: 44
13Post-History: 13Post-History: December 2009
14 14
15Abstract 15Abstract
16======== 16========
17Clarification of the Manifest2 [#GLEP44] specification, including new types to 17Clarification of the Manifest2 [#GLEP44] specification, including new types to
18help in the tree-signing specification. 18help in the tree-signing specification.
103 103
104_CRIT (new, abstract) 104_CRIT (new, abstract)
105~~~~~~~~~~~~~~~~~~~~~ 105~~~~~~~~~~~~~~~~~~~~~
106- _CRIT is based off the _INFO type. 106- _CRIT is based off the _INFO type.
107- The modification or absence of a file listed as a _CRIT-derived type 107- The modification or absence of a file listed as a _CRIT-derived type
108 must be treated as an error. 108 MUST be treated as an error.
109 109
110EBUILD 110EBUILD
111~~~~~~ 111~~~~~~
112- Now derived from _CRIT. 112- Now derived from _CRIT.
113- Otherwise unchanged. 113- Otherwise unchanged.
136 136
137ECLASS (new) 137ECLASS (new)
138~~~~~~~~~~~~ 138~~~~~~~~~~~~
139- uses _CRIT. 139- uses _CRIT.
140- This type shall be used for all eclasses only. 140- This type shall be used for all eclasses only.
141- TODO: What about patches etc under eclasses/? Probably EXEC?
142 141
143DATA (new) 142DATA (new)
144~~~~~~~~~~ 143~~~~~~~~~~
145- uses _CRIT. 144- uses _CRIT.
146- The DATA type shall be used for all files that directly affect the 145- The DATA type shall be used for all files that directly affect the
152- If the file gets sourced, executed, or causes a change (patches) in 151- If the file gets sourced, executed, or causes a change (patches) in
153 how something is sourced or execututed, it belongs in the EXEC 152 how something is sourced or execututed, it belongs in the EXEC
154 filetype. 153 filetype.
155- This filetype should be used for the scripts directories of a 154- This filetype should be used for the scripts directories of a
156 repository for important files. 155 repository for important files.
156- This filetype is not limited to being used in the files/
157 subdirectory.
157 158
158OTHER (new) 159OTHER (new)
159~~~~~~~~~~~ 160~~~~~~~~~~~
160- uses _CRIT. 161- uses _CRIT.
161- All other files that are not covered by another type should be 162- All other files that are not covered by another type should be
162 considered as 'OTHER'. 163 considered as 'OTHER'.
164- Any further new filetypes should be introduced to subtract files
165 from the 'OTHER' set.
166- If a package manager runs into a unknown Manifest2 type, it should
167 be treated as 'OTHER'.
163 168
164On Bloat 169On Bloat
165-------- 170--------
166If repeated use of a common path prefix is considered a bloat problem, a 171If repeated use of a common path prefix is considered a bloat problem, a
167Manifest file should be added inside the common directory, however this 172Manifest file should be added inside the common directory, however this
168should not be done blindly, as bloat by inodes is more significant for 173should not be done blindly, as bloat by inodes is more significant for
169the majority of use cases. 174the majority of use cases. See also [#GLEP58] on size reductions of
175Manifests.
170 176
171Chosing a filetype 177Chosing a filetype
172------------------ 178------------------
1731. matches Manifest 1791. matches ``Manifest``
174 => MANIFEST, stop. 180 => MANIFEST, stop.
1752. matches ``*.ebuild`` 1812. matches ``*.ebuild``
176 => EBUILD, stop. 182 => EBUILD, stop.
1773. matches ``*.eclass`` 1833. matches ``*.eclass``
178 => ECLASS, stop. 184 => ECLASS, stop.
193presence or absense may be dangerous should always be treated strictly. 199presence or absense may be dangerous should always be treated strictly.
194(Consider epatch given a directory of patches ``${FILESDIR}/${PV}/``, 200(Consider epatch given a directory of patches ``${FILESDIR}/${PV}/``,
195where it blindly includes them, or alternatively, the package.mask file 201where it blindly includes them, or alternatively, the package.mask file
196or a profile being altered/missing). 202or a profile being altered/missing).
197 203
204The above lists of file patterns are not intended to be exhaustive,
205but merely demonstrative.
206
198Note: The AUX entries should only be generated if we are generating a 207Note: The AUX entries should only be generated if we are generating a
199compatible Manifest that supports older versions of Portage. They should 208compatible Manifest that supports older versions of Portage. They should
200be generated along with the new type. 209be generated along with the new type.
201 210
202Backwards Compatibility 211Backwards Compatibility

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.6

  ViewVC Help
Powered by ViewVC 1.1.20