linux-image: Add '-unsigned' suffix to packages with modules that will later be signed

This commit is contained in:
Ben Hutchings 2016-06-08 23:31:55 +01:00
parent 5a1dc12690
commit 72f58e83ea
4 changed files with 28 additions and 5 deletions

View File

@ -355,7 +355,10 @@ class Gencontrol(Base):
packages_dummy = []
packages_own = []
image = self.templates["control.image"]
build_signed = config_entry_build.get('signed-modules')
image = self.templates[build_signed and "control.image-unsigned"
or "control.image"]
config_entry_xen = self.config.merge('xen', arch, featureset, flavour)
if config_entry_xen:
@ -370,6 +373,7 @@ class Gencontrol(Base):
image_main = self.process_real_image(image[0], image_fields, vars)
packages_own.append(image_main)
makeflags['IMAGE_PACKAGE_NAME'] = image_main['Package']
packages_own.extend(self.process_packages(image[1:], vars))
package_headers = self.process_package(headers[0], vars)
@ -452,7 +456,7 @@ class Gencontrol(Base):
makeflags['KCONFIG_OPTIONS'] = ''
if build_debug:
makeflags['KCONFIG_OPTIONS'] += ' -o DEBUG_INFO=y'
if config_entry_build.get('signed-modules'):
if build_signed:
makeflags['KCONFIG_OPTIONS'] += ' -o MODULE_SIG=y'
cmds_binary_arch = ["$(MAKE) -f debian/rules.real binary-arch-flavour %s" % makeflags]
@ -473,8 +477,7 @@ class Gencontrol(Base):
(vars['abiname'], vars['localversion']))
for name in ['postinst', 'postrm', 'preinst', 'prerm']:
self._substitute_file('image.%s' % name, vars,
'debian/linux-image-%s%s.%s' %
(vars['abiname'], vars['localversion'], name))
'debian/%s.%s' % (image_main['Package'], name))
if build_debug:
self._substitute_file('image-dbg.lintian-override', vars,
'debian/linux-image-%s%s-dbg.lintian-overrides' %

2
debian/changelog vendored
View File

@ -5,6 +5,8 @@ linux (4.6.1-2) UNRELEASED; urgency=medium
* Move merge_packages function from debian/bin/gencontrol.py to
gencontrol module
* udeb: Drop packages for modules that will later be signed
* linux-image: Add '-unsigned' suffix to packages with modules that will
later be signed
-- Ben Hutchings <ben@decadent.org.uk> Tue, 07 Jun 2016 19:37:55 +0100

10
debian/rules.real vendored
View File

@ -367,7 +367,7 @@ install-support:
+$(MAKE_SELF) install-base
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR): REAL_VERSION = $(ABINAME)$(LOCALVERSION)
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR): PACKAGE_NAME = linux-image-$(REAL_VERSION)
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR): PACKAGE_NAME = $(IMAGE_PACKAGE_NAME)
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR): PACKAGE_DIR = debian/$(PACKAGE_NAME)
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR): INSTALL_DIR = $(PACKAGE_DIR)/boot
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR): DIR = $(BUILD_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)
@ -463,6 +463,14 @@ install-udeb_$(ARCH): DH_OPTIONS=$(PACKAGE_NAMES:%=-p%)
install-udeb_$(ARCH):
dh_testdir
dh_prep
ifeq ($(UDEB_UNSIGNED_TEST_BUILD),True)
# kernel-wedge doesn't expect a -unsigned suffix; work around that for now
while read flavour; do \
rm -f debian/linux-image-$(ABINAME)-$$flavour; \
ln -s linux-image-$(ABINAME)-$$flavour-unsigned \
debian/linux-image-$(ABINAME)-$$flavour; \
done < <(awk '!/^#/ { print $$3 }' $(KW_CONFIG_DIR)/kernel-versions)
endif
kernel-wedge install-files $(ABINAME)
kernel-wedge check $(PACKAGE_NAMES)
dh_fixperms

View File

@ -0,0 +1,10 @@
Package: linux-image-@abiname@@localversion@-unsigned
Build-Profiles: <!stage1>
Depends: kmod, linux-base (>= 4.3~), ${misc:Depends}
Recommends: firmware-linux-free, ${kernel:Recommends}
Suggests: linux-doc-@version@, debian-kernel-handbook
Conflicts: linux-image-@abiname@@localversion@
Replaces: linux-image-@abiname@@localversion@
Provides: linux-image-@abiname@@localversion@
Description: Linux @upstreamversion@ for @class@
The Linux kernel @upstreamversion@ and modules for use on @longclass@.