On Mon, Aug 12, 2024 at 07:16:19PM -0600, Jose Fernandez wrote: > 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> Reviewed-by: Nathan Chancellor <nathan@xxxxxxxxxx> Tested-by: Nathan Chancellor <nathan@xxxxxxxxxx> > --- > 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 >