diff options
Diffstat (limited to 'lib/portage/dbapi/bintree.py')
-rw-r--r-- | lib/portage/dbapi/bintree.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/portage/dbapi/bintree.py b/lib/portage/dbapi/bintree.py index af2113bd8..ec31b52d0 100644 --- a/lib/portage/dbapi/bintree.py +++ b/lib/portage/dbapi/bintree.py @@ -1234,11 +1234,23 @@ class binarytree: return pkgindex if update_pkgindex else None + def _run_trust_helper(self): + portage_trust_helper = self.settings.get("PORTAGE_TRUST_HELPER", "") + if portage_trust_helper == "": + return + ret = subprocess.run(portage_trust_helper) + ret.check_returncode() + def _populate_remote(self, getbinpkg_refresh=True): self._remote_has_index = False self._remotepkgs = {} if "binpkg-request-signature" in self.settings.features: + # This is somewhat broken, we *should* run the trust helper always + # when binpackages are involved, not only when we refuse unsigned + # ones. (If the keys have expired we end up refusing signed but + # technically invalid packages...) + self._run_trust_helper() gpkg_only = True else: gpkg_only = False |