X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Foverride_disparity.py;h=413dcaabfbfcca0cddc1ac2074711744b24b3371;hb=6f863f95e3d1bae18aa5579e958fd8a121b06545;hp=383766ef4ae61ad2fc12904da710b359138f41d6;hpb=41c7c5fc96d6a4911be7bcf61f9850ae33844473;p=dak.git diff --git a/dak/override_disparity.py b/dak/override_disparity.py index 383766ef..413dcaab 100755 --- a/dak/override_disparity.py +++ b/dak/override_disparity.py @@ -73,35 +73,35 @@ def main(): if not cnf.has_key('Override-Disparity::Options::Suite'): cnf['Override-Disparity::Options::Suite'] = 'unstable' - apt_pkg.ParseCommandLine(cnf.Cnf, Arguments, sys.argv) - Options = cnf.SubTree('Override-Disparity::Options') + apt_pkg.parse_commandline(cnf.Cnf, Arguments, sys.argv) + Options = cnf.subtree('Override-Disparity::Options') if Options['help']: usage() depends = {} session = DBConn().session() - suite = Options['suite'] - components = cnf.ValueList('Suite::%s::Components' % suite) - arches = set([x.arch_string for x in get_suite_architectures(suite)]) + suite_name = Options['suite'] + suite = get_suite(suite_name, session) + if suite is None: + utils.fubar("Unknown suite '{0}'".format(suite_name)) + components = get_component_names(session) + arches = set([x.arch_string for x in get_suite_architectures(suite_name)]) 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_file = utils.open_file(temp_filename) - Packages = apt_pkg.ParseTagFile(packages_file) - while Packages.Step(): - package = Packages.Section.Find('Package') - dep_list = Packages.Section.Find('Depends') + Packages = utils.get_packages_from_ftp(suite.archive.path, suite_name, component, arch) + while Packages.step(): + package = Packages.section.find('Package') + dep_list = Packages.section.find('Depends') if Options['package'] and package != Options['package']: continue if dep_list: - for d in apt_pkg.ParseDepends(dep_list): + for d in apt_pkg.parse_depends(dep_list): for i in d: if not depends.has_key(package): depends[package] = set() depends[package].add(i[0]) - os.unlink(temp_filename) priorities = {} query = """SELECT DISTINCT o.package, p.level, p.priority, m.name @@ -113,9 +113,8 @@ def main(): JOIN bin_associations ba ON ba.bin = b.id WHERE s.suite_name = '%s' AND ba.suite = s.id - AND p.level <> 0""" % suite + AND p.level <> 0""" % suite_name packages = session.execute(query) - session.commit() out = {} if Options.has_key('file'): @@ -132,13 +131,13 @@ def main(): if not out.has_key(d): out[d] = {} out[d]['priority'] = priorities[d][1] - out[d]['maintainer'] = priorities[d][2] + out[d]['maintainer'] = unicode(priorities[d][2], 'utf-8') out[d]['priority'] = priorities[d][1] priorities[d][3] = False if not out[d].has_key('dependency'): out[d]['dependency'] = {} out[d]['dependency'][p] = priorities[p][1] - yaml.dump(out, outfile, default_flow_style=False) + yaml.safe_dump(out, outfile, default_flow_style=False) if Options.has_key('file'): outfile.close()