Appending '+' to version, since 2.6.35-rc2

From: Mark Hills
Date: Sun Jun 13 2010 - 15:34:37 EST


Commit 85a256d adds a new feature:

[...] When CONFIG_LOCALVERSION_AUTO is not enabled, a `+' is appended
to the kernel version to represent that the kernel has been revised
since the last release unless "make LOCALVERSION=" was used to uniquely
identify the build.

I'm finding this inconvenient for 'casual' kernel development.

For example, my usual workflow goes something like:

1) find something I suspect is a bug
2) upgrade to the latest stable or -rc kernel, to confirm
3) experiment with patch to fix it

Since 2.6.35-rc2, going from step 2 to 3 causes the version of the kernel
to change: forcing time-consuming rebuilds, installing modules, and manual
changes associated with a new version number; eg. updating the lilo/grub
config, or the distribution's initrd.

Whilst I can understand the motivation for the '+' being mandatory, the
added stages above unnecessarily raise the bar for casual developers, or
other people who need to 'dip' into the kernel and test patches. These
people are least likely to be aware of using LOCALVERSION to override it
too.

May I suggest that this particular part of the commit be reverted (example
below)? In favour of a user, if they wish, explicitly setting LOCALVERSION
or using CONFIG_LOCALVERSION_AUTO.

--
Mark


From: Mark Hills <mark@xxxxxxxxxxx>
Date: Sun, 13 Jun 2010 19:16:55 +0100
Subject: [PATCH] kbuild: Do not append mandatory '+' to kernel release


Signed-off-by: Mark Hills <mark@xxxxxxxxxxx>
---
Makefile | 14 --------------
1 files changed, 0 insertions(+), 14 deletions(-)

diff --git a/Makefile b/Makefile
index d49d96c..6870f6f 100644
--- a/Makefile
+++ b/Makefile
@@ -909,14 +909,6 @@ $(vmlinux-dirs): prepare scripts
# $(scm-identifier) (unique SCM tag, if one exists)
# ./scripts/setlocalversion (only with CONFIG_LOCALVERSION_AUTO)
# .scmversion (only with CONFIG_LOCALVERSION_AUTO)
-# + (only without CONFIG_LOCALVERSION_AUTO
-# and without LOCALVERSION= and
-# repository is at non-tagged commit)
-#
-# For kernels without CONFIG_LOCALVERSION_AUTO compiled from an SCM that has
-# been revised beyond a tagged commit, `+' is appended to the version string
-# when not overridden by using "make LOCALVERSION=". This indicates that the
-# kernel is not a vanilla release version and has been modified.

pattern = ".*/localversion[^~]*"
string = $(shell cat /dev/null \
@@ -942,12 +934,6 @@ endif

ifdef CONFIG_LOCALVERSION_AUTO
localver-extra = $(scm-identifier)
-else
- ifneq ($(scm-identifier),)
- ifeq ($(LOCALVERSION),)
- localver-extra = +
- endif
- endif
endif

localver-full = $(localver)$(LOCALVERSION)$(localver-extra)
--
1.7.1
--
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/