scripts/package/debian/rules | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
The bindeb-pkg target generates a number of individual packages:
the kernel package itself, the debug package, the kernel and libc
header packages.
It is at times useful to not generate all the packages, such as
the debug package, even if the kernel configuration has CONFIG_DEBUG.
For this purpose, let the user provide a DEB_EXCLUDE_PKG environment
variable that can contain exclusion patterns for some of the build
artefacts. This saves precious cycles when repeatedly building packages
for testing purposes, where not all packages are strictly necessary.
The default behaviour, with no variable defined, is of course unchanged.
Signed-off-by: Marc Zyngier <maz@kernel.org>
---
scripts/package/debian/rules | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/scripts/package/debian/rules b/scripts/package/debian/rules
index a417a7f8bbc1a..cc5ebb8a37e1a 100755
--- a/scripts/package/debian/rules
+++ b/scripts/package/debian/rules
@@ -29,7 +29,12 @@ make-opts = ARCH=$(ARCH) KERNELRELEASE=$(KERNELRELEASE) \
binary-targets := $(addprefix binary-, image image-dbg headers libc-dev)
-all-packages = $(shell dh_listpackages)
+# DEB_EXCLUDE_PKG excludes a list of packages from the set that would
+# normally be produced. Can be either explicit package names or patterns.
+# For example:
+# DEB_EXCLUDE_PKG="linux-headers-% linux-libc-dev linux-image-%-dbg"
+# limits the packages to the linux-image package.
+all-packages = $(filter-out $(DEB_EXCLUDE_PKG), $(shell dh_listpackages))
image-package = $(filter linux-image-% user-%, $(filter-out %-dbg, $(all-packages)))
image-dbg-package = $(filter %-dbg, $(all-packages))
libc-dev-package = $(filter linux-libc-dev, $(all-packages))
--
2.47.3
On Sun, Nov 23, 2025 at 06:36:47PM +0000, Marc Zyngier wrote:
> The bindeb-pkg target generates a number of individual packages:
> the kernel package itself, the debug package, the kernel and libc
> header packages.
>
> It is at times useful to not generate all the packages, such as
> the debug package, even if the kernel configuration has CONFIG_DEBUG.
>
> For this purpose, let the user provide a DEB_EXCLUDE_PKG environment
> variable that can contain exclusion patterns for some of the build
> artefacts. This saves precious cycles when repeatedly building packages
> for testing purposes, where not all packages are strictly necessary.
>
> The default behaviour, with no variable defined, is of course unchanged.
>
> Signed-off-by: Marc Zyngier <maz@kernel.org>
> ---
thanks for your suggestion. Could you please check whether the usual
Debian build profiles are sufficient for your needs, e.g.:
DEB_BUILD_PROFILES="pkg.linux-upstream.nokernelheaders pkg.linux-upstream.nokerneldbg" make bindeb-pkg
I do like that we have the Debian build profiles [1] mechanism here, and
would rather extend it, if neccessary, instead of implementing a
different approach additionally.
Kind regards,
Nicolas
[1]: https://wiki.debian.org/BuildProfileSpec
On Sun, 23 Nov 2025 20:34:23 +0000,
Nicolas Schier <nsc@kernel.org> wrote:
>
> On Sun, Nov 23, 2025 at 06:36:47PM +0000, Marc Zyngier wrote:
> > The bindeb-pkg target generates a number of individual packages:
> > the kernel package itself, the debug package, the kernel and libc
> > header packages.
> >
> > It is at times useful to not generate all the packages, such as
> > the debug package, even if the kernel configuration has CONFIG_DEBUG.
> >
> > For this purpose, let the user provide a DEB_EXCLUDE_PKG environment
> > variable that can contain exclusion patterns for some of the build
> > artefacts. This saves precious cycles when repeatedly building packages
> > for testing purposes, where not all packages are strictly necessary.
> >
> > The default behaviour, with no variable defined, is of course unchanged.
> >
> > Signed-off-by: Marc Zyngier <maz@kernel.org>
> > ---
>
> thanks for your suggestion. Could you please check whether the usual
> Debian build profiles are sufficient for your needs, e.g.:
>
> DEB_BUILD_PROFILES="pkg.linux-upstream.nokernelheaders pkg.linux-upstream.nokerneldbg" make bindeb-pkg
>
> I do like that we have the Debian build profiles [1] mechanism here, and
> would rather extend it, if neccessary, instead of implementing a
> different approach additionally.
Ah, amazing!
I had no idea this was even a thing, and 2ad7126c51908 ("kbuild:
deb-pkg: add pkg.linux-upstream.nokerneldbg build profile") is exactly
what I needed,
Many thanks for pointing this out, my patch can therefore be safely
ignored.
Cheers,
M.
--
Jazz isn't dead. It just smells funny.
© 2016 - 2025 Red Hat, Inc.