[PATCH] kbuild: save overridden KERNELRELEASE in include/config/kernel.release

From: Masahiro Yamada
Date: Fri Jan 27 2023 - 11:20:05 EST


${KERNELRELEASE} is used as a part of the installation path.
(INSTALL_DTBS_PATH, MODLIB, etc.)

When KERNELRELEASE is overridden from the command line, it should be
saved in include/config/kernel.release, so that it will be consistently
used for the installation steps.

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

This patch will replace the buggy
https://lore.kernel.org/linux-kbuild/20230122141428.115372-6-masahiroy@xxxxxxxxxx/T/#u

Makefile | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/Makefile b/Makefile
index 203b86e95197..aeea900eff71 100644
--- a/Makefile
+++ b/Makefile
@@ -1258,7 +1258,11 @@ vmlinux: vmlinux.o $(KBUILD_LDS) modpost
# make sure no implicit rule kicks in
$(sort $(KBUILD_LDS) $(KBUILD_VMLINUX_OBJS) $(KBUILD_VMLINUX_LIBS)): . ;

+ifeq ($(origin KERNELRELEASE),file)
filechk_kernel.release = $(srctree)/scripts/setlocalversion $(srctree)
+else
+filechk_kernel.release = echo $(KERNELRELEASE)
+endif

# Store (new) KERNELRELEASE string in include/config/kernel.release
include/config/kernel.release: FORCE
--
2.34.1