From: Anthony Towns Date: Sat, 29 Jul 2006 18:00:08 +0000 (-0700) Subject: merge with mainline X-Git-Url: https://git.decadent.org.uk/gitweb/?a=commitdiff_plain;h=5bc1925a3750cbafc82703c60c5106686c8c7af4;hp=-c;p=dak.git merge with mainline --- 5bc1925a3750cbafc82703c60c5106686c8c7af4 diff --combined dak/process_unchecked.py index 8a92e878,cf603124..3b85d605 --- a/dak/process_unchecked.py +++ b/dak/process_unchecked.py @@@ -39,11 -39,10 +39,11 @@@ from types import ################################################################################ - re_valid_version = re.compile(r"^([0-9]+:)?[0-9A-Za-z\.\-\+:]+$") + re_valid_version = re.compile(r"^([0-9]+:)?[0-9A-Za-z\.\-\+:~]+$") re_valid_pkg_name = re.compile(r"^[\dA-Za-z][\dA-Za-z\+\-\.]+$") re_changelog_versions = re.compile(r"^\w[-+0-9a-z.]+ \([^\(\) \t]+\)") re_strip_revision = re.compile(r"-([^-]+)$") +re_strip_srcver = re.compile(r"\s+\(\S+\)$") ################################################################################ @@@ -203,14 -202,6 +203,14 @@@ def check_changes() reject("%s: Missing mandatory field `%s'." % (filename, i)) return 0 # Avoid errors during later tests + # Strip a source version in brackets from the source field + if re_strip_srcver.search(changes["source"]): + changes["source"] = re_strip_srcver.sub('', changes["source"]) + + # Ensure the source field is a valid package name. + if not re_valid_pkg_name.match(changes["source"]): + reject("%s: invalid source name '%s'." % (filename, changes["source"])) + # Split multi-value fields into a lower-level dictionary for i in ("architecture", "distribution", "binary", "closes"): o = changes.get(i, "") @@@ -540,11 -531,10 +540,11 @@@ def check_files() files[file]["new"] = 1 else: dsc_file_exists = 0 - for myq in ["Accepted", "Embargoed", "Unembargoed"]: - if os.path.exists(Cnf["Dir::Queue::"+myq] + '/' + dsc_filename): - dsc_file_exists = 1 - break + for myq in ["Accepted", "Embargoed", "Unembargoed", "ProposedUpdates"]: + if Cnf.has_key("Dir::Queue::%s" % (myq)): + if os.path.exists(Cnf["Dir::Queue::"+myq] + '/' + dsc_filename): + dsc_file_exists = 1 + break if not dsc_file_exists: reject("no source found for %s %s (%s)." % (source_package, source_version, file)) # Check the version and for file overwrites