]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
kbuild: install-extmod-build: Fix build when specifying KBUILD_OUTPUT
authorInochi Amaoto <inochiama@gmail.com>
Thu, 6 Mar 2025 06:39:51 +0000 (14:39 +0800)
committerMasahiro Yamada <masahiroy@kernel.org>
Thu, 6 Mar 2025 11:32:30 +0000 (20:32 +0900)
Since commit 5f73e7d0386d ("kbuild: refactor cross-compiling
linux-headers package"), the linux-headers pacman package fails
to build when "O=" is set. The build system complains:

/mnt/chroot/linux/scripts/Makefile.build:41: mnt/chroots/linux-mainline/pacman/linux-upstream/pkg/linux-upstream-headers/usr//lib/modules/6.14.0-rc3-00350-g771dba31fffc/build/scripts/Makefile: No such file or directory

This is because the "srcroot" variable is set to "." and the
"build" variable is set to the absolute path. This makes the
"src" variables point to wrong directory.

Change the "build" variable to a relative path to "." to
fix build.

Fixes: 5f73e7d0386d ("kbuild: refactor cross-compiling linux-headers package")
Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
scripts/package/install-extmod-build

index 2966473b46609670f887ea850c50a5779b1c5c67..b96538787f3d9f2fd22f62a471c5cb5804862c95 100755 (executable)
@@ -63,7 +63,7 @@ if [ "${CC}" != "${HOSTCC}" ]; then
        # Clear VPATH and srcroot because the source files reside in the output
        # directory.
        # shellcheck disable=SC2016 # $(MAKE) and $(build) will be expanded by Make
-       "${MAKE}" run-command KBUILD_RUN_COMMAND='+$(MAKE) HOSTCC='"${CC}"' VPATH= srcroot=. $(build)='"${destdir}"/scripts
+       "${MAKE}" run-command KBUILD_RUN_COMMAND='+$(MAKE) HOSTCC='"${CC}"' VPATH= srcroot=. $(build)='"$(realpath --relative-base=. "${destdir}")"/scripts
 
        rm -f "${destdir}/scripts/Kbuild"
 fi