From: Joerg Jaspert Date: Sat, 19 Apr 2008 23:40:43 +0000 (+0000) Subject: Merge X-Git-Url: https://git.decadent.org.uk/gitweb/?a=commitdiff_plain;h=81fafae5d871ba153e0cd9120da00eb9b470f534;hp=c6525d064bc307ca6f22df90aeae42a2f3c7b1ed;p=dak.git Merge --- diff --git a/ChangeLog b/ChangeLog index 65e898eb..fb4b205b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-04-20 Thomas Viehmann + + * daklib/utils.py (build_file_list): Deal with "Format 3 style" + Format lines (ie. those having extra text appended). + 2008-04-18 Joerg Jaspert * config/debian/dak.conf: Add mapping stable-proposed-updates diff --git a/daklib/utils.py b/daklib/utils.py index 8b80f246..16cc1ff1 100755 --- a/daklib/utils.py +++ b/daklib/utils.py @@ -43,6 +43,7 @@ re_taint_free = re.compile(r"^[-+~/\.\w]+$") re_parse_maintainer = re.compile(r"^\s*(\S.*\S)\s*\<([^\>]+)\>") re_srchasver = re.compile(r"^(\S+)\s+\((\S+)\)$") +re_verwithext = re.compile(r"^(\d+)(?:\.(\d+))(?:\s+\((\S+)\))?$") changes_parse_error_exc = "Can't parse line in .changes file" invalid_dsc_format_exc = "Invalid .dsc file" @@ -237,11 +238,17 @@ def build_file_list(changes, is_a_dsc=0, field="files", hashname="md5sum"): raise no_files_exc # Make sure we recognise the format of the Files: field - format = changes.get("format", "0.0").split(".",1) - if len(format) == 2: - format = int(format[0]), int(format[1]) + format = re_verwithext.search(changes.get("format", "0.0")) + if not format: + raise nk_format_exc, "%s" % (changes.get("format","0.0")) + + format = format.groups() + if format[1] == None: + format = int(float(format[0])), 0, format[2] else: - format = int(float(format[0])), 0 + format = int(format[0]), int(format[1]), format[2] + if format[2] == None: + format = format[:2] if is_a_dsc: if format != (1,0):