summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGuido Günther <agx@sigxcpu.org>2010-01-25 20:59:18 +0100
committerGuido Günther <agx@sigxcpu.org>2010-01-25 21:02:21 +0100
commitea6311eed38688ce0a2aac0f6b1c041ba6ef6923 (patch)
tree49778b5d01c91e4a1bfd81b9e061ec1edcfbd10b
parent34c1c43672f2b08864fe1fce04aae562772da5af (diff)
DscFile: Parse name of debian.tar.gz
-rw-r--r--gbp/deb.py17
1 files changed, 12 insertions, 5 deletions
diff --git a/gbp/deb.py b/gbp/deb.py
index ac331198..e13aff52 100644
--- a/gbp/deb.py
+++ b/gbp/deb.py
@@ -34,16 +34,19 @@ class ParseChangeLogError(Exception):
class DscFile(object):
"""Keeps all needed data read from a dscfile"""
- pkg_re = re.compile('Source:\s+(?P<pkg>.+)\s*')
- version_re = re.compile("Version:\s((?P<epoch>\d+)\:)?(?P<version>[%s]+)\s*$" % debian_version_chars)
- tar_re = re.compile('^\s\w+\s\d+\s+(?P<tar>[^_]+_[^_]+(\.orig)?\.tar\.(gz|bz2))')
- diff_re = re.compile('^\s\w+\s\d+\s+(?P<diff>[^_]+_[^_]+\.diff.(gz|bz2))')
- format_re = re.compile('Format:\s+(?P<format>[0-9.]+)\s*')
+ compressions = r"(gz|bz2)"
+ pkg_re = re.compile(r'Source:\s+(?P<pkg>.+)\s*')
+ version_re = re.compile(r'Version:\s((?P<epoch>\d+)\:)?(?P<version>[%s]+)\s*$' % debian_version_chars)
+ tar_re = re.compile(r'^\s\w+\s\d+\s+(?P<tar>[^_]+_[^_]+(\.orig)?\.tar\.%s)' % compressions)
+ diff_re = re.compile(r'^\s\w+\s\d+\s+(?P<diff>[^_]+_[^_]+\.diff.(gz|bz2))')
+ deb_tgz_re = re.compile(r'^\s\w+\s\d+\s+(?P<deb_tgz>[^_]+_[^_]+\.debian.tar.%s)' % compressions)
+ format_re = re.compile(r'Format:\s+(?P<format>[0-9.]+)\s*')
def __init__(self, dscfile):
self.pkg = ""
self.tgz = ""
self.diff = ""
+ self.deb_tgz = ""
self.pkgformat = "1.0"
self.debian_version = ""
self.upstream_version = ""
@@ -71,6 +74,10 @@ class DscFile(object):
if m:
self.pkg = m.group('pkg')
continue
+ m = self.deb_tgz_re.match(line)
+ if m:
+ self.deb_tgz = os.path.join(fromdir, m.group('deb_tgz'))
+ continue
m = self.tar_re.match(line)
if m:
self.tgz = os.path.join(fromdir, m.group('tar'))