Gentoo Archives: gentoo-dev

From: Sheng Yu <syu.os@××××××××××.com>
To: Rich Freeman <rich0@g.o>
Cc: gentoo-dev <gentoo-dev@l.g.o>
Subject: Re: [gentoo-dev] [GLEP78] Updating specification
Date: Mon, 13 Sep 2021 23:42:47
Message-Id: Rf9Z4C3j3yiHgW8uPSSwcLsCm7ae5Q2l8cP8kmoyKMViDaD7FDj8j7UBGT2qaQ5TU-KTT2pIKhYfjLz2_wDnSxidzbtiEaYkcKNmeLd2X8g=@protonmail.com
In Reply to: Re: [gentoo-dev] [GLEP78] Updating specification by Rich Freeman
1 On Monday, September 13th, 2021 at 18:04, Rich Freeman <rich0@g.o> wrote:
2 >
3 > On Mon, Sep 13, 2021 at 5:02 PM Michał Górny <mgorny@g.o> wrote:
4 > >
5 > > On Mon, 2021-09-13 at 12:08 +0200, Ulrich Mueller wrote:
6 > > >
7 > > > Also, IIRC one of the goals of the format was to allow partial
8 > > > download
9 > > > of metadata. That will only work if the Manifest file will be the
10 > > > first
11 > > > file in the archive (or at least appear before the image archive).
12 > >
13 > > I disagree. This is solved by having detached metadata signature -- you
14 > > can do a partial fetch and verify the metadata directly.
15 > >
16 >
17 > Another option I've tossed out there in the past is having a content
18 > hash of the metadata and putting that in the filename. That obviously
19 > won't tell you anything about the contents of the file without reading
20 > it, but if you're looking for a file with specific metadata you could
21 > predict its filename. This was intended to work with having multiple
22 > hashes for the same file using subsets of the metadata, using symbolic
23 > links.
24 >
25 > The thinking here is that you'd just hash a subset of metadata useful
26 > for identifying what file you'd want to download, such as CHOST,
27 > linked dependency versions, use flags, etc. You'd probably hash it
28 > with/without stuff like use flags so that you could either take a shot
29 > at getting the file exactly configured how you want, or accepting a
30 > version with any set of flags.
31 >
32 > Of course, this idea goes in direct opposition to your statement about
33 > not wanting to specify the filename. I get that argument. The intent
34 > here was to allow portage to go hunting through trusted repositories
35 > to find packages it can use without having to sync a lot of data - if
36 > you know the exact filename then a simple GET tells you if it is there
37 > or not.
38
39 Interesting concept, although this should be counted in the
40 binpkg-multi-instance. A predictable configuration hash, rather than
41 relying on index to get the difference between variants.
42
43 Something like:
44 bar/foo-1.0-r2-e3b0c44298fc1c149afbf4c8996fb9.gpkg.tar
45
46 Thanks,
47 Sheng Yu