X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Foverride.py;h=ce5d12ff41348c1f4c929fd7f5374554eafd13e3;hb=5d16015f2a1da44febb00b3d8cc17f51160186c5;hp=ddb829b621a2bdb5beb95db1b56bed38504d7b6a;hpb=26fd1f178ce88c250744d85d6bc15765d9ccf203;p=dak.git diff --git a/dak/override.py b/dak/override.py index ddb829b6..ce5d12ff 100755 --- a/dak/override.py +++ b/dak/override.py @@ -49,7 +49,7 @@ def usage (exit_code=0): Make microchanges or microqueries of the binary overrides -h, --help show this help and exit - -c, --check chech override compliance + -c, --check check override compliance -d, --done=BUG# send priority/section change as closure to bug# -n, --no-action don't do anything -s, --suite specify the suite to use @@ -61,14 +61,12 @@ def check_override_compliance(package, priority, suite, cnf, session): depends = set() rdepends = set() - components = cnf.ValueList("Suite::%s::Components" % suite) + components = get_component_names(session) arches = set([x.arch_string for x in get_suite_architectures(suite)]) arches -= set(["source", "all"]) for arch in arches: for component in components: - temp_filename = utils.get_packages_from_ftp(cnf['Dir::Root'], suite, component, arch) - packages = utils.open_file(temp_filename) - Packages = apt_pkg.ParseTagFile(packages) + Packages = utils.get_packages_from_ftp(cnf['Dir::Root'], suite, component, arch) while Packages.Step(): package_name = Packages.Section.Find("Package") dep_list = Packages.Section.Find("Depends") @@ -82,7 +80,6 @@ def check_override_compliance(package, priority, suite, cnf, session): for i in d: if i[0] == package: rdepends.add(package_name) - os.unlink(temp_filename) query = """SELECT o.package, p.level, p.priority FROM override o @@ -127,8 +124,8 @@ def main (): if not cnf.has_key("Override::Options::Suite"): cnf["Override::Options::Suite"] = "unstable" - arguments = apt_pkg.ParseCommandLine(cnf.Cnf, Arguments, sys.argv) - Options = cnf.SubTree("Override::Options") + arguments = apt_pkg.parse_commandline(cnf.Cnf, Arguments, sys.argv) + Options = cnf.subtree("Override::Options") if Options["Help"]: usage() @@ -257,7 +254,7 @@ def main (): game_over() - Logger = daklog.Logger(cnf.Cnf, "override") + Logger = daklog.Logger("override") dsc_otype_id = get_override_type('dsc').overridetype_id @@ -289,17 +286,25 @@ def main (): session.commit() if Options.has_key("Done"): + if not cnf.has_key("Dinstall::BugServer"): + utils.warn("Asked to send Done message but Dinstall::BugServer is not configured") + Logger.close() + return + Subst = {} Subst["__OVERRIDE_ADDRESS__"] = cnf["Dinstall::MyEmailAddress"] Subst["__BUG_SERVER__"] = cnf["Dinstall::BugServer"] bcc = [] - if cnf.Find("Dinstall::Bcc") != "": + if cnf.find("Dinstall::Bcc") != "": bcc.append(cnf["Dinstall::Bcc"]) if bcc: Subst["__BCC__"] = "Bcc: " + ", ".join(bcc) else: Subst["__BCC__"] = "X-Filler: 42" - Subst["__CC__"] = "Cc: " + package + "@" + cnf["Dinstall::PackagesServer"] + "\nX-DAK: dak override" + if cnf.has_key("Dinstall::PackagesServer"): + Subst["__CC__"] = "Cc: " + package + "@" + cnf["Dinstall::PackagesServer"] + "\nX-DAK: dak override" + else: + Subst["__CC__"] = "X-DAK: dak override" Subst["__ADMIN_ADDRESS__"] = cnf["Dinstall::MyAdminAddress"] Subst["__DISTRO__"] = cnf["Dinstall::MyDistribution"] Subst["__WHOAMI__"] = utils.whoami()