]> git.decadent.org.uk Git - dak.git/commitdiff
Changes from 3.1r1
authorRyan Murray <rmurray@debian.org>
Sat, 17 Dec 2005 10:57:03 +0000 (10:57 +0000)
committerRyan Murray <rmurray@debian.org>
Sat, 17 Dec 2005 10:57:03 +0000 (10:57 +0000)
ChangeLog
halle
katie.conf
katie.py
kelly

index 7e7bb167226cacf473245d1d32115e843834c69b..bc2c4b24a4ca0423eecdfd94b4a3cf33acd65dbd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-12-16  Ryan Murray  <rmurray@debian.org>
+
+       * halle: add support for udebs
+       * kelly: stable_install: add support for binNMU versions
+
 2005-12-05  Anthony Towns  <aj@erisian.com.au>
 
        * katie.py: Move accept() autobuilding support into separate function 
diff --git a/halle b/halle
index 655c83de37b7af5fa9d714ad10f6242b456ba5ec..29fd9240b4a569d636661bf5d88f316e6f597ff0 100755 (executable)
--- a/halle
+++ b/halle
@@ -2,7 +2,7 @@
 
 # Remove obsolete .changes files from proposed-updates
 # Copyright (C) 2001, 2002, 2003, 2004  James Troup <james@nocrew.org>
-# $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$");
 
 ################################################################################
 
index fc6712fb7ae3dba9ad5de6f0b176f9fe118dfb93..89b839c4744ffbe2264f3cca3ef222d84e6573b2 100644 (file)
@@ -110,7 +110,7 @@ Neve
 Lauren
 {
    StableRejector "Martin (Joey) Schulze <joey@debian.org>";
-   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
        {
index 50004503c8558272ed24a2c893f199c0604cbea5..7f428318ffea66b24e305932eda4975e1730a04a 100644 (file)
--- a/katie.py
+++ b/katie.py
@@ -2,7 +2,7 @@
 
 # Utility functions for katie
 # Copyright (C) 2001, 2002, 2003, 2004, 2005  James Troup <james@nocrew.org>
-# $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 a941842f1ec20a76c465bee4681401d3e42c94cf..d28d1ace28755bbecd69f90a667b2954fc375b80 100755 (executable)
--- 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 <james@nocrew.org>
-# $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
 
 ###############################################################################
 
-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");