/[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.6 Revision 1.8
1GLEP: 60 1GLEP: 60
2Title: Manifest2 filetypes 2Title: Manifest2 filetypes
3Version: $Revision: 1.6 $ 3Version: $Revision: 1.8 $
4Last-Modified: $Date: 2010/01/13 00:54:50 $ 4Last-Modified: $Date: 2010/01/31 07:56:58 $
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, January 2010 11Updated: June 2008, July 2008, October 2008, January 2010
12Updates: 44 12Updates: 44
13Post-History: December 2009 13Post-History: December 2009, January 2010
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.
21========== 21==========
22[#GLEP44] was not entirely clear on the usage of filetype specifiers. 22[#GLEP44] was not entirely clear on the usage of filetype specifiers.
23This document serves to provide some of the internal logic used by 23This document serves to provide some of the internal logic used by
24Portage at the point of writing, as well as adding new types to cover 24Portage at the point of writing, as well as adding new types to cover
25the rest of the tree, for the purposes of tree-signing coverage. 25the rest of the tree, for the purposes of tree-signing coverage.
26
27This GLEP is not mandatory for the tree-signing specification, but
28instead aims to clarify the usage of the Manifest2 filetype specifiers,
29and note which types signify files that are allowed to be missing from
30the tree (e.g. a user excluding a package or category).
26 31
27Specification 32Specification
28============= 33=============
29General 34General
30------- 35-------
33unless stated otherwise in the following sections. The Manifest file 38unless stated otherwise in the following sections. The Manifest file
34must not contain an entry for itself. 39must not contain an entry for itself.
35 40
36Excluded files 41Excluded files
37-------------- 42--------------
38When generating or validating a Manifest, or commiting to a version 43When generating or validating a Manifest, or committing to a version
39control system, the package manager should endeavour to ignore files 44control system, the package manager should endeavour to ignore files
40created by a version control system, backup files from text editors. A 45created by a version control system, backup files from text editors. A
41non-exhaustive list is suggested here: ``CVS/``, ``.svn/``, ``.bzr/``, 46non-exhaustive list is suggested here: ``CVS/``, ``.svn/``, ``.bzr/``,
42``.git/``, ``.hg/``, ``.#*``, ``*.rej``, ``*.orig``, ``*.bak``, ``*~``. 47``.git/``, ``.hg/``, ``.#*``, ``*.rej``, ``*.orig``, ``*.bak``, ``*~``.
43 48
125MANIFEST (new) 130MANIFEST (new)
126~~~~~~~~~~~~~~ 131~~~~~~~~~~~~~~
127- The MANIFEST type is explicitly to cover all nested Manifest files. 132- The MANIFEST type is explicitly to cover all nested Manifest files.
128- During validation, this serves as an indicator that the package 133- During validation, this serves as an indicator that the package
129 manager may need to check subtree Manifest file. 134 manager may need to check subtree Manifest file.
130- A missing MANIFEST file may be treated as a minor (eg excluding an 135- A missing MANIFEST file may be treated as a minor (e.g. excluding an
131 entire category) or critical validation failure. 136 entire category) or critical validation failure.
132- The failure should be considered as critical only if files that would 137- The failure should be considered as critical only if files that would
133 be directly covered by this Manifest are missing. Deletion of a 138 be directly covered by this Manifest are missing. Deletion of a
134 category-level Manifest while preserving the packages is forbidden. 139 category-level Manifest while preserving the packages is forbidden.
135 Deletion of an entire category is not. 140 Deletion of an entire category is not.
147 152
148EXEC (new) 153EXEC (new)
149~~~~~~~~~~ 154~~~~~~~~~~
150- uses _CRIT. 155- uses _CRIT.
151- If the file gets sourced, executed, or causes a change (patches) in 156- If the file gets sourced, executed, or causes a change (patches) in
152 how something is sourced or execututed, it belongs in the EXEC 157 how something is sourced or executed, it belongs in the EXEC
153 filetype. 158 filetype.
154- This filetype should be used for the scripts directories of a 159- This filetype should be used for the scripts directories of a
155 repository for important files. 160 repository for important files.
156- This filetype is not limited to being used in the files/ 161- This filetype is not limited to being used in the files/
157 subdirectory. 162 subdirectory.
194 => MISC, stop. 199 => MISC, stop.
1959. not matched by any other rule 2009. not matched by any other rule
196 => OTHER, stop. 201 => OTHER, stop.
197 202
198The logic behind 5, 6, 7 is ensuring that every item that by it's 203The logic behind 5, 6, 7 is ensuring that every item that by it's
199presence or absense may be dangerous should always be treated strictly. 204presence or absence may be dangerous should always be treated strictly.
200(Consider epatch given a directory of patches ``${FILESDIR}/${PV}/``, 205(Consider epatch given a directory of patches ``${FILESDIR}/${PV}/``,
201where it blindly includes them, or alternatively, the package.mask file 206where it blindly includes them, or alternatively, the package.mask file
202or a profile being altered/missing). 207or a profile being altered/missing).
203 208
204The above lists of file patterns are not intended to be exhaustive, 209The above lists of file patterns are not intended to be exhaustive,
230.. [#GLEP44] Mauch, M. (2005) GLEP44 - Manifest2 format. 235.. [#GLEP44] Mauch, M. (2005) GLEP44 - Manifest2 format.
231 http://www.gentoo.org/proj/en/glep/glep-0044.html 236 http://www.gentoo.org/proj/en/glep/glep-0044.html
232 237
233Copyright 238Copyright
234========= 239=========
235Copyright (c) 2007 by Robin Hugh Johnson. This material may be 240Copyright (c) 2007-2010 by Robin Hugh Johnson. This material may be
236distributed only subject to the terms and conditions set forth in the 241distributed only subject to the terms and conditions set forth in the
237Open Publication License, v1.0. 242Open Publication License, v1.0.
238 243
239vim: tw=72 ts=2 expandtab: 244vim: tw=72 ts=2 expandtab:

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

  ViewVC Help
Powered by ViewVC 1.1.20