[PATCH 2/2] UBUNTU: [Packaging] correctly implement noudeb build profiles.

Dimitri John Ledkov xnox at ubuntu.com
Fri Feb 19 00:26:05 UTC 2021


When building under either of stage1, noudeb, cross or autopkgtest
profiles udeb packages are not desired. Stop generating them, and drop
build-dependencies that are used just to create udebs.

Also note that dpkg in hirsute and up automatically buidlds packages
with a noudeb profile, thus hirsute+ builds will be now much faster.

This is a correct and backwards compatibles support for build profiles
and can be backported to any prior release, where by default packages
will be build with udebs.

BugLink: https://bugs.launchpad.net/bugs/1916095
Signed-off-by: Dimitri John Ledkov <xnox at ubuntu.com>
---
 debian.master/control.d/flavour-control.stub | 2 +-
 debian.master/control.stub.in                | 4 ++--
 debian/rules                                 | 5 +++++
 3 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/debian.master/control.d/flavour-control.stub b/debian.master/control.d/flavour-control.stub
index 17be49dbd..df6377ce1 100644
--- a/debian.master/control.d/flavour-control.stub
+++ b/debian.master/control.d/flavour-control.stub
@@ -141,7 +141,7 @@ Description: Linux kernel version specific cloud tools for version PKGVER-ABINUM
  =HUMAN=.
 
 Package: SRCPKGNAME-udebs-FLAVOUR
-Build-Profiles: <!stage1>
+Build-Profiles: <!stage1> <!noudeb> <!cross> <!autopkgtest>
 XC-Package-Type: udeb
 Section: debian-installer
 Architecture: ARCH
diff --git a/debian.master/control.stub.in b/debian.master/control.stub.in
index cae6f6783..1c1ee8857 100644
--- a/debian.master/control.stub.in
+++ b/debian.master/control.stub.in
@@ -7,8 +7,8 @@ Build-Depends:
  debhelper-compat (= 10),
  dh-systemd,
  cpio,
- kernel-wedge,
- dctrl-tools,
+ kernel-wedge <!stage1> <!noudeb> <!cross> <!autopkgtest>,
+ dctrl-tools <!stage1> <!noudeb> <!cross> <!autopkgtest>,
  kmod <!stage1>,
  makedumpfile [amd64] <!stage1>,
  libcap-dev <!stage1>,
diff --git a/debian/rules b/debian/rules
index ceffe36be..bedcd4f60 100755
--- a/debian/rules
+++ b/debian/rules
@@ -39,6 +39,9 @@ do_tools_common?=true
 do_tools_host?=false
 do_tools_perf_jvmti?=false
 do_enforce_all?=false
+ifneq ($(filter noudeb,$(DEB_BUILD_PROFILES)),)
+disable_d_i=true
+endif
 
 # Don't build tools or udebs in a cross compile environment.
 ifneq ($(DEB_HOST_ARCH),$(DEB_BUILD_ARCH))
@@ -220,6 +223,7 @@ $(DEBIAN)/control.stub: 				\
 debian/control: $(DEBIAN)/control.stub
 	echo "# placebo control.stub for kernel-wedge flow change" >debian/control.stub
 	cp $(DEBIAN)/control.stub debian/control
+ifeq ($(disable_d_i),)
 	# start new paragraph in debian/control
 	echo >> debian/control
 	# append udeb packages
@@ -228,6 +232,7 @@ debian/control: $(DEBIAN)/control.stub
 	LANG=C kernel-wedge gen-control $(release)-$(abinum) | \
 		grep-dctrl -FArchitecture $(arch) \
 		>>$(CURDIR)/debian/control
+endif
 
 debian/canonical-certs.pem: $(wildcard $(DROOT)/certs/*-all.pem) $(wildcard $(DROOT)/certs/*-$(arch).pem) $(wildcard $(DEBIAN)/certs/*-all.pem) $(wildcard $(DEBIAN)/certs/*-$(arch).pem)
 	for cert in $(sort $(notdir $^));					\
-- 
2.27.0




More information about the kernel-team mailing list