summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGuido Günther <agx@sigxcpu.org>2017-02-14 07:58:12 +0100
committerGuido Günther <agx@sigxcpu.org>2017-02-14 07:58:12 +0100
commit0e6e23e78a32ee614a5412ebdbe3d05a30c49c97 (patch)
treeffe116ad6cdeea181732673133f6fd42f300e566
parent0146f4b452c535e4f81a4ba7e9b90a33c6d6d0b1 (diff)
Improve error message for non-native packages with broken version numbers
Closes: #824634
-rwxr-xr-xgbp/scripts/buildpackage.py4
-rw-r--r--tests/component/deb/test_buildpackage.py15
2 files changed, 19 insertions, 0 deletions
diff --git a/gbp/scripts/buildpackage.py b/gbp/scripts/buildpackage.py
index 3cb49f01..e14122a5 100755
--- a/gbp/scripts/buildpackage.py
+++ b/gbp/scripts/buildpackage.py
@@ -86,6 +86,10 @@ def prepare_upstream_tarball(repo, source, options, tarball_dir, output_dir):
Make sure we have an upstream tarball. This involves loooking in
tarball_dir, symlinking or building it.
"""
+ if not source.is_native() and not source.upstream_version:
+ raise GbpError("Non-native package '%s' "
+ "has invalid version '%s'" % (source.name, source.version))
+
options.comp_type = guess_comp_type(repo,
options.comp_type,
source,
diff --git a/tests/component/deb/test_buildpackage.py b/tests/component/deb/test_buildpackage.py
index 1f846fde..037a7272 100644
--- a/tests/component/deb/test_buildpackage.py
+++ b/tests/component/deb/test_buildpackage.py
@@ -31,6 +31,8 @@ from gbp.scripts.import_dsc import main as import_dsc
from gbp.scripts.buildpackage import main as buildpackage
from gbp.scripts.pq import main as pq
+from gbp.deb.changelog import ChangeLog
+
class TestBuildpackage(ComponentTestBase):
"""Test building a debian package"""
@@ -196,3 +198,16 @@ class TestBuildpackage(ComponentTestBase):
eq_(ret, 0)
eq_(repo.branch, 'patch-queue/master')
eq_(repo.rev_parse('patch-queue/master^{}^'), repo.rev_parse('debian/2.8-1^{}'))
+
+ @RepoFixtures.quilt30()
+ def test_broken_upstream_version(self, repo):
+ cl = ChangeLog(filename='debian/changelog')
+ cl.add_section(["broken versionnumber"],
+ "unstable",
+ version={'version': "3.0"})
+ ret = buildpackage(['argv0',
+ '--git-ignore-new',
+ '--git-builder=/bin/true',
+ '--git-tarball-dir=../tarballs'])
+ eq_(ret, 1)
+ self._check_log(-1, "gbp:error: Non-native package 'hello-debhelper' has invalid version '3.0'")