Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2244cbd8 authored by Sam Ravnborg's avatar Sam Ravnborg
Browse files

kbuild: create .kernelrelease at *config step



To enable 'make kernelrelease' earlier now create .kernelrelease when
one of the *config targets are used.
Also introduce KERNELVERSION - only user is kconfig.
KERNELVERSION was needed to display kernel version in menuconfig -
KERNELRELEASE is not valid until configuration has completed.
kconfig files modified to use KERNELVERSION.
Bug reported by: Rene Rebe <rene@exactcode.de>

Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
parent 296e0855
Loading
Loading
Loading
Loading
+10 −9
Original line number Original line Diff line number Diff line
@@ -338,8 +338,9 @@ AFLAGS := -D__ASSEMBLY__


# Read KERNELRELEASE from .kernelrelease (if it exists)
# Read KERNELRELEASE from .kernelrelease (if it exists)
KERNELRELEASE = $(shell cat .kernelrelease 2> /dev/null)
KERNELRELEASE = $(shell cat .kernelrelease 2> /dev/null)
KERNELVERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)


export	VERSION PATCHLEVEL SUBLEVEL KERNELRELEASE \
export	VERSION PATCHLEVEL SUBLEVEL KERNELRELEASE KERNELVERSION \
	ARCH CONFIG_SHELL HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD CC \
	ARCH CONFIG_SHELL HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD CC \
	CPP AR NM STRIP OBJCOPY OBJDUMP MAKE AWK GENKSYMS PERL UTS_MACHINE \
	CPP AR NM STRIP OBJCOPY OBJDUMP MAKE AWK GENKSYMS PERL UTS_MACHINE \
	HOSTCXX HOSTCXXFLAGS LDFLAGS_MODULE CHECK CHECKFLAGS
	HOSTCXX HOSTCXXFLAGS LDFLAGS_MODULE CHECK CHECKFLAGS
@@ -434,6 +435,7 @@ export KBUILD_DEFCONFIG
config %config: scripts_basic outputmakefile FORCE
config %config: scripts_basic outputmakefile FORCE
	$(Q)mkdir -p include/linux
	$(Q)mkdir -p include/linux
	$(Q)$(MAKE) $(build)=scripts/kconfig $@
	$(Q)$(MAKE) $(build)=scripts/kconfig $@
	$(Q)$(MAKE) .kernelrelease


else
else
# ===========================================================================
# ===========================================================================
@@ -784,12 +786,10 @@ endif
localver-full = $(localver)$(localver-auto)
localver-full = $(localver)$(localver-auto)


# Store (new) KERNELRELASE string in .kernelrelease
# Store (new) KERNELRELASE string in .kernelrelease
kernelrelease = \
kernelrelease = $(KERNELVERSION)$(localver-full)
       $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)$(localver-full)
.kernelrelease: FORCE
.kernelrelease: FORCE
	$(Q)rm -f .kernelrelease
	$(Q)rm -f $@
	$(Q)echo $(kernelrelease) > .kernelrelease
	$(Q)echo $(kernelrelease) > $@
	$(Q)echo "  Building kernel $(kernelrelease)"




# Things we need to do before we recursively start building the kernel
# Things we need to do before we recursively start building the kernel
@@ -899,7 +899,7 @@ define filechk_version.h
	)
	)
endef
endef


include/linux/version.h: $(srctree)/Makefile FORCE
include/linux/version.h: $(srctree)/Makefile .config FORCE
	$(call filechk,version.h)
	$(call filechk,version.h)


# ---------------------------------------------------------------------------
# ---------------------------------------------------------------------------
@@ -1302,9 +1302,10 @@ checkstack:
	$(PERL) $(src)/scripts/checkstack.pl $(ARCH)
	$(PERL) $(src)/scripts/checkstack.pl $(ARCH)


kernelrelease:
kernelrelease:
	@echo $(KERNELRELEASE)
	$(if $(wildcard .kernelrelease), $(Q)echo $(KERNELRELEASE), \
	$(error kernelrelease not valid - run 'make *config' to update it))
kernelversion:
kernelversion:
	@echo $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
	@echo $(KERNELVERSION)


# FIXME Should go into a make.lib or something 
# FIXME Should go into a make.lib or something 
# ===========================================================================
# ===========================================================================
+1 −1
Original line number Original line Diff line number Diff line
@@ -375,7 +375,7 @@ int conf_write(const char *name)
		if (!out_h)
		if (!out_h)
			return 1;
			return 1;
	}
	}
	sym = sym_lookup("KERNELRELEASE", 0);
	sym = sym_lookup("KERNELVERSION", 0);
	sym_calc_value(sym);
	sym_calc_value(sym);
	time(&now);
	time(&now);
	env = getenv("KCONFIG_NOTIMESTAMP");
	env = getenv("KCONFIG_NOTIMESTAMP");
+1 −1
Original line number Original line Diff line number Diff line
@@ -276,7 +276,7 @@ void init_main_window(const gchar * glade_file)
					  NULL);
					  NULL);


	sprintf(title, _("Linux Kernel v%s Configuration"),
	sprintf(title, _("Linux Kernel v%s Configuration"),
		getenv("KERNELRELEASE"));
		getenv("KERNELVERSION"));
	gtk_window_set_title(GTK_WINDOW(main_wnd), title);
	gtk_window_set_title(GTK_WINDOW(main_wnd), title);


	gtk_widget_show(main_wnd);
	gtk_widget_show(main_wnd);
+1 −1
Original line number Original line Diff line number Diff line
@@ -1051,7 +1051,7 @@ int main(int ac, char **av)
	conf_parse(av[1]);
	conf_parse(av[1]);
	conf_read(NULL);
	conf_read(NULL);


	sym = sym_lookup("KERNELRELEASE", 0);
	sym = sym_lookup("KERNELVERSION", 0);
	sym_calc_value(sym);
	sym_calc_value(sym);
	sprintf(menu_backtitle, _("Linux Kernel v%s Configuration"),
	sprintf(menu_backtitle, _("Linux Kernel v%s Configuration"),
		sym_get_string_value(sym));
		sym_get_string_value(sym));
+2 −2
Original line number Original line Diff line number Diff line
@@ -61,10 +61,10 @@ void sym_init(void)
	if (p)
	if (p)
		sym_add_default(sym, p);
		sym_add_default(sym, p);


	sym = sym_lookup("KERNELRELEASE", 0);
	sym = sym_lookup("KERNELVERSION", 0);
	sym->type = S_STRING;
	sym->type = S_STRING;
	sym->flags |= SYMBOL_AUTO;
	sym->flags |= SYMBOL_AUTO;
	p = getenv("KERNELRELEASE");
	p = getenv("KERNELVERSION");
	if (p)
	if (p)
		sym_add_default(sym, p);
		sym_add_default(sym, p);