Introduce a new variable, PACMAN_EXTRAPACKAGES, in the Makefile.package to control the creation of additional packages by the pacman-pkg target. The headers and api-headers packages will be included by default if PACMAN_EXTRAPACKAGES is not set. This changes the previous behavior where api-headers was always included, and headers was conditionally included if CONFIG_MODULES=y. Now, this decision is delegated to the user. To disable extra packages, set PACMAN_EXTRAPACKAGES to an empty value: make pacman-pkg PACMAN_EXTRAPACKAGES= or make pacman-pkg PACMAN_EXTRAPACKAGES="" Signed-off-by: Jose Fernandez <jose.fernandez@xxxxxxxxx> Reviewed-by: Peter Jung <ptr1337@xxxxxxxxxxx> --- v1 -> v2: Build all extra packages by default. Remove unnecessary lines. 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/ scripts/Makefile.package | 2 ++ scripts/package/PKGBUILD | 11 +++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/scripts/Makefile.package b/scripts/Makefile.package index 4a80584ec771..ccdf8ba41f0b 100644 --- a/scripts/Makefile.package +++ b/scripts/Makefile.package @@ -144,6 +144,8 @@ snap-pkg: # pacman-pkg # --------------------------------------------------------------------------- +PACMAN_EXTRAPACKAGES ?= headers api-headers + PHONY += pacman-pkg pacman-pkg: @ln -srf $(srctree)/scripts/package/PKGBUILD $(objtree)/PKGBUILD diff --git a/scripts/package/PKGBUILD b/scripts/package/PKGBUILD index 663ce300dd06..8de869f9b1d4 100644 --- a/scripts/package/PKGBUILD +++ b/scripts/package/PKGBUILD @@ -3,10 +3,13 @@ # 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") -fi +pkgname=("${pkgbase}") + +_extrapackages=${PACMAN_EXTRAPACKAGES:-} +for pkg in $_extrapackages; do + pkgname+=("${pkgbase}-${pkg}") +done + pkgver="${KERNELRELEASE//-/_}" # The PKGBUILD is evaluated multiple times. # Running scripts/build-version from here would introduce inconsistencies. -- 2.46.0