[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