Use a dummy build profile for udebs that we test-build before signing

debhelper no longer fully trusts the package list specified with -p,
but only processes packages that are listed in debian/control and
enabled in the current build profile.  This breaks the test build of
udebs that we build for real after code signing.

Work around this by adding the udebs to the control file, conditional
on a new build profile (pkg.linux.udeb-unsigned-test-build).  Override
the build profile during the test build.
This commit is contained in:
Ben Hutchings 2018-04-06 22:14:14 +02:00
parent be394a26da
commit 3b3e6ad4cb
3 changed files with 16 additions and 6 deletions

View File

@ -244,16 +244,22 @@ class Gencontrol(Base):
raise RuntimeError('kernel-wedge exited with code %d' %
kw_proc.returncode)
# kernel-wedge currently chokes on Build-Profiles so add it now
for package in udeb_packages:
package['Build-Profiles'] = '<!stage1>'
# If we're going to build signed udebs later, don't actually
# generate udebs. Just test that we *can* build, so we find
# configuration errors before building linux-signed.
if not build_signed:
merge_packages(packages, udeb_packages, arch)
# kernel-wedge currently chokes on Build-Profiles so add it now
for package in udeb_packages:
if build_signed:
# XXX This is a hack to exclude the udebs from
# the package list while still being able to
# convince debhelper and kernel-wedge to go
# part way to building them.
package['Build-Profiles'] = '<pkg.linux.udeb-unsigned-test-build>'
else:
package['Build-Profiles'] = '<!stage1>'
merge_packages(packages, udeb_packages, arch)
# These packages must be built after the per-flavour/
# per-featureset packages. Also, this won't work

1
debian/changelog vendored
View File

@ -51,6 +51,7 @@ linux (4.16-1~exp1) UNRELEASED; urgency=medium
changelog
* debian/rules.d/tools/lib/lockdep/Makefile: Fix repeated 'make install'
* Add template source package to support code signing
* Use a dummy build profile for udebs that we test-build before signing
-- Roger Shimizu <rogershimizu@gmail.com> Fri, 23 Mar 2018 21:10:34 +0900

3
debian/rules.real vendored
View File

@ -518,6 +518,9 @@ install-signed-template_$(ARCH):
install-udeb_$(ARCH): export KW_DEFCONFIG_DIR=debian/installer
install-udeb_$(ARCH): export KW_CONFIG_DIR=debian/installer/$(ARCH)
install-udeb_$(ARCH): DH_OPTIONS=$(PACKAGE_NAMES:%=-p%)
ifeq ($(UDEB_UNSIGNED_TEST_BUILD),True)
install-udeb_$(ARCH): export DEB_BUILD_PROFILES=pkg.linux.udeb-unsigned-test-build
endif
install-udeb_$(ARCH):
dh_testdir
dh_prep