From 49b54e0dbc18aa2026f8561fae4cd31bcea98c4f Mon Sep 17 00:00:00 2001 From: Ryan Murray Date: Sat, 17 Dec 2005 10:57:03 +0000 Subject: [PATCH] Changes from 3.1r1 --- ChangeLog | 5 +++++ halle | 4 ++-- katie.conf | 8 ++++---- katie.py | 7 +++---- kelly | 37 +++++++++++++++++++++++++++---------- 5 files changed, 41 insertions(+), 20 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7e7bb167..bc2c4b24 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-12-16 Ryan Murray + + * halle: add support for udebs + * kelly: stable_install: add support for binNMU versions + 2005-12-05 Anthony Towns * katie.py: Move accept() autobuilding support into separate function diff --git a/halle b/halle index 655c83de..29fd9240 100755 --- a/halle +++ b/halle @@ -2,7 +2,7 @@ # Remove obsolete .changes files from proposed-updates # Copyright (C) 2001, 2002, 2003, 2004 James Troup -# $Id: halle,v 1.12 2004-03-11 00:20:51 troup Exp $ +# $Id: halle,v 1.13 2005-12-17 10:57:03 rmurray 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 @@ -31,7 +31,7 @@ projectB = None; Options = None; pu = {}; -re_isdeb = re.compile (r"^(.+)_(.+?)_(.+?).deb$"); +re_isdeb = re.compile (r"^(.+)_(.+?)_(.+?).u?deb$"); ################################################################################ diff --git a/katie.conf b/katie.conf index fc6712fb..89b839c4 100644 --- a/katie.conf +++ b/katie.conf @@ -110,7 +110,7 @@ Neve Lauren { StableRejector "Martin (Joey) Schulze "; - MoreInfoURL "http://people.debian.org/~joey/3.0r6/"; + MoreInfoURL "http://people.debian.org/~joey/3.1r2/"; }; Emilie @@ -222,9 +222,9 @@ Suite sparc; }; Announce "debian-changes@lists.debian.org"; - Version "3.1r0"; + Version "3.1r1"; Origin "Debian"; - Description "Debian 3.1r0 Released 06 June 2005"; + Description "Debian 3.1r1 Released 17 December 2005"; CodeName "sarge"; OverrideCodeName "sarge"; Priority "3"; @@ -358,7 +358,7 @@ Suite Description "Debian Testing distribution updates - Not Released"; CodeName "testing-proposed-updates"; OverrideCodeName "etch"; - OverrideSuite "etch"; + OverrideSuite "testing"; Priority "6"; VersionChecks { diff --git a/katie.py b/katie.py index 50004503..7f428318 100644 --- a/katie.py +++ b/katie.py @@ -2,7 +2,7 @@ # Utility functions for katie # Copyright (C) 2001, 2002, 2003, 2004, 2005 James Troup -# $Id: katie.py,v 1.58 2005-12-05 05:31:48 ajt Exp $ +# $Id: katie.py,v 1.59 2005-12-17 10:57:03 rmurray 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 @@ -32,7 +32,6 @@ re_isanum = re.compile (r"^\d+$"); re_default_answer = re.compile(r"\[(.*)\]"); re_fdnic = re.compile(r"\n\n"); re_bin_only_nmu = re.compile(r"\+b\d+$"); - ############################################################################### # Convenience wrapper to carry around all the package information in @@ -674,8 +673,7 @@ distribution."""; # upload being processed. # # (1) exact match => 1.0-3 - # (2) Bin-only NMU of an MU => 1.0-3.0.1 - # (3) Bin-only NMU of a sourceful-NMU => 1.0-3.1.1 + # (2) Bin-only NMU => 1.0-3+b1 , 1.0-3.1+b1 def source_exists (self, package, source_version, suites = ["any"]): okay = 1 @@ -714,6 +712,7 @@ distribution."""; # No source found... okay = 0 + break return okay ################################################################################ diff --git a/kelly b/kelly index a941842f..d28d1ace 100755 --- a/kelly +++ b/kelly @@ -2,7 +2,7 @@ # Installs Debian packages from queue/accepted into the pool # Copyright (C) 2000, 2001, 2002, 2003, 2004 James Troup -# $Id: kelly,v 1.17 2005-11-25 06:59:45 ajt Exp $ +# $Id: kelly,v 1.18 2005-12-17 10:57:03 rmurray 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 @@ -30,14 +30,14 @@ ############################################################################### -import errno, fcntl, os, sys, time; +import errno, fcntl, os, sys, time, re; import apt_pkg; import db_access, katie, logging, utils; ############################################################################### # Globals -kelly_version = "$Revision: 1.17 $"; +kelly_version = "$Revision: 1.18 $"; Cnf = None; Options = None; @@ -217,7 +217,8 @@ def action (): if Options["Automatic"]: answer = 'R'; else: - print "INSTALL\n" + reject_message + summary,; + print "INSTALL to " + ", ".join(changes["distribution"].keys()) + print reject_message + summary,; prompt = "[I]nstall, Skip, Quit ?"; if Options["Automatic"]: answer = 'I'; @@ -481,18 +482,34 @@ def stable_install (summary, short_summary): # Add the binaries to stable (and remove it/them from proposed-updates) for file in files.keys(): if files[file]["type"] == "deb": + binNMU = 0 package = files[file]["package"]; version = files[file]["version"]; architecture = files[file]["architecture"]; q = projectB.query("SELECT b.id FROM binaries b, architecture a WHERE b.package = '%s' AND b.version = '%s' AND (a.arch_string = '%s' OR a.arch_string = 'all') AND b.architecture = a.id" % (package, version, architecture)); ql = q.getresult(); if not ql: - utils.fubar("[INTERNAL ERROR] couldn't find '%s' (%s for %s architecture) in binaries table." % (package, version, architecture)); - binary_id = ql[0][0]; - suite_id = db_access.get_suite_id('proposed-updates'); - projectB.query("DELETE FROM bin_associations WHERE suite = '%s' AND bin = '%s'" % (suite_id, binary_id)); - suite_id = db_access.get_suite_id('stable'); - projectB.query("INSERT INTO bin_associations (suite, bin) VALUES ('%s', '%s')" % (suite_id, binary_id)); + suite_id = db_access.get_suite_id('proposed-updates'); + que = "SELECT b.version FROM binaries b JOIN bin_associations ba ON (b.id = ba.bin) JOIN suite su ON (ba.suite = su.id) WHERE b.package = '%s' AND (ba.suite = '%s')" % (package, suite_id); + q = projectB.query(que) + + # Reduce the query results to a list of version numbers + ql = map(lambda x: x[0], q.getresult()); + if not ql: + utils.fubar("[INTERNAL ERROR] couldn't find '%s' (%s for %s architecture) in binaries table." % (package, version, architecture)); + else: + for x in ql: + if re.match(re.compile(r"%s((\.0)?\.)|(\+b)\d+$" % re.escape(version)),x): + binNMU = 1 + break + if not binNMU: + binary_id = ql[0][0]; + suite_id = db_access.get_suite_id('proposed-updates'); + projectB.query("DELETE FROM bin_associations WHERE suite = '%s' AND bin = '%s'" % (suite_id, binary_id)); + suite_id = db_access.get_suite_id('stable'); + projectB.query("INSERT INTO bin_associations (suite, bin) VALUES ('%s', '%s')" % (suite_id, binary_id)); + else: + del files[file] projectB.query("COMMIT WORK"); -- 2.39.5