* Re: [PATCH] kbuild: create .kernelrelease at *config step @ 2006-01-19 18:31 Frédéric L. W. Meunier 2006-01-19 18:57 ` Sam Ravnborg 0 siblings, 1 reply; 3+ messages in thread From: Frédéric L. W. Meunier @ 2006-01-19 18:31 UTC (permalink / raw) To: Sam Ravnborg; +Cc: linux-kernel Is this expected ? $ cd /usr/local/src/kernel/linux-2.6.16 $ make O=/home/fredlwm/objdir/ oldconfig ... make -C /usr/local/src/kernel/linux-2.6.16 O=/home/fredlwm/objdir .kernelrelease Makefile:480: .config: No such file or directory .config is in /home/fredlwm/objdir .kernelrelease gets created in /usr/local/src/kernel/linux-2.6.16 . I thought nothing would be written to the sources directory. What if I were on a read-only filesystem ? I didn't try to build it. Are these harmless ? -- How to contact me - http://www.pervalidus.net/contact.html ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] kbuild: create .kernelrelease at *config step 2006-01-19 18:31 [PATCH] kbuild: create .kernelrelease at *config step Frédéric L. W. Meunier @ 2006-01-19 18:57 ` Sam Ravnborg 0 siblings, 0 replies; 3+ messages in thread From: Sam Ravnborg @ 2006-01-19 18:57 UTC (permalink / raw) To: Fr?d?ric L. W. Meunier; +Cc: linux-kernel On Thu, Jan 19, 2006 at 04:31:03PM -0200, Fr?d?ric L. W. Meunier wrote: > Is this expected ? > > $ cd /usr/local/src/kernel/linux-2.6.16 > $ make O=/home/fredlwm/objdir/ oldconfig > ... > make -C /usr/local/src/kernel/linux-2.6.16 O=/home/fredlwm/objdir > .kernelrelease > Makefile:480: .config: No such file or directory > > .config is in /home/fredlwm/objdir > > .kernelrelease gets created in > /usr/local/src/kernel/linux-2.6.16 . I thought nothing would be > written to the sources directory. What if I were on a read-only > filesystem ? > > I didn't try to build it. Are these harmless ? This is a bug, I will post a simple patch shortly to fix it. Sam ^ permalink raw reply [flat|nested] 3+ messages in thread
* kbuild / KERNELRELEASE not rebuild correctly anymore
@ 2006-01-15 9:51 René Rebe
2006-01-15 12:12 ` René Rebe
0 siblings, 1 reply; 3+ messages in thread
From: René Rebe @ 2006-01-15 9:51 UTC (permalink / raw)
To: linux-kernel; +Cc: Sam Ravnborg, Linus Torvalds, Roman Zippel, akpm
Hi all,
with at least 2.6.15-mm{2,3,4} untaring the kernel and running make menuconfig
(or most other favourite config tools) do not display a version anymore since
.kernelrelease it not build as dependecy.
I only noticed this because my build scripts grab the version before the build for
later file names on installations and leave this string empty after configuration of
latest linux kernels.
Sincerely,
--
René Rebe - Rubensstr. 64 - 12157 Berlin (Europe / Germany)
http://www.exactcode.de | http://www.t2-project.org
+49 (0)30 255 897 45
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: kbuild / KERNELRELEASE not rebuild correctly anymore @ 2006-01-15 12:12 ` René Rebe 2006-01-15 12:31 ` Sam Ravnborg 0 siblings, 1 reply; 3+ messages in thread From: René Rebe @ 2006-01-15 12:12 UTC (permalink / raw) To: Sam Ravnborg; +Cc: linux-kernel, Linus Torvalds, Roman Zippel, akpm Hi, On Sunday 15 January 2006 12:19, Sam Ravnborg wrote: > On Sun, Jan 15, 2006 at 11:41:30AM +0100, Ren? Rebe wrote: > > > So the real fix is to error out when .kernelrelease does not exists. > > > See attached patch. > > > > You expect us to run make prepare before make menuconfig or simillar? > > That sounds a bit odd ... > > The kernelrelease depends on the actual configuration. > So without having completed the make *config step kbuild cannot tell the > correct kernelrelease. > > Now with the patch attached to last mail kbuild will now error out in > case there is no valid kernelrelease. Thats obviously only a hack, since > we need to error out when .config has been updated and the new > kernelrelease has not been created. > > Maybe the better approach would be always to create the .kernelrelease > file as part of the configuration - based on the principle of least > suprise. Aside this "solution" still annoys me, you need at least patch the config stuff to not display an empty version string ;-) I'm curious, aside rsbac, what in the .config is altering the KERNELRELEASE? Yours, -- René Rebe - Rubensstr. 64 - 12157 Berlin (Europe / Germany) http://www.exactcode.de | http://www.t2-project.org +49 (0)30 255 897 45 ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: kbuild / KERNELRELEASE not rebuild correctly anymore 2006-01-15 12:12 ` René Rebe @ 2006-01-15 12:31 ` Sam Ravnborg 2006-01-15 14:26 ` René Rebe 0 siblings, 1 reply; 3+ messages in thread From: Sam Ravnborg @ 2006-01-15 12:31 UTC (permalink / raw) To: Ren? Rebe; +Cc: linux-kernel, Linus Torvalds, Roman Zippel, akpm > > I'm curious, aside rsbac, what in the .config is altering the KERNELRELEASE? CONFIG_LOCALVERSION CONFIG_LOCALVERSION_AUTO Sam ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: kbuild / KERNELRELEASE not rebuild correctly anymore 2006-01-15 12:31 ` Sam Ravnborg @ 2006-01-15 14:26 ` René Rebe 2006-01-16 11:15 ` [PATCH] kbuild: create .kernelrelease at *config step Sam Ravnborg 0 siblings, 1 reply; 3+ messages in thread From: René Rebe @ 2006-01-15 14:26 UTC (permalink / raw) To: Sam Ravnborg; +Cc: linux-kernel, Linus Torvalds, Roman Zippel, akpm Hi, On Sunday 15 January 2006 13:31, Sam Ravnborg wrote: > > I'm curious, aside rsbac, what in the .config is altering the > > KERNELRELEASE? > > CONFIG_LOCALVERSION > CONFIG_LOCALVERSION_AUTO Ah, ok - I feared something less obviously more complex. Do we need this options at all? People can still just edit the EXTRAVERSION line in the Makefile - at least I always did so ... Also you have not answered if you expect to patch away the version output in the *config frontends ... Yours, -- René Rebe - Rubensstr. 64 - 12157 Berlin (Europe / Germany) http://www.exactcode.de | http://www.t2-project.org +49 (0)30 255 897 45 ^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH] kbuild: create .kernelrelease at *config step 2006-01-15 14:26 ` René Rebe @ 2006-01-16 11:15 ` Sam Ravnborg 0 siblings, 0 replies; 3+ messages in thread From: Sam Ravnborg @ 2006-01-16 11:15 UTC (permalink / raw) To: Ren? Rebe; +Cc: linux-kernel, Linus Torvalds, Roman Zippel, akpm I have just added following patch to my tree. It addresses all your inputs. Sam [PATCH] 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: Sam Ravnborg <sam@ravnborg.org> --- Makefile | 19 ++++++++++--------- scripts/kconfig/confdata.c | 2 +- scripts/kconfig/gconf.c | 2 +- scripts/kconfig/mconf.c | 2 +- scripts/kconfig/symbol.c | 4 ++-- 5 files changed, 15 insertions(+), 14 deletions(-) 2244cbd8a9185c197ec5ba5de175aec288697223 diff --git a/Makefile b/Makefile index b3dd9db..22e322f 100644 --- a/Makefile +++ b/Makefile @@ -338,8 +338,9 @@ AFLAGS := -D__ASSEMBLY__ # Read KERNELRELEASE from .kernelrelease (if it exists) 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 \ CPP AR NM STRIP OBJCOPY OBJDUMP MAKE AWK GENKSYMS PERL UTS_MACHINE \ HOSTCXX HOSTCXXFLAGS LDFLAGS_MODULE CHECK CHECKFLAGS @@ -434,6 +435,7 @@ export KBUILD_DEFCONFIG config %config: scripts_basic outputmakefile FORCE $(Q)mkdir -p include/linux $(Q)$(MAKE) $(build)=scripts/kconfig $@ + $(Q)$(MAKE) .kernelrelease else # =========================================================================== @@ -784,12 +786,10 @@ endif localver-full = $(localver)$(localver-auto) # Store (new) KERNELRELASE string in .kernelrelease -kernelrelease = \ - $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)$(localver-full) +kernelrelease = $(KERNELVERSION)$(localver-full) .kernelrelease: FORCE - $(Q)rm -f .kernelrelease - $(Q)echo $(kernelrelease) > .kernelrelease - $(Q)echo " Building kernel $(kernelrelease)" + $(Q)rm -f $@ + $(Q)echo $(kernelrelease) > $@ # Things we need to do before we recursively start building the kernel @@ -899,7 +899,7 @@ define filechk_version.h ) endef -include/linux/version.h: $(srctree)/Makefile FORCE +include/linux/version.h: $(srctree)/Makefile .config FORCE $(call filechk,version.h) # --------------------------------------------------------------------------- @@ -1302,9 +1302,10 @@ checkstack: $(PERL) $(src)/scripts/checkstack.pl $(ARCH) kernelrelease: - @echo $(KERNELRELEASE) + $(if $(wildcard .kernelrelease), $(Q)echo $(KERNELRELEASE), \ + $(error kernelrelease not valid - run 'make *config' to update it)) kernelversion: - @echo $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) + @echo $(KERNELVERSION) # FIXME Should go into a make.lib or something # =========================================================================== diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c index ccd4513..b0cbbe2 100644 --- a/scripts/kconfig/confdata.c +++ b/scripts/kconfig/confdata.c @@ -375,7 +375,7 @@ int conf_write(const char *name) if (!out_h) return 1; } - sym = sym_lookup("KERNELRELEASE", 0); + sym = sym_lookup("KERNELVERSION", 0); sym_calc_value(sym); time(&now); env = getenv("KCONFIG_NOTIMESTAMP"); diff --git a/scripts/kconfig/gconf.c b/scripts/kconfig/gconf.c index 9f5aabd..665bd53 100644 --- a/scripts/kconfig/gconf.c +++ b/scripts/kconfig/gconf.c @@ -276,7 +276,7 @@ void init_main_window(const gchar * glad NULL); sprintf(title, _("Linux Kernel v%s Configuration"), - getenv("KERNELRELEASE")); + getenv("KERNELVERSION")); gtk_window_set_title(GTK_WINDOW(main_wnd), title); gtk_widget_show(main_wnd); diff --git a/scripts/kconfig/mconf.c b/scripts/kconfig/mconf.c index d63d7fb..7f97319 100644 --- a/scripts/kconfig/mconf.c +++ b/scripts/kconfig/mconf.c @@ -1051,7 +1051,7 @@ int main(int ac, char **av) conf_parse(av[1]); conf_read(NULL); - sym = sym_lookup("KERNELRELEASE", 0); + sym = sym_lookup("KERNELVERSION", 0); sym_calc_value(sym); sprintf(menu_backtitle, _("Linux Kernel v%s Configuration"), sym_get_string_value(sym)); diff --git a/scripts/kconfig/symbol.c b/scripts/kconfig/symbol.c index 69c2549..3d7877a 100644 --- a/scripts/kconfig/symbol.c +++ b/scripts/kconfig/symbol.c @@ -61,10 +61,10 @@ void sym_init(void) if (p) sym_add_default(sym, p); - sym = sym_lookup("KERNELRELEASE", 0); + sym = sym_lookup("KERNELVERSION", 0); sym->type = S_STRING; sym->flags |= SYMBOL_AUTO; - p = getenv("KERNELRELEASE"); + p = getenv("KERNELVERSION"); if (p) sym_add_default(sym, p); -- 1.0.GIT ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2006-01-19 18:58 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2006-01-19 18:31 [PATCH] kbuild: create .kernelrelease at *config step Frédéric L. W. Meunier 2006-01-19 18:57 ` Sam Ravnborg -- strict thread matches above, loose matches on Subject: below -- 2006-01-15 9:51 kbuild / KERNELRELEASE not rebuild correctly anymore René Rebe 2006-01-15 12:12 ` René Rebe 2006-01-15 12:31 ` Sam Ravnborg 2006-01-15 14:26 ` René Rebe 2006-01-16 11:15 ` [PATCH] kbuild: create .kernelrelease at *config step Sam Ravnborg
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®