X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=jennifer;h=c19e1ec545a0b9a5d739b8a9a30d738f8ad2f45c;hb=1af29fa5f8b542b7cf18e2c116551f90b5b9b24d;hp=0abbfa7e68b1d345acf129d17d9122c3196a2f14;hpb=e48966a6e42b93d5300bbd4316fba200095b0702;p=dak.git diff --git a/jennifer b/jennifer index 0abbfa7e..c19e1ec5 100755 --- a/jennifer +++ b/jennifer @@ -2,7 +2,7 @@ # Checks Debian packages from Incoming # Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 James Troup -# $Id: jennifer,v 1.56 2005-01-18 22:18:31 troup Exp $ +# $Id: jennifer,v 1.58 2005-11-24 15:40:16 ajt 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 @@ -45,7 +45,7 @@ re_strip_revision = re.compile(r"-([^-]+)$"); ################################################################################ # Globals -jennifer_version = "$Revision: 1.56 $"; +jennifer_version = "$Revision: 1.58 $"; Cnf = None; Options = None; @@ -201,7 +201,7 @@ def check_changes(): # Check for mandatory fields for i in ("source", "binary", "architecture", "version", "distribution", - "maintainer", "files", "changes"): + "maintainer", "files", "changes", "description"): if not changes.has_key(i): reject("%s: Missing mandatory field `%s'." % (filename, i)); return 0 # Avoid errors during later tests @@ -230,6 +230,9 @@ def check_changes(): changes["changedbyname"], changes["changedbyemail"]) = \ utils.fix_maintainer (changes.get("changed-by", "")); except utils.ParseMaintError, msg: + (changes["changedby822"], changes["changedby2047"], + changes["changedbyname"], changes["changedbyemail"]) = \ + ("", "", "", "") reject("%s: Changed-By field ('%s') failed to parse: %s" \ % (filename, changes["changed-by"], msg)); @@ -299,7 +302,7 @@ def check_distributions(): # give these as "uploaded-to(non-mapped) suites-to-add-when-upload-obsoletes" # # changes["distribution-version"] looks like: {'testing': 'testing-proposed-updates'} - if args[1] in changes["distribution"]: + if changes["distribution"].has_key(args[1]): changes.setdefault("distribution-version", {}) for suite in args[2:]: changes["distribution-version"][suite]=suite @@ -667,6 +670,7 @@ def check_dsc(): # If there isn't one, we have nothing to do. (We have reject()ed the upload already) if not dsc_filename: + reject("source uploads must contain a dsc file"); return 0; # Parse the .dsc file @@ -1241,7 +1245,7 @@ def main(): # Check that we aren't going to clash with the daily cron job - if not Options["No-Action"] and os.path.exists("%s/Archive_Maintenance_In_Progress" % (Cnf["Dir::Root"])) and not Options["No-Lock"]: + if not Options["No-Action"] and os.path.exists("%s/daily.lock" % (Cnf["Dir::Lock"])) and not Options["No-Lock"]: utils.fubar("Archive maintenance in progress. Try again later."); # Obtain lock if not in no-action mode and initialize the log