[7/7] kbuild: do not re-run setlocalversion for kernelrelease
Commit Message
Revert:
- 7b8ea53d7f18 ("makefile: not need to regenerate kernel.release
file when make kernelrelease")
- 01ab17887f4c ("Makefile: "make kernelrelease" should show the
correct full kernel version")
I think the original behavior was better - 'make kernelrelease' should
print $(KERNELRELEASE) used in the last build, not the one that will
be used in the next build. Therefore, it is an error if you run it in
the pristine source tree.
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
---
Makefile | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
Comments
On Sun, Jan 22, 2023 at 11:14 PM Masahiro Yamada <masahiroy@kernel.org> wrote:
>
> Revert:
> - 7b8ea53d7f18 ("makefile: not need to regenerate kernel.release
> file when make kernelrelease")
>
> - 01ab17887f4c ("Makefile: "make kernelrelease" should show the
> correct full kernel version")
>
> I think the original behavior was better - 'make kernelrelease' should
> print $(KERNELRELEASE) used in the last build, not the one that will
> be used in the next build. Therefore, it is an error if you run it in
> the pristine source tree.
>
> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
I locally got a question about this, and
on second thought, this might be annoying
because you need to build something to get kernelrelease.
I will drop this commit.
--
Best Regards
Masahiro Yamada
@@ -281,13 +281,13 @@ clean-targets := %clean mrproper cleandocs
no-dot-config-targets := $(clean-targets) \
cscope gtags TAGS tags help% %docs check% coccicheck \
$(version_h) headers headers_% archheaders archscripts \
- %asm-generic kernelversion %src-pkg dt_binding_check \
+ %asm-generic kernelrelease kernelversion %src-pkg dt_binding_check \
outputmakefile rustavailable rustfmt rustfmtcheck
# Installation targets should not require compiler. Unfortunately, vdso_install
# is an exception where build artifacts may be updated. This must be fixed.
no-compiler-targets := $(no-dot-config-targets) install dtbs_install \
- headers_install modules_install kernelrelease image_name
-no-sync-config-targets := $(no-dot-config-targets) %install kernelrelease \
+ headers_install modules_install image_name
+no-sync-config-targets := $(no-dot-config-targets) %install \
image_name
single-targets := %.a %.i %.ko %.lds %.ll %.lst %.mod %.o %.rsi %.s %.symtypes %/
@@ -1677,7 +1677,7 @@ help:
@echo ' tags/TAGS - Generate tags file for editors'
@echo ' cscope - Generate cscope index'
@echo ' gtags - Generate GNU GLOBAL index'
- @echo ' kernelrelease - Output the release version string (use with make -s)'
+ @echo ' kernelrelease - Output the release version string used in the last build (use with make -s)'
@echo ' kernelversion - Output the version stored in Makefile (use with make -s)'
@echo ' image_name - Output the image name (use with make -s)'
@echo ' headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH'; \
@@ -2111,7 +2111,7 @@ checkstack:
$(PERL) $(srctree)/scripts/checkstack.pl $(CHECKSTACK_ARCH)
kernelrelease:
- @$(srctree)/scripts/setlocalversion $(srctree)
+ @echo $(or $(KERNELRELEASE),$(error kernelrelease not valid - run 'make prepare' to update it))
kernelversion:
@echo $(KERNELVERSION)