Gentoo Archives: gentoo-dev

From: "Robin H. Johnson" <robbat2@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] rsync.gentoo.org rsync modules: ChangeLogs dropped from gentoo-portage
Date: Thu, 17 Nov 2016 20:57:34
Message-Id: robbat2-20161117T193025-827504591Z@orbis-terrarum.net
In Reply to: Re: [gentoo-dev] rsync.gentoo.org rsync modules: ChangeLogs dropped from gentoo-portage by Kristian Fiskerstrand
1 On Thu, Nov 17, 2016 at 07:19:02PM +0100, Kristian Fiskerstrand wrote:
2 > Fwiw, from my own perspective; not allowing mismatches if file exists
3 > makes perfect sense.
4 >
5 > Also GLEP says:
6 > * MISC entries where the file is missing may optionally be ignored as
7 > by non-strict package managers.
8 > * It should be possible to install a package while all MISC entries
9 > have been deleted from the tree.
10 The GLEP breaks down the Manifest2 types into two major groups:
11 - _CRIT: Content that fills any of the following conditions
12 - is directly executed
13 - impacts execution (eg patches)
14 - impacts verification behavior of the tree (relevant to
15 MetaManifest)
16 - except where otherwise specified, missing or mismatch => FATAL
17 - _INFO: Content other than that above.
18 - eg ChangeLog
19 - eg metadata.xml (nothing for user systems is impacted by it, other
20 than to give output about packages).
21 - except where otherwise specified:
22 - missing => silent normally, WARNING if (verbose || strict)
23 - mismatch => WARNING normally, FATAL if strict.
24
25 From these, all of the other types are derived, with the possibility of
26 additional rules on their handling for validation. Of those extra rules,
27 the only one specified in the GLEP is the MANIFEST type.
28
29 The MANIFEST type, intended for use in MetaManifests (top-level or
30 category), permits the absence of it's content, but NOT a mismatch.
31 This permits users to omit packages or entire categories from their
32 trees (eg rsync --exclude). In that case, the MetaManifest would still
33 contain the MANIFEST line, but the referred-to Manifest would be
34 missing. Say we excluded the entire 'ros-meta' category:
35
36 MetaManifest would contain (amongst other lines):
37 MANIFEST ros-meta/audio_common/Manifest 2698 SHA256 ...
38
39 The rsync exclude(s) in question:
40 --exclude /ros-meta/
41
42 Aside:
43 I just realized that it could be very useful to ALSO have:
44 --exclude /metadata/md5-cache/ros-meta/
45 But that would presently be treated as a fatal error by MetaManifest
46 validation, as it goes to the DATA type which is derived from _CRIT.
47 Possibly need a different type defined for it. Mismatch would be fatal,
48 absence would be silent.
49
50 --
51 Robin Hugh Johnson
52 Gentoo Linux: Dev, Infra Lead, Foundation Trustee & Treasurer
53 E-Mail : robbat2@g.o
54 GnuPG FP : 11ACBA4F 4778E3F6 E4EDF38E B27B944E 34884E85
55 GnuPG FP : 7D0B3CEB E9B85B1F 825BCECF EE05E6F6 A48F6136

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies