aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/_emerge/Scheduler.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/_emerge/Scheduler.py b/lib/_emerge/Scheduler.py
index 4193ffdd0..620d51351 100644
--- a/lib/_emerge/Scheduler.py
+++ b/lib/_emerge/Scheduler.py
@@ -992,7 +992,16 @@ class Scheduler(PollScheduler):
infloc = os.path.join(build_dir_path, "build-info")
ensure_dirs(infloc)
- await bintree.dbapi.unpack_metadata(settings, infloc, loop=loop)
+ try:
+ await bintree.dbapi.unpack_metadata(settings, infloc, loop=loop)
+ except portage.exception.SignatureException as e:
+ writemsg(
+ f"!!! Invalid binary package: '{bintree.getname(x.cpv)}', {e}\n",
+ noiselevel=-1,
+ )
+ failures += 1
+ self._record_pkg_failure(x, settings, 1)
+ continue
ebuild_path = os.path.join(infloc, x.pf + ".ebuild")
settings.configdict["pkg"]["EMERGE_FROM"] = "binary"
settings.configdict["pkg"]["MERGE_TYPE"] = "binary"