* [PATCH] kbuild: install-extmod-build: Fix build when specifying KBUILD_OUTPUT
@ 2025-02-23 1:19 Inochi Amaoto
2025-03-05 12:40 ` Masahiro Yamada
0 siblings, 1 reply; 2+ messages in thread
From: Inochi Amaoto @ 2025-02-23 1:19 UTC (permalink / raw)
To: Masahiro Yamada, Nathan Chancellor, Nicolas Schier
Cc: Inochi Amaoto, linux-kbuild, linux-kernel, Yixun Lan, Longbin Li
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>
---
scripts/package/install-extmod-build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/package/install-extmod-build b/scripts/package/install-extmod-build
index 2966473b4660..c0357ba2ff72 100755
--- a/scripts/package/install-extmod-build
+++ b/scripts/package/install-extmod-build
@@ -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
--
2.48.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] kbuild: install-extmod-build: Fix build when specifying KBUILD_OUTPUT
2025-02-23 1:19 [PATCH] kbuild: install-extmod-build: Fix build when specifying KBUILD_OUTPUT Inochi Amaoto
@ 2025-03-05 12:40 ` Masahiro Yamada
0 siblings, 0 replies; 2+ messages in thread
From: Masahiro Yamada @ 2025-03-05 12:40 UTC (permalink / raw)
To: Inochi Amaoto
Cc: Nathan Chancellor, Nicolas Schier, linux-kbuild, linux-kernel,
Yixun Lan, Longbin Li
On Sun, Feb 23, 2025 at 10:20 AM Inochi Amaoto <inochiama@gmail.com> wrote:
>
> 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>
> ---
> scripts/package/install-extmod-build | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/scripts/package/install-extmod-build b/scripts/package/install-extmod-build
> index 2966473b4660..c0357ba2ff72 100755
> --- a/scripts/package/install-extmod-build
> +++ b/scripts/package/install-extmod-build
> @@ -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
Looks good to me, but a nit.
This will introduce a new shellcheck warning:
C2086 (info): Double quote to prevent globbing and word splitting.
Please keep the double-quotes around ${destdir}
"$(realpath --relative-base=. "${destdir}")"
> rm -f "${destdir}/scripts/Kbuild"
> fi
> --
> 2.48.1
>
--
Best Regards
Masahiro Yamada
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-03-05 12:40 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-23 1:19 [PATCH] kbuild: install-extmod-build: Fix build when specifying KBUILD_OUTPUT Inochi Amaoto
2025-03-05 12:40 ` Masahiro Yamada
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox