diff --git a/debian/bin/gencontrol.py b/debian/bin/gencontrol.py index 7361f22c2..70be65d1f 100755 --- a/debian/bin/gencontrol.py +++ b/debian/bin/gencontrol.py @@ -136,7 +136,10 @@ class Gencontrol(Base): ["$(MAKE) -f debian/rules.real install-libc-dev_%s %s" % (arch, makeflags)]) - if os.getenv('DEBIAN_KERNEL_DISABLE_INSTALLER'): + if self.version.linux_revision_backports: + # Installer is not (currently) built from backports + pass + elif os.getenv('DEBIAN_KERNEL_DISABLE_INSTALLER'): if self.changelog[0].distribution == 'UNRELEASED': import warnings warnings.warn(u'Disable installer modules on request (DEBIAN_KERNEL_DISABLE_INSTALLER set)') @@ -421,13 +424,18 @@ class Gencontrol(Base): distribution = self.changelog[0].distribution if distribution in ('unstable', ): if (version.linux_revision_experimental or - version.linux_revision_other): + version.linux_revision_backports or + version.linux_revision_other): raise RuntimeError("Can't upload to %s with a version of %s" % (distribution, version)) if distribution in ('experimental', ): if not version.linux_revision_experimental: raise RuntimeError("Can't upload to %s with a version of %s" % (distribution, version)) + if distribution.endswith('-backports'): + if not version.linux_revision_backports: + raise RuntimeError("Can't upload to %s with a version of %s" % + (distribution, version)) def process_real_image(self, entry, fields, vars): entry = self.process_package(entry, vars) diff --git a/debian/lib/python/debian_linux/debian.py b/debian/lib/python/debian_linux/debian.py index 3950af9a1..120f2e4b8 100644 --- a/debian/lib/python/debian_linux/debian.py +++ b/debian/lib/python/debian_linux/debian.py @@ -136,6 +136,10 @@ class VersionLinux(Version): ~exp\d+ ) | + (?P + ~bpo\d\d\+\d+ + ) + | (?P [^-]+ ) @@ -160,6 +164,7 @@ $ self.linux_upstream_full = self.linux_upstream + (d['update'] or u'') self.linux_dfsg = d['dfsg'] self.linux_revision_experimental = match.group('revision_experimental') and True + self.linux_revision_backports = match.group('revision_backports') and True self.linux_revision_other = match.group('revision_other') and True