diff options
author | Zac Medico <zmedico@gentoo.org> | 2024-01-15 17:08:36 -0800 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2024-01-15 21:25:20 -0800 |
commit | 68f4ea8a90d8759a1aa859d9188017e21797bdd0 (patch) | |
tree | 896a26b2107ee53c9c05dd08e2686964e33865c1 | |
parent | Add merge-wait FEATURES setting enabled by default (diff) | |
download | portage-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.py | 16 |
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", |