Message ID | 20221122143902.272330-1-masahiroy@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | kbuild: fix "cat: .version: No such file or directory" | expand |
On Tue 22 Nov 2022 23:39:02 GMT, Masahiro Yamada wrote: > Since commit 2df8220cc511 ("kbuild: build init/built-in.a just once"), > the .version file is not touched at all when KBUILD_BUILD_VERSION is > given. > > If KBUILD_BUILD_VERSION is specified and the .version file is missing > (for example right after 'make mrproper'), "No such file or director" > is shown. Even if the .version exists, it is irrelevant to the version > of the current build. > > $ make -j$(nproc) KBUILD_BUILD_VERSION=100 mrproper defconfig all > [ snip ] > BUILD arch/x86/boot/bzImage > cat: .version: No such file or directory > Kernel: arch/x86/boot/bzImage is ready (#) > > Show KBUILD_BUILD_VERSION if it is given. > > Fixes: 2df8220cc511 ("kbuild: build init/built-in.a just once") > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> > --- Reviewed-by: Nicolas Schier <nicolas@fjasle.eu> > > arch/microblaze/Makefile | 4 ++-- > arch/x86/boot/Makefile | 2 +- > 2 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/arch/microblaze/Makefile b/arch/microblaze/Makefile > index 3f8a86c4336a..02e6be9c5b0d 100644 > --- a/arch/microblaze/Makefile > +++ b/arch/microblaze/Makefile > @@ -67,12 +67,12 @@ linux.bin.ub linux.bin.gz: linux.bin > linux.bin: vmlinux > linux.bin linux.bin.gz linux.bin.ub: > $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ > - @echo 'Kernel: $(boot)/$@ is ready' ' (#'`cat .version`')' > + @echo 'Kernel: $(boot)/$@ is ready' ' (#'$(or $(KBUILD_BUILD_VERSION),`cat .version`)')' > > PHONY += simpleImage.$(DTB) > simpleImage.$(DTB): vmlinux > $(Q)$(MAKE) $(build)=$(boot) $(addprefix $(boot)/$@., ub unstrip strip) > - @echo 'Kernel: $(boot)/$@ is ready' ' (#'`cat .version`')' > + @echo 'Kernel: $(boot)/$@ is ready' ' (#'$(or $(KBUILD_BUILD_VERSION),`cat .version`)')' > > define archhelp > echo '* linux.bin - Create raw binary' > diff --git a/arch/x86/boot/Makefile b/arch/x86/boot/Makefile > index 9860ca5979f8..9e38ffaadb5d 100644 > --- a/arch/x86/boot/Makefile > +++ b/arch/x86/boot/Makefile > @@ -83,7 +83,7 @@ cmd_image = $(obj)/tools/build $(obj)/setup.bin $(obj)/vmlinux.bin \ > > $(obj)/bzImage: $(obj)/setup.bin $(obj)/vmlinux.bin $(obj)/tools/build FORCE > $(call if_changed,image) > - @$(kecho) 'Kernel: $@ is ready' ' (#'`cat .version`')' > + @$(kecho) 'Kernel: $@ is ready' ' (#'$(or $(KBUILD_BUILD_VERSION),`cat .version`)')' > > OBJCOPYFLAGS_vmlinux.bin := -O binary -R .note -R .comment -S > $(obj)/vmlinux.bin: $(obj)/compressed/vmlinux FORCE > -- > 2.34.1
diff --git a/arch/microblaze/Makefile b/arch/microblaze/Makefile index 3f8a86c4336a..02e6be9c5b0d 100644 --- a/arch/microblaze/Makefile +++ b/arch/microblaze/Makefile @@ -67,12 +67,12 @@ linux.bin.ub linux.bin.gz: linux.bin linux.bin: vmlinux linux.bin linux.bin.gz linux.bin.ub: $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ - @echo 'Kernel: $(boot)/$@ is ready' ' (#'`cat .version`')' + @echo 'Kernel: $(boot)/$@ is ready' ' (#'$(or $(KBUILD_BUILD_VERSION),`cat .version`)')' PHONY += simpleImage.$(DTB) simpleImage.$(DTB): vmlinux $(Q)$(MAKE) $(build)=$(boot) $(addprefix $(boot)/$@., ub unstrip strip) - @echo 'Kernel: $(boot)/$@ is ready' ' (#'`cat .version`')' + @echo 'Kernel: $(boot)/$@ is ready' ' (#'$(or $(KBUILD_BUILD_VERSION),`cat .version`)')' define archhelp echo '* linux.bin - Create raw binary' diff --git a/arch/x86/boot/Makefile b/arch/x86/boot/Makefile index 9860ca5979f8..9e38ffaadb5d 100644 --- a/arch/x86/boot/Makefile +++ b/arch/x86/boot/Makefile @@ -83,7 +83,7 @@ cmd_image = $(obj)/tools/build $(obj)/setup.bin $(obj)/vmlinux.bin \ $(obj)/bzImage: $(obj)/setup.bin $(obj)/vmlinux.bin $(obj)/tools/build FORCE $(call if_changed,image) - @$(kecho) 'Kernel: $@ is ready' ' (#'`cat .version`')' + @$(kecho) 'Kernel: $@ is ready' ' (#'$(or $(KBUILD_BUILD_VERSION),`cat .version`)')' OBJCOPYFLAGS_vmlinux.bin := -O binary -R .note -R .comment -S $(obj)/vmlinux.bin: $(obj)/compressed/vmlinux FORCE
Since commit 2df8220cc511 ("kbuild: build init/built-in.a just once"), the .version file is not touched at all when KBUILD_BUILD_VERSION is given. If KBUILD_BUILD_VERSION is specified and the .version file is missing (for example right after 'make mrproper'), "No such file or director" is shown. Even if the .version exists, it is irrelevant to the version of the current build. $ make -j$(nproc) KBUILD_BUILD_VERSION=100 mrproper defconfig all [ snip ] BUILD arch/x86/boot/bzImage cat: .version: No such file or directory Kernel: arch/x86/boot/bzImage is ready (#) Show KBUILD_BUILD_VERSION if it is given. Fixes: 2df8220cc511 ("kbuild: build init/built-in.a just once") Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> --- arch/microblaze/Makefile | 4 ++-- arch/x86/boot/Makefile | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-)