aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2024-01-15 17:08:36 -0800
committerZac Medico <zmedico@gentoo.org>2024-01-15 21:25:20 -0800
commit68f4ea8a90d8759a1aa859d9188017e21797bdd0 (patch)
tree896a26b2107ee53c9c05dd08e2686964e33865c1
parentAdd merge-wait FEATURES setting enabled by default (diff)
downloadportage-68f4ea8a90d8759a1aa859d9188017e21797bdd0.tar.gz
portage-68f4ea8a90d8759a1aa859d9188017e21797bdd0.tar.bz2
portage-68f4ea8a90d8759a1aa859d9188017e21797bdd0.zip
Handle SignatureException during package moves
Ignore package moves for packages that raise SignatureException, just as they are ignored for packages that have a valid signature. Bug: https://bugs.gentoo.org/922142 Signed-off-by: Zac Medico <zmedico@gentoo.org>
-rw-r--r--lib/portage/dbapi/bintree.py16
1 files changed, 12 insertions, 4 deletions
diff --git a/lib/portage/dbapi/bintree.py b/lib/portage/dbapi/bintree.py
index 2342d571b..ee574f435 100644
--- a/lib/portage/dbapi/bintree.py
+++ b/lib/portage/dbapi/bintree.py
@@ -296,8 +296,12 @@ class bindbapi(fakedbapi):
encoding_key = True
elif binpkg_format == "gpkg":
mybinpkg = portage.gpkg.gpkg(self.settings, cpv_str, binpkg_path)
- mydata = mybinpkg.get_metadata()
- if mybinpkg.signature_exist:
+ try:
+ mydata = mybinpkg.get_metadata()
+ signature_exist = mybinpkg.signature_exist
+ except SignatureException:
+ signature_exist = True
+ if signature_exist:
writemsg(
colorize(
"WARN",
@@ -721,8 +725,12 @@ class binarytree:
decode_metadata_name = False
elif binpkg_format == "gpkg":
mybinpkg = portage.gpkg.gpkg(self.settings, mycpv, binpkg_path)
- mydata = mybinpkg.get_metadata()
- if mybinpkg.signature_exist:
+ try:
+ mydata = mybinpkg.get_metadata()
+ signature_exist = mybinpkg.signature_exist
+ except SignatureException:
+ signature_exist = True
+ if signature_exist:
writemsg(
colorize(
"WARN",