]> git.decadent.org.uk Git - dak.git/blobdiff - dak/rm.py
Get rid of WITH.
[dak.git] / dak / rm.py
index d0b46f62234b2033770d4b18fdcd98fd9a694dd3..6aa4101c25f474d4bfd7f9e8f12f104452b5c959 100755 (executable)
--- a/dak/rm.py
+++ b/dak/rm.py
@@ -126,14 +126,10 @@ def reverse_depends_check(removals, suite, arches=None, session=None):
         params['arch_id'] = get_architecture(architecture, session).arch_id
 
         statement = '''
-            WITH suite_binaries AS
-                (select b.id, b.package, b.source, b.file
-                    from binaries b WHERE b.id in
-                        (SELECT bin FROM bin_associations WHERE suite = :suite_id)
-                        AND b.architecture in (:arch_id, :arch_all_id))
             SELECT b.id, b.package, s.source, c.name as component,
                 bmd.value as depends, bmp.value as provides
-                FROM suite_binaries b
+                FROM binaries b
+                JOIN bin_associations ba ON b.id = ba.bin AND ba.suite = :suite_id
                 LEFT OUTER JOIN binaries_metadata bmd
                     ON b.id = bmd.bin_id AND bmd.key_id = :metakey_d_id
                 LEFT OUTER JOIN binaries_metadata bmp
@@ -141,8 +137,8 @@ def reverse_depends_check(removals, suite, arches=None, session=None):
                 JOIN source s ON b.source = s.id
                 JOIN files f ON b.file = f.id
                 JOIN location l ON f.location = l.id
-                JOIN component c ON l.component = c.id'''
-        session.rollback()
+                JOIN component c ON l.component = c.id
+                WHERE b.architecture IN (:arch_id, :arch_all_id)'''
         query = session.query('id', 'package', 'source', 'component', 'depends', 'provides'). \
             from_statement(statement).params(params)
         for binary_id, package, source, component, depends, provides in query:
@@ -177,7 +173,7 @@ def reverse_depends_check(removals, suite, arches=None, session=None):
             parsed_dep = []
             try:
                 parsed_dep += apt_pkg.ParseDepends(deps[package])
-            except ValueError, e:
+            except ValueError as e:
                 print "Error for package %s: %s" % (package, e)
             for dep in parsed_dep:
                 # Check for partial breakage.  If a package has a ORed
@@ -236,7 +232,7 @@ def reverse_depends_check(removals, suite, arches=None, session=None):
             build_dep = re_build_dep_arch.sub("", build_dep)
             try:
                 parsed_dep += apt_pkg.ParseDepends(build_dep)
-            except ValueError, e:
+            except ValueError as e:
                 print "Error for source %s: %s" % (source, e)
         for dep in parsed_dep:
             unsat = 0