[PATCH 1/2] kbuild: pacman-pkg: move common commands to a separate function

From: Masahiro Yamada
Date: Fri Aug 16 2024 - 10:19:17 EST


All build and package functions share the following commands:

export MAKEFLAGS="${KBUILD_MAKEFLAGS}"
cd "${objtree}"

Factor out the common code.

Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>
---

scripts/package/PKGBUILD | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/scripts/package/PKGBUILD b/scripts/package/PKGBUILD
index fbd7eb10a52c..e2d9c2601ca9 100644
--- a/scripts/package/PKGBUILD
+++ b/scripts/package/PKGBUILD
@@ -36,11 +36,15 @@ makedepends=(
)
options=(!debug !strip !buildflags !makeflags)

-build() {
+_prologue() {
# MAKEFLAGS from makepkg.conf override the ones inherited from kbuild.
# Bypass this override with a custom variable.
export MAKEFLAGS="${KBUILD_MAKEFLAGS}"
cd "${objtree}"
+}
+
+build() {
+ _prologue

${MAKE} KERNELRELEASE="${KERNELRELEASE}" KBUILD_BUILD_VERSION="${pkgrel}"
}
@@ -48,10 +52,10 @@ build() {
_package() {
pkgdesc="The ${pkgdesc} kernel and modules"

- export MAKEFLAGS="${KBUILD_MAKEFLAGS}"
- cd "${objtree}"
local modulesdir="${pkgdir}/usr/${MODLIB}"

+ _prologue
+
echo "Installing boot image..."
# systemd expects to find the kernel here to allow hibernation
# https://github.com/systemd/systemd/commit/edda44605f06a41fb86b7ab8128dcf99161d2344
@@ -76,10 +80,10 @@ _package() {
_package-headers() {
pkgdesc="Headers and scripts for building modules for the ${pkgdesc} kernel"

- export MAKEFLAGS="${KBUILD_MAKEFLAGS}"
- cd "${objtree}"
local builddir="${pkgdir}/usr/${MODLIB}/build"

+ _prologue
+
if grep -q CONFIG_MODULES=y include/config/auto.conf; then
echo "Installing build files..."
"${srctree}/scripts/package/install-extmod-build" "${builddir}"
@@ -100,8 +104,7 @@ _package-api-headers() {
provides=(linux-api-headers)
conflicts=(linux-api-headers)

- export MAKEFLAGS="${KBUILD_MAKEFLAGS}"
- cd "${objtree}"
+ _prologue

${MAKE} headers_install INSTALL_HDR_PATH="${pkgdir}/usr"
}
--
2.43.0