diff options
Diffstat (limited to 'lib/portage/dbapi/bintree.py')
-rw-r--r-- | lib/portage/dbapi/bintree.py | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/lib/portage/dbapi/bintree.py b/lib/portage/dbapi/bintree.py index 6446fde95..a6e1f9773 100644 --- a/lib/portage/dbapi/bintree.py +++ b/lib/portage/dbapi/bintree.py @@ -291,6 +291,24 @@ class bindbapi(fakedbapi): elif binpkg_format == "gpkg": mybinpkg = portage.gpkg.gpkg(self.settings, cpv_str, binpkg_path) mydata = mybinpkg.get_metadata() + if mybinpkg.signature_exist: + writemsg( + colorize( + "WARN", + f"Binpkg update ignored for signed package: {binpkg_path}, " + "the file will be removed.", + ) + ) + try: + os.remove(binpkg_path) + except OSError as err: + writemsg( + colorize( + "WARN", + f"Failed to remove moved signed package: {binpkg_path} {str(err)}", + ) + ) + return encoding_key = False else: raise InvalidBinaryPackageFormat( @@ -687,7 +705,6 @@ class binarytree: ) continue - moves += 1 binpkg_format = get_binpkg_format(binpkg_path) if binpkg_format == "xpak": mytbz2 = portage.xpak.tbz2(binpkg_path) @@ -708,6 +725,8 @@ class binarytree: else: continue + moves += 1 + updated_items = update_dbentries([mylist], mydata, parent=mycpv) mydata.update(updated_items) if decode_metadata_name: |