From: Ingo Molnar <mingo@elte.hu>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Dirk Hohndel <hohndel@infradead.org>, Len Brown <lenb@kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: [patch] kbuild: Improve version string logic
Date: Tue, 6 Oct 2009 19:35:08 +0200 [thread overview]
Message-ID: <20091006173508.GA4786@elte.hu> (raw)
In-Reply-To: <alpine.LFD.2.01.0910060925490.3432@localhost.localdomain>
* Linus Torvalds <torvalds@linux-foundation.org> wrote:
> On Tue, 6 Oct 2009, Linus Torvalds wrote:
> >
> > Unless:
> >
> > > _That_ i think is a lot harder to confuse with the real .31 than a
> > > v2.6.31-1234-g16123c4 version string.
> >
> > .. are you saying that it would be just some automatically generated
> > thing, just a crippled form of CONFIG_LOCALVERSION_AUTO? Kind of a
> > CONFIG_LOCALVERSION_AUTO_SHORTFORM?
>
> So how about this?
this patch is great IMHO. I've modified it to propagate the '+' into the
long version string as well. I've tested it with auto-version not set
and it now gives:
Linux europe 2.6.32-rc3+ #2 SMP Tue Oct 6 19:26:58 CEST 2009 i686 i686 i386 GNU/Linux
the -rc3+ is a clearly visible distinction. This will improve things
when bugs are reported with LOCALVERSION_AUTO not set - we'll always
know when a tree is not vanilla.
With autoversion set 'uname -a' gives:
Linux europe 2.6.32-rc3+00052-g0eca52a-dirty #3 SMP Tue Oct 6 19:29:54 CEST 2009 i686 i686 i386 GNU/Linux
IMO that's intuitive too. We get whatever is described in the
localversion in addition to the tag. The '+' clearly signals that 'set
union' operation we've done.
So this patch solves all the problems i had with our versioning. I've
attached it below with a changelog.
Thanks,
Ingo
--------------->
Subject: kbuild: Improve version string logic
From: Linus Torvalds <torvalds@linux-foundation.org>
Date: Tue, 6 Oct 2009 09:31:03 -0700 (PDT)
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-dirty
( with the difference that the extra version string is separated via
'+' not via '-'. This improves visibility when we have additional
changes over a vanilla tag. )
- 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.
The "+" could be anything else, of course. The diff is pretty obvious, you
can argue about exactly _what_ you'd like to see as a suffix for "and then
some".
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
Makefile | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
Index: linux/Makefile
===================================================================
--- linux.orig/Makefile
+++ linux/Makefile
@@ -963,16 +963,21 @@ 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))
+ $(srctree)/scripts/setlocalversion $(srctree) | sed 's/^-/+/')
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)
next prev parent reply other threads:[~2009-10-06 17:36 UTC|newest]
Thread overview: 142+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-05 0:44 Linux 2.6.32-rc3 Linus Torvalds
2009-10-05 18:55 ` James Cloos
2009-10-06 1:57 ` Len Brown
2009-10-06 2:51 ` Dirk Hohndel
2009-10-06 14:18 ` Linus Torvalds
2009-10-06 14:38 ` Dirk Hohndel
2009-10-06 15:13 ` Linus Torvalds
2009-10-06 15:34 ` Dirk Hohndel
2009-10-06 15:43 ` Linus Torvalds
[not found] ` <4ACBB7D7.10207@urpla.net>
2009-10-06 22:13 ` Linus Torvalds
2009-10-06 16:36 ` Frans Pop
2009-10-07 1:09 ` Bryan Donlan
2009-10-07 5:56 ` Frans Pop
2009-10-06 14:44 ` Ingo Molnar
2009-10-06 15:24 ` Linus Torvalds
2009-10-06 15:36 ` Ingo Molnar
2009-10-06 15:51 ` Linus Torvalds
2009-10-06 16:29 ` Ingo Molnar
2009-10-06 16:35 ` Ingo Molnar
2009-10-06 16:31 ` Linus Torvalds
2009-10-06 16:40 ` Ingo Molnar
2009-10-06 18:12 ` Theodore Tso
2009-10-06 18:24 ` Ingo Molnar
2009-10-06 21:19 ` Stefan Richter
2009-10-06 17:15 ` Stefan Richter
2009-10-06 18:16 ` Ingo Molnar
2009-10-06 17:22 ` Frans Pop
2009-10-06 17:32 ` Linus Torvalds
2009-10-06 18:29 ` Frans Pop
2009-10-07 0:51 ` Florian Mickler
2009-10-06 17:35 ` Ingo Molnar [this message]
2009-10-06 18:37 ` [patch] kbuild: Improve version string logic Johannes Berg
2009-10-06 18:49 ` Ingo Molnar
2009-10-06 18:55 ` Johannes Berg
2009-10-06 19:03 ` Theodore Tso
2009-10-06 19:45 ` Frans Pop
2009-10-06 19:48 ` Johannes Berg
2009-10-06 20:25 ` Frans Pop
2009-10-07 2:43 ` David Rientjes
2009-10-12 19:57 ` [PATCH, v2] " Ingo Molnar
2009-10-12 22:04 ` Frans Pop
2009-10-13 7:05 ` Ingo Molnar
2009-10-13 17:51 ` Frans Pop
2009-10-13 18:01 ` Linus Torvalds
2009-10-13 23:59 ` David Rientjes
2009-10-14 6:59 ` Ingo Molnar
2009-10-14 7:24 ` David Rientjes
2009-10-14 7:33 ` Ingo Molnar
2009-10-14 7:42 ` David Rientjes
2009-10-14 23:43 ` Frans Pop
2009-10-15 7:37 ` David Rientjes
2009-10-15 14:13 ` Frans Pop
2009-10-15 20:38 ` David Rientjes
2009-10-15 21:01 ` Frans Pop
2009-10-15 9:03 ` Ingo Molnar
2009-10-15 14:42 ` Frans Pop
2009-10-15 20:45 ` David Rientjes
2009-10-15 8:01 ` David Rientjes
2009-10-15 8:59 ` Ingo Molnar
2009-10-14 21:55 ` Frans Pop
2009-10-13 2:00 ` David Rientjes
2009-10-13 7:07 ` Ingo Molnar
2009-10-13 7:59 ` David Rientjes
2010-06-07 17:18 ` [PATCH, v2] kbuild: Improve version string logic - two for the price of one - No thanks Boaz Harrosh
2010-06-07 19:45 ` David Rientjes
2010-06-08 5:52 ` Boaz Harrosh
2010-06-08 6:18 ` David Rientjes
2010-06-08 6:34 ` Paul Mundt
2010-06-08 6:39 ` Boaz Harrosh
2010-06-08 7:16 ` Boaz Harrosh
2010-06-08 7:21 ` Paul Mundt
2010-06-08 7:21 ` Boaz Harrosh
2010-06-08 7:32 ` Paul Mundt
2010-06-08 7:52 ` Boaz Harrosh
2010-06-08 9:17 ` David Rientjes
2010-06-08 6:37 ` Boaz Harrosh
2010-06-08 8:31 ` kbuild: Fix the breakage caused by "improve version string logic" Boaz Harrosh
2010-06-08 9:13 ` David Rientjes
2010-06-08 10:14 ` Boaz Harrosh
2010-06-08 10:19 ` Boaz Harrosh
2010-06-09 6:55 ` David Rientjes
2010-06-09 7:54 ` Boaz Harrosh
2010-06-09 8:18 ` Mike Galbraith
2009-10-06 17:40 ` Linux 2.6.32-rc3 Len Brown
2009-10-06 18:16 ` Linus Torvalds
2009-10-07 22:33 ` Len Brown
2009-10-06 17:45 ` Dirk Hohndel
2009-10-06 19:22 ` Joel Becker
[not found] ` <4ACB77ED.6060104@grm.uci.cu>
2009-10-06 18:00 ` Herlin R. Matos Lastres
2009-10-15 15:51 ` Frans Pop
2009-10-06 15:42 ` Linus Torvalds
2009-10-06 17:09 ` Frans Pop
2009-10-06 17:34 ` Stefan Richter
2009-10-06 17:41 ` Linus Torvalds
2009-10-06 18:56 ` david
2009-10-06 18:23 ` Frans Pop
2009-10-06 19:23 ` Stefan Richter
2009-10-06 17:44 ` Theodore Tso
2009-10-06 18:14 ` Theodore Tso
2009-10-06 18:20 ` Linus Torvalds
2009-10-06 16:40 ` Frans Pop
2009-10-06 18:35 ` Linus Torvalds
2009-10-06 19:37 ` Frans Pop
2009-10-07 21:39 ` Steven Rostedt
2009-10-08 15:20 ` Frans Pop
2009-10-06 15:29 ` Stefan Richter
2009-10-06 17:08 ` Ingo Molnar
2009-10-06 17:20 ` Stefan Richter
2009-10-06 21:33 ` Benjamin Herrenschmidt
2009-10-06 22:19 ` Linus Torvalds
2009-10-07 1:22 ` Dave Airlie
2009-10-07 2:31 ` Theodore Tso
2009-10-07 2:45 ` Benjamin Herrenschmidt
2009-10-10 12:09 ` Pavel Machek
2009-10-10 12:18 ` Felipe Contreras
2009-10-07 3:23 ` Linus Torvalds
2009-10-07 3:31 ` Linus Torvalds
2009-10-07 13:52 ` Theodore Tso
2009-10-07 14:52 ` Mike Galbraith
2009-10-07 17:44 ` david
2009-10-07 18:13 ` Mike Galbraith
2009-10-07 4:02 ` Justin P. Mattock
2009-10-07 10:41 ` 2.6.32-rc3: floating-point build failure (undefined reference to `__udivdi3' in menu governor) Andreas Mohr
2009-10-07 14:23 ` Arjan van de Ven
2009-10-07 17:34 ` Andreas Mohr
2009-10-07 17:45 ` Arjan van de Ven
2009-10-07 17:45 ` Kyle McMartin
2009-10-09 16:01 ` Andreas Mohr
2009-10-09 16:32 ` Arjan van de Ven
2009-10-09 17:08 ` Kyle McMartin
2009-10-09 17:12 ` Arjan van de Ven
2010-01-04 21:31 [patch] kbuild: improve version string logic David Rientjes
2010-01-05 13:59 ` Michal Marek
2010-01-05 14:11 ` Stephen Rothwell
2010-01-13 21:01 ` David Rientjes
2010-01-16 6:37 ` Ingo Molnar
2010-01-16 7:34 ` Stephen Rothwell
2010-01-16 9:26 ` Ingo Molnar
2010-01-18 9:40 ` Michal Marek
2010-01-18 10:45 ` David Rientjes
2010-01-18 11:15 ` Michal Marek
2010-01-18 15:53 ` Jiri Kosina
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20091006173508.GA4786@elte.hu \
--to=mingo@elte.hu \
--cc=hohndel@infradead.org \
--cc=lenb@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).