Introduce a new variable, PACMAN_EXTRAPACKAGES, in the Makefile.package to control the creation of additional packages by the pacman-pkg target. This changes the behavior of the pacman-pkg target to only create the main kernel package by default. The rest of the packages will be opt-in going forward. In a previous patch, there was concern that adding a new debug package would increase the package time. To address this concern and provide more flexibility, this change has been added to allow users to decide which extra packages to include before introducing an optional debug package [1]. [1] https://lore.kernel.org/lkml/20240801192008.GA3923315@thelio-3990X/T/ Signed-off-by: Jose Fernandez <jose.fernandez@xxxxxxxxx> Reviewed-by: Peter Jung <ptr1337@xxxxxxxxxxx> --- scripts/Makefile.package | 5 +++++ scripts/package/PKGBUILD | 11 ++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/scripts/Makefile.package b/scripts/Makefile.package index 4a80584ec771..146e828cb4f1 100644 --- a/scripts/Makefile.package +++ b/scripts/Makefile.package @@ -144,6 +144,10 @@ snap-pkg: # pacman-pkg # --------------------------------------------------------------------------- +# Space-separated list of extra packages to build +# The available extra packages are: headers api-headers +PACMAN_EXTRAPACKAGES ?= + PHONY += pacman-pkg pacman-pkg: @ln -srf $(srctree)/scripts/package/PKGBUILD $(objtree)/PKGBUILD @@ -152,6 +156,7 @@ pacman-pkg: CARCH="$(UTS_MACHINE)" \ KBUILD_MAKEFLAGS="$(MAKEFLAGS)" \ KBUILD_REVISION="$(shell $(srctree)/scripts/build-version)" \ + PACMAN_EXTRAPACKAGES="$(PACMAN_EXTRAPACKAGES)" \ makepkg $(MAKEPKGOPTS) # dir-pkg tar*-pkg - tarball targets diff --git a/scripts/package/PKGBUILD b/scripts/package/PKGBUILD index 663ce300dd06..41bd0d387f0a 100644 --- a/scripts/package/PKGBUILD +++ b/scripts/package/PKGBUILD @@ -3,10 +3,15 @@ # Contributor: Jan Alexander Steffens (heftig) <heftig@xxxxxxxxxxxxx> pkgbase=${PACMAN_PKGBASE:-linux-upstream} -pkgname=("${pkgbase}" "${pkgbase}-api-headers") -if grep -q CONFIG_MODULES=y include/config/auto.conf; then - pkgname+=("${pkgbase}-headers") +pkgname=("${pkgbase}") + +_extrapackages=${PACMAN_EXTRAPACKAGES:-} +if [ -n "$_extrapackages" ]; then + for pkg in $_extrapackages; do + pkgname+=("${pkgbase}-$pkg") + done fi + pkgver="${KERNELRELEASE//-/_}" # The PKGBUILD is evaluated multiple times. # Running scripts/build-version from here would introduce inconsistencies. -- 2.46.0