X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fsymlink_dists.py;h=35f5518304023f7dd430ecf97cd4fd308292e4e4;hb=b5d21dfae245e479a1dfd261b7f1a9d9bf2e9b99;hp=82c38701bf14f70c81fd29e29dd71b6bf493aced;hpb=06ce98c8111a8b09e5603dbbd34324a216412d69;p=dak.git diff --git a/dak/symlink_dists.py b/dak/symlink_dists.py old mode 100755 new mode 100644 index 82c38701..35f55183 --- a/dak/symlink_dists.py +++ b/dak/symlink_dists.py @@ -29,8 +29,9 @@ ################################################################################ import os, pg, re, sys -import dak.lib.utils, dak.lib.database import apt_pkg +import daklib.database +import daklib.utils ################################################################################ @@ -54,11 +55,10 @@ Create compatibility symlinks from legacy locations to the pool. def fix_component_section (component, section): if component == "": - component = dak.lib.utils.extract_component_from_section(section)[1] + component = daklib.utils.extract_component_from_section(section)[1] # FIXME: ugly hacks to work around override brain damage section = re_strip_section_prefix.sub('', section) - section = section.lower().replace('non-us', '') if section == "main" or section == "contrib" or section == "non-free": section = '' if section != '': @@ -68,13 +68,13 @@ def fix_component_section (component, section): ################################################################################ -def find_dislocated_stable(Cnf, projectB): +def find_dislocated_stable(Conf, DBConn): dislocated_files = {} - codename = Cnf["Suite::Stable::Codename"] + codename = Conf["Suite::Stable::Codename"] # Source - q = projectB.query(""" + q = DBConn.query(""" SELECT DISTINCT ON (f.id) c.name, sec.section, l.path, f.filename, f.id FROM component c, override o, section sec, source s, files f, location l, dsc_files df, suite su, src_associations sa, files f2, location l2 @@ -95,20 +95,20 @@ SELECT DISTINCT ON (f.id) c.name, sec.section, l.path, f.filename, f.id # AND NOT EXISTS (SELECT 1 FROM location l WHERE l.component IS NOT NULL AND f.location = l.id) for i in q.getresult(): (component, section) = fix_component_section(i[0], i[1]) - if Cnf.FindB("Dinstall::LegacyStableHasNoSections"): + if Conf.FindB("Dinstall::LegacyStableHasNoSections"): section="" - dest = "%sdists/%s/%s/source/%s%s" % (Cnf["Dir::Root"], codename, component, section, os.path.basename(i[3])) + dest = "%sdists/%s/%s/source/%s%s" % (Conf["Dir::Root"], codename, component, section, os.path.basename(i[3])) if not os.path.exists(dest): - src = i[2]+i[3] - src = dak.lib.utils.clean_symlink(src, dest, Cnf["Dir::Root"]) - if Cnf.Find("Symlink-Dists::Options::Verbose"): + src = i[2]+i[3] + src = daklib.utils.clean_symlink(src, dest, Conf["Dir::Root"]) + if Conf.Find("Symlink-Dists::Options::Verbose"): print src+' -> '+dest os.symlink(src, dest) dislocated_files[i[4]] = dest # Binary - architectures = filter(dak.lib.utils.real_arch, Cnf.ValueList("Suite::Stable::Architectures")) - q = projectB.query(""" + architectures = filter(daklib.utils.real_arch, Conf.ValueList("Suite::Stable::Architectures")) + q = DBConn.query(""" SELECT DISTINCT ON (f.id) c.name, a.arch_string, sec.section, b.package, b.version, l.path, f.filename, f.id FROM architecture a, bin_associations ba, binaries b, component c, files f, @@ -130,26 +130,26 @@ SELECT DISTINCT ON (f.id) c.name, a.arch_string, sec.section, b.package, # (SELECT 1 FROM location l WHERE l.component IS NOT NULL AND f.location = l.id) for i in q.getresult(): (component, section) = fix_component_section(i[0], i[2]) - if Cnf.FindB("Dinstall::LegacyStableHasNoSections"): + if Conf.FindB("Dinstall::LegacyStableHasNoSections"): section="" architecture = i[1] package = i[3] - version = dak.lib.utils.re_no_epoch.sub('', i[4]) + version = daklib.utils.re_no_epoch.sub('', i[4]) src = i[5]+i[6] - dest = "%sdists/%s/%s/binary-%s/%s%s_%s.deb" % (Cnf["Dir::Root"], codename, component, architecture, section, package, version) - src = dak.lib.utils.clean_symlink(src, dest, Cnf["Dir::Root"]) + dest = "%sdists/%s/%s/binary-%s/%s%s_%s.deb" % (Conf["Dir::Root"], codename, component, architecture, section, package, version) + src = daklib.utils.clean_symlink(src, dest, Conf["Dir::Root"]) if not os.path.exists(dest): - if Cnf.Find("Symlink-Dists::Options::Verbose"): + if Conf.Find("Symlink-Dists::Options::Verbose"): print src+' -> '+dest os.symlink(src, dest) dislocated_files[i[7]] = dest # Add per-arch symlinks for arch: all debs if architecture == "all": for arch in architectures: - dest = "%sdists/%s/%s/binary-%s/%s%s_%s.deb" % (Cnf["Dir::Root"], codename, component, arch, section, package, version) + dest = "%sdists/%s/%s/binary-%s/%s%s_%s.deb" % (Conf["Dir::Root"], codename, component, arch, section, package, version) if not os.path.exists(dest): - if Cnf.Find("Symlink-Dists::Options::Verbose"): + if Conf.Find("Symlink-Dists::Options::Verbose"): print src+' -> '+dest os.symlink(src, dest) @@ -160,23 +160,23 @@ SELECT DISTINCT ON (f.id) c.name, a.arch_string, sec.section, b.package, def main (): global Cnf, projectB - Cnf = dak.lib.utils.get_conf() + Cnf = daklib.utils.get_conf() Arguments = [('h',"help","Symlink-Dists::Options::Help"), ('v',"verbose","Symlink-Dists::Options::Verbose")] for i in ["help", "verbose" ]: - if not Cnf.has_key("Symlink-Dists::Options::%s" % (i)): - Cnf["Symlink-Dists::Options::%s" % (i)] = "" + if not Cnf.has_key("Symlink-Dists::Options::%s" % (i)): + Cnf["Symlink-Dists::Options::%s" % (i)] = "" apt_pkg.ParseCommandLine(Cnf,Arguments,sys.argv) Options = Cnf.SubTree("Symlink-Dists::Options") if Options["Help"]: - usage() + usage() projectB = pg.connect(Cnf["DB::Name"], Cnf["DB::Host"], int(Cnf["DB::Port"])) - dak.lib.database.init(Cnf, projectB) + daklib.database.init(Cnf, projectB) find_dislocated_stable(Cnf, projectB) @@ -184,4 +184,3 @@ def main (): if __name__ == '__main__': main() -