linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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)


  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).