# Utility functions for katie
# Copyright (C) 2001, 2002, 2003, 2004 James Troup <james@nocrew.org>
-# $Id: katie.py,v 1.46 2004-04-03 02:49:46 troup Exp $
+# $Id: katie.py,v 1.51 2004-11-27 18:02:22 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
re_isanum = re.compile (r"^\d+$");
re_default_answer = re.compile(r"\[(.*)\]");
-re_fdnic = re.compile("\n\n");
-re_bin_only_nmu_of_mu = re.compile("\.\d+\.\d+$");
-re_bin_only_nmu_of_nmu = re.compile("\.\d+$");
+re_fdnic = re.compile(r"\n\n");
+re_bin_only_nmu_of_mu = re.compile(r"\.\d+\.\d+$");
+re_bin_only_nmu_of_nmu = re.compile(r"\.\d+$");
###############################################################################
return okay
################################################################################
-
+
def in_override_p (self, package, component, suite, binary_type, file):
files = self.pkg.files;
type_id = db_access.get_override_type_id(type);
# FIXME: nasty non-US speficic hack
- if component[:7].lower() == "non-us/":
+ if component.lower().startswith("non-us/"):
component = component[7:];
q = self.projectB.query("SELECT s.section, p.priority FROM override o, section s, priority p WHERE package = '%s' AND suite = %s AND component = %s AND type = %s AND o.section = s.id AND o.priority = p.id"
existent_version = entry[0];
suite = entry[1];
if suite in must_be_newer_than and \
- apt_pkg.VersionCompare(new_version, existent_version) != 1:
+ apt_pkg.VersionCompare(new_version, existent_version) < 1:
self.reject("%s: old version (%s) in %s >= new version (%s) targeted at %s." % (file, existent_version, suite, new_version, target_suite));
if suite in must_be_older_than and \
- apt_pkg.VersionCompare(new_version, existent_version) != -1:
+ apt_pkg.VersionCompare(new_version, existent_version) > -1:
self.reject("%s: old version (%s) in %s <= new version (%s) targeted at %s." % (file, existent_version, suite, new_version, target_suite));
################################################################################
actual_size = int(files[dsc_file]["size"]);
found = "%s in incoming" % (dsc_file)
# Check the file does not already exist in the archive
- q = self.projectB.query("SELECT size, md5sum, filename FROM files WHERE filename LIKE '%%%s%%'" % (dsc_file));
-
+ q = self.projectB.query("SELECT f.size, f.md5sum, l.path, f.filename FROM files f, location l WHERE f.filename LIKE '%%%s%%' AND l.id = f.location" % (dsc_file));
ql = q.getresult();
# Strip out anything that isn't '%s' or '/%s$'
for i in ql:
- if i[2] != dsc_file and i[2][-(len(dsc_file)+1):] != '/'+dsc_file:
+ if i[3] != dsc_file and i[3][-(len(dsc_file)+1):] != '/'+dsc_file:
ql.remove(i);
# "[katie] has not broken them. [katie] has fixed a
files[dsc_file]["md5sum"] == i[1]:
self.reject("ignoring %s, since it's already in the archive." % (dsc_file), "Warning: ");
del files[dsc_file];
+ self.pkg.orig_tar_gz = i[2] + i[3];
match = 1;
if not match: