Gentoo Archives: gentoo-commits

From: Zac Medico <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:master commit in: pym/portage/package/ebuild/
Date: Sun, 30 Jul 2017 00:07:53
Message-Id: 1501373224.fa1ba6318e114cd9f3bb5b4e61ed3dab7521bc19.zmedico@gentoo
1 commit: fa1ba6318e114cd9f3bb5b4e61ed3dab7521bc19
2 Author: Zac Medico <zmedico <AT> gentoo <DOT> org>
3 AuthorDate: Sun Jul 30 00:03:25 2017 +0000
4 Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
5 CommitDate: Sun Jul 30 00:07:04 2017 +0000
6 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=fa1ba631
7
8 config.validate: check for invalid BINPKG_COMPRESSION
9
10 pym/portage/package/ebuild/config.py | 27 +++++++++++++++++++++++++++
11 1 file changed, 27 insertions(+)
12
13 diff --git a/pym/portage/package/ebuild/config.py b/pym/portage/package/ebuild/config.py
14 index f8043dbf5..3d232e0be 100644
15 --- a/pym/portage/package/ebuild/config.py
16 +++ b/pym/portage/package/ebuild/config.py
17 @@ -25,6 +25,7 @@ portage.proxy.lazyimport.lazyimport(globals(),
18 'portage.dep.soname.SonameAtom:SonameAtom',
19 'portage.dbapi.vartree:vartree',
20 'portage.package.ebuild.doebuild:_phase_func_map',
21 + 'portage.util.compression_probe:_compressors',
22 'portage.util.locale:check_locale,split_LC_ALL',
23 )
24 from portage import bsd_chflags, \
25 @@ -1171,6 +1172,32 @@ class config(object):
26 writemsg(_("!!! See https://bugs.pypy.org/issue833 for details.\n"),
27 noiselevel=-1)
28
29 + binpkg_compression = self.get("BINPKG_COMPRESSION")
30 + if binpkg_compression:
31 + try:
32 + compression = _compressors[binpkg_compression]
33 + except KeyError as e:
34 + writemsg("!!! BINPKG_COMPRESSION contains invalid or "
35 + "unsupported compression method: %s" % e.args[0],
36 + noiselevel=-1)
37 + else:
38 + try:
39 + compression_binary = shlex_split(
40 + portage.util.varexpand(compression["compress"],
41 + mydict=self))[0]
42 + except IndexError as e:
43 + writemsg("!!! BINPKG_COMPRESSION contains invalid or "
44 + "unsupported compression method: %s" % e.args[0],
45 + noiselevel=-1)
46 + else:
47 + if portage.process.find_binary(
48 + compression_binary) is None:
49 + missing_package = compression["package"]
50 + writemsg("!!! BINPKG_COMPRESSION unsupported %s. "
51 + "Missing package: %s" %
52 + (binpkg_compression, missing_package),
53 + noiselevel=-1)
54 +
55 def load_best_module(self,property_string):
56 best_mod = best_from_dict(property_string,self.modules,self.module_priority)
57 mod = None