X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=claire.py;h=b4bdc1189f029fb0b2cf771c16912c712b46a354;hb=3a1cfe1537896df8d9e5e85107075e69045546b2;hp=d0d82d06989d1e89c8d9e00b94e6769e0f253882;hpb=fc1e81cf87861694e19b96afa8dd849dd967343c;p=dak.git diff --git a/claire.py b/claire.py index d0d82d06..b4bdc118 100755 --- a/claire.py +++ b/claire.py @@ -1,8 +1,8 @@ #!/usr/bin/env python # 'Fix' stable to make debian-cd and dpkg -BORGiE users happy -# Copyright (C) 2000, 2001 James Troup -# $Id: claire.py,v 1.12 2001-11-19 20:42:40 rmurray Exp $ +# Copyright (C) 2000, 2001, 2002 James Troup +# $Id: claire.py,v 1.15 2002-06-05 00:18:32 troup Exp $ # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -92,20 +92,21 @@ SELECT DISTINCT ON (f.id) c.name, sec.section, l.path, f.filename, f.id AND f.id = df.file AND f.location = l.id AND o.package = s.source AND sec.id = o.section AND NOT (f.filename ~ '^potato/') AND l.component = c.id AND o.suite = su.id -UNION SELECT DISTINCT ON (f.id) null, 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 - WHERE su.suite_name = 'stable' AND sa.suite = su.id AND sa.source = s.id - AND f2.id = s.file AND f2.location = l2.id AND df.source = s.id - AND f.id = df.file AND f.location = l.id AND o.package = s.source - AND sec.id = o.section AND NOT (f.filename ~ '^potato/') AND o.suite = su.id - AND NOT EXISTS (SELECT l.path FROM location l WHERE l.component IS NOT NULL AND f.location = l.id); """); +# Only needed if you have files in legacy-mixed locations +# UNION SELECT DISTINCT ON (f.id) null, 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 +# WHERE su.suite_name = 'stable' AND sa.suite = su.id AND sa.source = s.id +# AND f2.id = s.file AND f2.location = l2.id AND df.source = s.id +# AND f.id = df.file AND f.location = l.id AND o.package = s.source +# AND sec.id = o.section AND NOT (f.filename ~ '^potato/') AND o.suite = su.id +# AND NOT EXISTS (SELECT l.path FROM location l WHERE l.component IS NOT NULL AND f.location = l.id); for i in q.getresult(): src = i[2]+i[3] (component, section) = fix_component_section(i[0], i[1]); - dest = "%sdists/%s/%s/source/%s%s" % (Cnf["Dir::RootDir"], Cnf.get("Suite::Stable::CodeName", "stable"), component, section, os.path.basename(i[3])); - src = clean_symlink(src, dest, Cnf["Dir::RootDir"]); + dest = "%sdists/%s/%s/source/%s%s" % (Cnf["Dir::Root"], Cnf.get("Suite::Stable::CodeName", "stable"), component, section, os.path.basename(i[3])); + src = clean_symlink(src, dest, Cnf["Dir::Root"]); if not os.path.exists(dest): if Cnf.Find("Claire::Options::Verbose"): print src+' -> '+dest @@ -113,7 +114,7 @@ UNION SELECT DISTINCT ON (f.id) null, sec.section, l.path, f.filename, f.id dislocated_files[i[4]] = dest; # Binary - architectures = Cnf.SubTree("Suite::Stable::Architectures").List(); + architectures = Cnf.ValueList("Suite::Stable::Architectures"); for arch in [ "source", "all" ]: if architectures.count(arch): architectures.remove(arch); @@ -143,8 +144,8 @@ UNION SELECT DISTINCT ON (f.id) null, a.arch_string, sec.section, b.package, version = utils.re_no_epoch.sub('', i[4]); src = i[5]+i[6] - dest = "%sdists/%s/%s/binary-%s/%s%s_%s.deb" % (Cnf["Dir::RootDir"], Cnf.get("Suite::Stable::CodeName", "stable"), component, architecture, section, package, version); - src = clean_symlink(src, dest, Cnf["Dir::RootDir"]); + dest = "%sdists/%s/%s/binary-%s/%s%s_%s.deb" % (Cnf["Dir::Root"], Cnf.get("Suite::Stable::CodeName", "stable"), component, architecture, section, package, version); + src = clean_symlink(src, dest, Cnf["Dir::Root"]); if not os.path.exists(dest): if Cnf.Find("Claire::Options::Verbose"): print src+' -> '+dest @@ -153,7 +154,7 @@ UNION SELECT DISTINCT ON (f.id) null, a.arch_string, sec.section, b.package, # 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::RootDir"], Cnf.get("Suite::Stable::CodeName", "stable"), component, arch, section, package, version); + dest = "%sdists/%s/%s/binary-%s/%s%s_%s.deb" % (Cnf["Dir::Root"], Cnf.get("Suite::Stable::CodeName", "stable"), component, arch, section, package, version); if not os.path.exists(dest): if Cnf.Find("Claire::Options::Verbose"): print src+' -> '+dest