[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[dak/master] Correct regex for 822 value fields that begin with a colon character

Previously, we parsed "colon: :" => ("colon:", "") and "lol: :lol" =>
("lol:", "lol"). This commit changes these parses to ("colon", "") and
("lol", ":lol") respectfully.

Fields starting with colons can happen with values containing CVS
locations. eg:

  Vcs-Cvs: :ext:_anoncvs@anoncvs.mirbsd.org:/cvs contrib/hosted/tg/deb/makefs

(from /srv/ftp.debian.org/queue/new/makefs_20090808-1.dsc)

This is causing a traceback when examining this package as the regex to
strip the keys in read_changes_or_dsc(..) works differently to this one.

Signed-off-by: Chris Lamb <lamby@debian.org>
 daklib/regexes.py |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/daklib/regexes.py b/daklib/regexes.py
index 6fd0c81..d1f0d38 100755
--- a/daklib/regexes.py
+++ b/daklib/regexes.py
@@ -44,7 +44,7 @@ re_isadeb = re.compile (r"(.+?)_(.+?)_(.+)\.u?deb$")
 re_issource = re.compile (r"(.+)_(.+?)\.(orig\.tar\.gz|diff\.gz|tar\.gz|dsc)$")
-re_single_line_field = re.compile(r"^(\S*)\s*:\s*(.*)")
+re_single_line_field = re.compile(r"^(\S*?)\s*:\s*(.*)")
 re_multi_line_field = re.compile(r"^\s(.*)")
 re_taint_free = re.compile(r"^[-+~/\.\w]+$")

Reply to: