X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Frm.py;h=3edeac3dc35c3ccdd4a9a736f135426b859461ba;hb=27e00376e81d1c37ff327ee0d39670b266418869;hp=0583755b3b6bc4c048af6d395b51f599edcf3bec;hpb=adcc4dcadd87c31ca52c4ec6b485375b56579e46;p=dak.git diff --git a/dak/rm.py b/dak/rm.py index 0583755b..3edeac3d 100755 --- a/dak/rm.py +++ b/dak/rm.py @@ -51,7 +51,7 @@ from daklib.config import Config from daklib.dbconn import * from daklib import utils from daklib.dak_exceptions import * -from daklib.regexes import re_strip_source_version, re_build_dep_arch +from daklib.regexes import re_strip_source_version, re_build_dep_arch, re_bin_only_nmu import debianbts as bts ################################################################################ @@ -126,16 +126,11 @@ def reverse_depends_check(removals, suite, arches=None, session=None): params['arch_id'] = get_architecture(architecture, session).arch_id statement = ''' - create temp table suite_binaries ( - id integer primary key, - package text, - source integer, - file integer); - insert into suite_binaries - select b.id, b.package, b.source, b.file + 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); + 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 @@ -182,7 +177,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 @@ -241,7 +236,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 @@ -671,6 +666,7 @@ def main (): Subst_close_other = Subst_common bcc = [] wnpp = utils.parse_wnpp_bug_file() + versions = list(set([re_bin_only_nmu.sub('', v) for v in versions])) if len(versions) == 1: Subst_close_other["__VERSION__"] = versions[0] else: