summaryrefslogtreecommitdiffhomepage
path: root/gbp
diff options
context:
space:
mode:
authorGuido Günther <agx@sigxcpu.org>2016-06-30 10:57:43 +0200
committerGuido Günther <agx@sigxcpu.org>2016-06-30 11:17:55 +0200
commit7a6641a7b417abeca9cad41538103cbd0f251db8 (patch)
tree3c28a77b04544843490ae862d76b109bdea27d1c /gbp
parent4e9479d508a69cef1c3ac3313c0a2239b3e1f835 (diff)
import-dsc: Don't fail on 1.0 non-native packages without a Debian version
Closes: #829070
Diffstat (limited to 'gbp')
-rw-r--r--gbp/deb/dscfile.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/gbp/deb/dscfile.py b/gbp/deb/dscfile.py
index 16133b44..e64cf565 100644
--- a/gbp/deb/dscfile.py
+++ b/gbp/deb/dscfile.py
@@ -97,14 +97,19 @@ class DscFile(object):
continue
f.close()
+ # Source format 1.0 can have non-native packages without a Debian revision:
+ # e.g. http://snapshot.debian.org/archive/debian/20090801T192339Z/pool/main/l/latencytop/latencytop_0.5.dsc
+ if self.pkgformat == "1.0" and self.diff:
+ self.native = False
+ elif not self.native and not self.debian_version:
+ raise GbpError("Cannot parse Debian version number from '%s'" % self.dscfile)
+
if not self.pkg:
raise GbpError("Cannot parse package name from '%s'" % self.dscfile)
elif not self.tgz:
raise GbpError("Cannot parse archive name from '%s'" % self.dscfile)
if not self.upstream_version:
raise GbpError("Cannot parse version number from '%s'" % self.dscfile)
- if not self.native and not self.debian_version:
- raise GbpError("Cannot parse Debian version number from '%s'" % self.dscfile)
self.additional_tarballs = dict(add_tars)
def _get_version(self):
@@ -112,7 +117,10 @@ class DscFile(object):
if self.native:
version += self.upstream_version
else:
- version += "%s-%s" % (self.upstream_version, self.debian_version)
+ if self.debian_version != '':
+ version += "%s-%s" % (self.upstream_version, self.debian_version)
+ else: # possible in 1.0
+ version += "%s" % self.upstream_version
return version
version = property(_get_version)