diff options
author | Guido Günther <agx@sigxcpu.org> | 2017-09-15 10:29:07 +0200 |
---|---|---|
committer | Guido Günther <agx@sigxcpu.org> | 2017-09-15 12:50:11 +0200 |
commit | 6abb9e8bf06dfc582fa38b1895a47b25b02c55da (patch) | |
tree | a60fb54bdbba0f22e73166024cabf2bea4f4f9ac | |
parent | 65a043dbf8662e465365543711510d02e0c87c21 (diff) |
buildpackage: don't require debian/ prefix for --git-dist=DEP14 to work
-rwxr-xr-x | gbp/scripts/buildpackage.py | 14 | ||||
-rw-r--r-- | tests/22_test_gbp_buildpackage.py | 15 |
2 files changed, 21 insertions, 8 deletions
diff --git a/gbp/scripts/buildpackage.py b/gbp/scripts/buildpackage.py index 1517b4b3..78d32941 100755 --- a/gbp/scripts/buildpackage.py +++ b/gbp/scripts/buildpackage.py @@ -199,6 +199,7 @@ def get_pbuilder_dist(options, repo, native=False): """ Determin the dist to build for with pbuilder/cowbuilder """ + dist = None if options.pbuilder_dist == 'DEP14': vendor = du.get_vendor().lower() branch = repo.branch @@ -206,15 +207,20 @@ def get_pbuilder_dist(options, repo, native=False): raise GbpError("Failed to setup DIST for %s. " "Can't determine current branch." % options.builder) parts = branch.rsplit('/') - if len(parts) == 2: + if len(parts) == 2: # e.g. debian/stretch suite = parts[1] if vendor == parts[0]: dist = '' if suite in ['sid', 'master'] else suite else: dist = '%s_%s' % (parts[0], suite) - elif len(parts) == 1 and native and branch in ['master', 'sid']: - dist = '' - else: + # Branches in Debian often omit the debian/ prefix + elif len(parts) == 1 and vendor.lower() == "debian": + if branch in ['master', 'sid']: + dist = '' + elif branch in du.Releases: + dist = branch + + if dist is None: raise GbpError("DEP14 DIST: Current branch '%s' does not match vendor/suite" % branch) else: dist = options.pbuilder_dist diff --git a/tests/22_test_gbp_buildpackage.py b/tests/22_test_gbp_buildpackage.py index 35f95700..9f7eca6a 100644 --- a/tests/22_test_gbp_buildpackage.py +++ b/tests/22_test_gbp_buildpackage.py @@ -69,13 +69,20 @@ class TestGbpBuildpackageDep14(DebianGitTestRepo): self.assertEqual(get_pbuilder_dist(self.options, self.repo), 'downstream_mies-lts') @patch('gbp.deb.get_vendor', return_value='Debian') - def test_get_pbuilder_dist_dep14_no_vendor(self, patch): + def test_get_pbuilder_dist_dep14_no_vendor_sid(self, patch): branch = 'sid' self.repo.create_branch(branch) self.repo.set_branch(branch) - with self.assertRaisesRegexp(GbpError, - "DEP14 DIST: Current branch 'sid' does not match vendor/suite"): - get_pbuilder_dist(self.options, self.repo) + self.assertEqual(get_pbuilder_dist(self.options, self.repo), '') + patch.assert_called_once_with() + + @patch('gbp.deb.get_vendor', return_value='Debian') + def test_get_pbuilder_dist_dep14_no_vendor(self, patch): + branch = 'wheezy' + self.repo.create_branch(branch) + self.repo.set_branch(branch) + self.assertEqual(get_pbuilder_dist(self.options, self.repo), 'wheezy') + patch.assert_called_once_with() def test_get_pbuilder_dist_dep14_too_many_slashes(self): branch = 'too/many/slashes' |