]> git.decadent.org.uk Git - dak.git/blobdiff - daklib/utils.py
Merge remote-tracking branch 'nthykier/auto-decruft'
[dak.git] / daklib / utils.py
index 56513e6131fd5e38a715cdcbce788f4937b3c8b0..efae7756527161b35cd377670fa6d4c3a4c8461f 100644 (file)
@@ -49,7 +49,7 @@ import daklib.config as config
 import daklib.daksubprocess
 from dbconn import DBConn, get_architecture, get_component, get_suite, \
                    get_override_type, Keyring, session_wrapper, \
-                   get_active_keyring_paths, get_primary_keyring_path, \
+                   get_active_keyring_paths, \
                    get_suite_architectures, get_or_set_metadatakey, DBSource, \
                    Component, Override, OverrideType
 from sqlalchemy import desc
@@ -1136,6 +1136,7 @@ def check_reverse_depends(removals, suite, arches=None, session=None, cruft=Fals
     else:
         all_arches = set(x.arch_string for x in get_suite_architectures(suite))
     all_arches -= set(["source", "all"])
+    removal_set = set(removals)
     metakey_d = get_or_set_metadatakey("Depends", session)
     metakey_p = get_or_set_metadatakey("Provides", session)
     params = {
@@ -1183,9 +1184,7 @@ def check_reverse_depends(removals, suite, arches=None, session=None, cruft=Fals
 
         # If a virtual package is only provided by the to-be-removed
         # packages, treat the virtual package as to-be-removed too.
-        for virtual_pkg in virtual_packages:
-            if virtual_packages[virtual_pkg] == 0:
-                removals.append(virtual_pkg)
+        removal_set.update(virtual_pkg for virtual_pkg in virtual_packages if not virtual_packages[virtual_pkg])
 
         # Check binary dependencies (Depends)
         for package in deps: