diff options
author | Guido Günther <agx@sigxcpu.org> | 2017-02-14 07:58:12 +0100 |
---|---|---|
committer | Guido Günther <agx@sigxcpu.org> | 2017-02-14 07:58:12 +0100 |
commit | 0e6e23e78a32ee614a5412ebdbe3d05a30c49c97 (patch) | |
tree | ffe116ad6cdeea181732673133f6fd42f300e566 | |
parent | 0146f4b452c535e4f81a4ba7e9b90a33c6d6d0b1 (diff) |
Improve error message for non-native packages with broken version numbers
Closes: #824634
-rwxr-xr-x | gbp/scripts/buildpackage.py | 4 | ||||
-rw-r--r-- | tests/component/deb/test_buildpackage.py | 15 |
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'") |