Gentoo Archives: gentoo-portage-dev

From: Zac Medico <zmedico@g.o>
To: gentoo-portage-dev@l.g.o, "Michał Górny" <mgorny@g.o>
Subject: Re: [gentoo-portage-dev] [PATCH] Make manifest-required-hashes configurable
Date: Mon, 06 Nov 2017 16:44:34
Message-Id: 4008f8b3-25e8-94c8-6b4d-c413205dc70f@gentoo.org
In Reply to: [gentoo-portage-dev] [PATCH] Make manifest-required-hashes configurable by "Michał Górny"
1 On 11/06/2017 07:27 AM, Michał Górny wrote:
2 > @@ -148,15 +147,21 @@ class Manifest(object):
3 > self.pkgdir = _unicode_decode(pkgdir).rstrip(os.sep) + os.sep
4 > self.fhashdict = {}
5 > self.hashes = set()
6 > + self.required_hashes = set()
7 >
8 > if hashes is None:
9 > hashes = MANIFEST2_HASH_DEFAULTS
10 > + if required_hashes is None:
11 > + required_hashes = hashes
12 >
13 > self.hashes.update(hashes)
14 > self.hashes.difference_update(hashname for hashname in \
15 > list(self.hashes) if hashname not in get_valid_checksum_keys())
16 > self.hashes.add("size")
17 > - self.hashes.add(MANIFEST2_REQUIRED_HASH)
18 > +
19 > + self.required_hashes.update(required_hashes)
20 > + self.required_hashes.intersection_update(self.hashes)
21 > +
22
23 Requiring that presence of digests for all manifest-hashes can be
24 problematic, because when we extend manifest-hashes it means that nobody
25 can regenerate a particular manifest without fetching *all* distfiles
26 referenced in the Manifest. It's much more friendly if we generate the
27 missing digests when the distfiles happen to be available in DISTDIR,
28 which is how the portage currently behaves.
29 --
30 Thanks,
31 Zac

Replies