[PATCH] kbuild: Improve version string logic

From: Linus Torvalds
Date: Tue Oct 06 2009 - 12:31:03 EST


It changes how CONFIG_LOCALVERSION_AUTO works, in the following trivial
way:

- if it is set, things work the way they always have, and you get a
extended kernel release like:

2.6.32-rc3-00052-g0eca52a

- but if it is _not_ set, we'll still try to get a version from the
underlying SCM (we actually support git, hg and SVN right now, even if
some comments may say "git only"), and if the underlying SCM says it
has a local version, we append just "+", so you get a version number
like:

2.6.32-rc3+

IOW, you'd never get 2.6.32-rc0, but you'd get either the complex git
version number (or SVN/hg/whatever), or at least "2.6.31+" with the "+"
showing that it is more than plain 2.6.31.

Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
Cc: Frans Pop <elendil@xxxxxxxxx>
Cc: Dirk Hohndel <hohndel@xxxxxxxxxxxxx>
Cc: Len Brown <lenb@xxxxxxxxxx>
LKML-Reference: <20091006173508.GA4786@xxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
---
Makefile | 9 +++++++--
1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index 927d7a3..5dab509 100644
--- a/Makefile
+++ b/Makefile
@@ -963,8 +963,6 @@ localver = $(subst $(space),, $(string) \
# .scmversion is used when generating rpm packages so we do not loose
# the version information from the SCM when we do the build of the kernel
# from the copied source
-ifdef CONFIG_LOCALVERSION_AUTO
-
ifeq ($(wildcard .scmversion),)
_localver-auto = $(shell $(CONFIG_SHELL) \
$(srctree)/scripts/setlocalversion $(srctree))
@@ -972,7 +970,14 @@ else
_localver-auto = $(shell cat .scmversion 2> /dev/null)
endif

+ifdef CONFIG_LOCALVERSION_AUTO
localver-auto = $(LOCALVERSION)$(_localver-auto)
+else
+ ifeq ($_localver-auto,)
+ localver-auto = $(LOCALVERSION)
+ else
+ localver-auto = $(LOCALVERSION)+
+ endif
endif

localver-full = $(localver)$(localver-auto)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/