Introduce the PACMAN_EXTRAPACKAGES variable in PKGBUILD to allow users to specify which additional packages are built by the pacman-pkg target. Previously, the api-headers package was always included, and the headers package was included only if CONFIG_MODULES=y. With this change, both headers and api-headers packages are included by default. Users can now control this behavior by setting PACMAN_EXTRAPACKAGES to a space-separated list of desired extra packages or leaving it empty to exclude all. For example, to build only the base package without extras: 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 v2->v3: - Move the default PACMAN_EXTRAPACKAGES value to PKGBUILD - Remove all changes done to Makefile.package - Conditionally run the install-extmod-build script if CONFIG_MODULES=y - Add explicit `mkdir -p "${builddir}"` prior to copying System.map and .config This patch gives users control over which extra packages are built, addressing concerns about build time from adding a new debug package [1]. It allows selective inclusion of extra packages before introducing an optional debug package. [1] https://lore.kernel.org/lkml/20240801192008.GA3923315@thelio-3990X/T/ scripts/package/PKGBUILD | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/scripts/package/PKGBUILD b/scripts/package/PKGBUILD index 663ce300dd06..fbd7eb10a52c 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-headers api-headers} +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. @@ -77,10 +80,13 @@ _package-headers() { cd "${objtree}" local builddir="${pkgdir}/usr/${MODLIB}/build" - echo "Installing build files..." - "${srctree}/scripts/package/install-extmod-build" "${builddir}" + if grep -q CONFIG_MODULES=y include/config/auto.conf; then + echo "Installing build files..." + "${srctree}/scripts/package/install-extmod-build" "${builddir}" + fi echo "Installing System.map and config..." + mkdir -p "${builddir}" cp System.map "${builddir}/System.map" cp .config "${builddir}/.config" base-commit: 7809144639f6c92bcb11bd3284b7806a42cc67fe -- 2.46.0