Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev@l.g.o, Sheng Yu <syu.os@××××××××××.com>
Subject: Re: [gentoo-dev] [GLEP78] Updating specification
Date: Mon, 13 Sep 2021 21:02:46
Message-Id: 3d2423b921cc4891d8df2f6e5903a9c978c002e0.camel@gentoo.org
In Reply to: Re: [gentoo-dev] [GLEP78] Updating specification by Ulrich Mueller
1 On Mon, 2021-09-13 at 12:08 +0200, Ulrich Mueller wrote:
2 > > > > > > On Mon, 13 Sep 2021, Sheng Yu wrote:
3 >
4 > > -The archive contains a number of files, stored in a single
5 > > directory
6 > > -whose name should match the basename of the package file. However,
7 > > -the implementation must be able to process an archive where
8 > > -the directory name is mismatched. There should be no explicit
9 > > archive
10 > > -member entry for the directory.
11 > > +The archive contains a number of files. All package-related files
12 > > +should be stored in a single directory whose name matches the CPV
13 > > of
14 > > +the package file. However, the implementation must be able to
15 > > process
16 > > +an archive where the directory name is mismatched. There should be
17 > > no
18 > > +explicit archive member entry for the directory.
19 >
20 > I wonder about CPV here. That's ${CATEGORY}/${P} and contains a slash,
21 > so it cannot be the name of a directory. Also, what about the package
22 > revision?
23
24 Please restore the previous wording. The GLEP deliberately did not
25 enforce a specific filename because it's about internal format.
26
27 >
28 > > +6. The package manifest data file ``Manifest`` (required).
29 > > +
30 > > +7. A signature for the package Manifest file ``Manifest.sig``
31 > > + (optional).
32 >
33 > Given that the outer archive is uncompressed tar, every file will be
34 > zero-padded to a full block which adds some amount of bloat. So, could
35 > the signature be inlined in the Manifest file? That's also what GLEP
36 > 74
37 > specifies.
38
39 Using inline signature in Manifest makes sense.
40
41 >
42 > Also, IIRC one of the goals of the format was to allow partial
43 > download
44 > of metadata. That will only work if the Manifest file will be the
45 > first
46 > file in the archive (or at least appear before the image archive).
47
48 I disagree. This is solved by having detached metadata signature -- you
49 can do a partial fetch and verify the metadata directly.
50
51 On the other hand, putting Manifest first would make it impossible to
52 create the archive from data stream without using temporary files,
53 effectively doubling the needed free space. Well, technically you could
54 just reserve space and write Manifest later but that would strongly
55 depend on the size of PGP signature and that's not something I'd feel
56 comfortable relying on.
57
58 --
59 Best regards,
60 Michał Górny

Replies

Subject Author
Re: [gentoo-dev] [GLEP78] Updating specification Rich Freeman <rich0@g.o>
Re: [gentoo-dev] [GLEP78] Updating specification Sheng Yu <syu.os@××××××××××.com>