From: Joerg Jaspert Date: Thu, 17 Apr 2008 22:02:07 +0000 (+0200) Subject: Also check for invalid package list indentation X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e7b604956c0fc743453ff141d267a66850937dde;p=dak Also check for invalid package list indentation --- diff --git a/ChangeLog b/ChangeLog index f09a1b02..d6681b8b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-04-18 Joerg Jaspert + + * dak/transitions.py (load_transitions): Additionally check for + invalid package list indentation + 2008-04-17 Joerg Jaspert * config/debian/dak.conf: Add TempPath statement for the Release diff --git a/dak/transitions.py b/dak/transitions.py index 530ef0c8..fb72777e 100755 --- a/dak/transitions.py +++ b/dak/transitions.py @@ -23,7 +23,7 @@ ################################################################################ -import os, pg, sys, time, errno, fcntl, tempfile, pwd +import os, pg, sys, time, errno, fcntl, tempfile, pwd, re import apt_pkg import daklib.database import daklib.utils @@ -34,6 +34,8 @@ Cnf = None Options = None projectB = None +re_broken_package = re.compile(r"[a-zA-Z]\w+\s+\-.*") + ################################################################################ ##################################### @@ -125,12 +127,17 @@ def load_transitions(trans_file): if type(t[key]) != list: print "ERROR: Unknown type %s for packages in transition %s." % (type(t[key]), test) failure = True - + if re_broken_package.match(key): + # Someone had a space too much (or not enough), we have something looking like + # "package1 - package2" now. + print "ERROR: Invalid indentation of package list in transition %s, around package(s): %s" % (test, key) + failure = True try: for package in t["packages"]: if type(package) != str: print "ERROR: Packages list contains invalid type %s (as %s) in transition %s" % (type(package), package, test) failure = True + if except TypeError: # In case someone has an empty packages list print "ERROR: No packages defined in transition %s" % (test)