From e9d239bb02b0e7bea06c01fb3572330620658209 Mon Sep 17 00:00:00 2001 From: Guido Günther Date: Mon, 25 Jun 2012 11:30:25 +0200 Subject: UpstreamSource: automatically detect package name and versions from directories of the form packagename- --- gbp/pkg/__init__.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'gbp/pkg') diff --git a/gbp/pkg/__init__.py b/gbp/pkg/__init__.py index 540c22c..36f7099 100644 --- a/gbp/pkg/__init__.py +++ b/gbp/pkg/__init__.py @@ -265,6 +265,9 @@ class UpstreamSource(object): Guess the package name and version from the filename of an upstream archive. + @param extra_regex: extra regular expression to check + @type extra_regex: raw C{string} + >>> UpstreamSource('foo-bar_0.2.orig.tar.gz').guess_version() ('foo-bar', '0.2') >>> UpstreamSource('foo-Bar_0.2.orig.tar.gz').guess_version() @@ -293,12 +296,16 @@ class UpstreamSource(object): @rtype: tuple """ version_chars = r'[a-zA-Z\d\.\~\-\:\+]' - extensions = r'\.tar\.(%s)' % "|".join(self.known_compressions()) + if self.is_dir(): + extensions = '' + else: + extensions = r'\.tar\.(%s)' % "|".join(self.known_compressions()) version_filters = map ( lambda x: x % (version_chars, extensions), - ( # Debian package_.orig.tar.gz: + ( # Debian upstream tarball: package_'.orig.tar.gz' r'^(?P[a-z\d\.\+\-]+)_(?P%s+)\.orig%s', - # Upstream package-.tar.gz: + # Upstream 'package-.tar.gz' + # or directory 'package-': r'^(?P[a-zA-Z\d\.\+\-]+)-(?P[0-9]%s*)%s')) if extra_regex: version_filters = extra_regex + version_filters -- cgit v1.2.3