X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=jenna;h=7e7f2f36f294dfcc2d2ed3add99b80543bb8fb80;hb=cf2534974c1c82dcfb6a12a5df4df6abba890492;hp=24cc0d9de485318a9d35e750d864ceffbe25dab0;hpb=c41cc2965a52a7371255197c5acfbd879e9b755c;p=dak.git diff --git a/jenna b/jenna index 24cc0d9d..7e7f2f36 100755 --- a/jenna +++ b/jenna @@ -1,8 +1,8 @@ #!/usr/bin/env python # Generate file lists used by apt-ftparchive to generate Packages and Sources files -# Copyright (C) 2000, 2001, 2002 James Troup -# $Id: jenna,v 1.22 2002-11-22 04:06:32 troup Exp $ +# Copyright (C) 2000, 2001, 2002, 2003, 2004 James Troup +# $Id: jenna,v 1.28 2004-06-17 15:02:02 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 @@ -61,7 +61,7 @@ Write out file lists suitable for use with apt-ftparchive. -n, --no-delete don't delete older versions -s, --suite=SUITE only write file lists for this suite -ARCH, COMPONENT and SUITE can be space seperated lists, e.g. +ARCH, COMPONENT and SUITE can be space separated lists, e.g. --architecture=\"m68k i386\""""; sys.exit(exit_code); @@ -105,7 +105,7 @@ def resolve_arch_all_vs_any(versions, packages): unique_id = i[1]; arch = packages[unique_id]["arch"]; if arch == "all": - arch_all_versions = i; + arch_all_versions = [i]; arch_all_version = i[0]; arch_any_versions.remove(i); # Sort arch: any versions into descending order @@ -117,7 +117,7 @@ def resolve_arch_all_vs_any(versions, packages): delete_table = "bin_associations"; delete_col = "bin"; - if apt_pkg.VersionCompare(highest_arch_any_version, arch_all_version) != 1: + if apt_pkg.VersionCompare(highest_arch_any_version, arch_all_version) < 1: # arch: all dominates delete_packages(arch_any_versions, pkg, "all", suite, arch_all_version, delete_table, delete_col, packages); @@ -148,7 +148,7 @@ def remove_duplicate_versions(versions, packages): # Remove all but the highest delete_packages(dominated_versions, pkg, arch, suite, dominant_version, delete_table, delete_col, packages); - return dominant_versions; + return [dominant_versions]; ################################################################################ @@ -192,7 +192,7 @@ def cleanup(packages): for arch in arches.keys(): if arch != "source": versions.extend(d[suite][pkg][arch]); - remove_duplicate_versions(versions, packages); + resolve_arch_all_vs_any(versions, packages); ################################################################################ @@ -288,7 +288,7 @@ def write_filelists(packages, dislocated_files): if not Options["Component"]: components = Cnf.ValueList("Suite::%s::Components" % (suite)); else: - components = Options["Components"].split(); + components = Options["Component"].split(); udeb_components = Cnf.ValueList("Suite::%s::UdebComponents" % (suite)); udeb_components = udeb_components; for component in components: @@ -350,7 +350,11 @@ def stable_dislocation_p(): return 1; # Otherwise, look in what suites the user specified suites = Options["Suite"].split(); - return suites.count("stable"); + + if "stable" in suites: + return 1; + else: + return 0; ################################################################################ @@ -417,10 +421,7 @@ def main(): projectB = pg.connect(Cnf["DB::Name"], Cnf["DB::Host"], int(Cnf["DB::Port"])); db_access.init(Cnf, projectB); Logger = logging.Logger(Cnf, "jenna"); - try: - do_da_do_da(); - except: - utils.print_exc(); + do_da_do_da(); Logger.close(); #########################################################################################