diff mbox series

[7/7] kbuild: do not re-run setlocalversion for kernelrelease

Message ID 20230122141428.115372-7-masahiroy@kernel.org (mailing list archive)
State New, archived
Headers show
Series [1/7] kbuild: do not put .scmversion into the source tarball | expand

Commit Message

Masahiro Yamada Jan. 22, 2023, 2:14 p.m. UTC
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

Masahiro Yamada Feb. 1, 2023, 1:09 p.m. UTC | #1
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
diff mbox series

Patch

diff --git a/Makefile b/Makefile
index d0a95277f08a..de402d415d5f 100644
--- a/Makefile
+++ b/Makefile
@@ -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)