All of lore.kernel.org
 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
  -- strict thread matches above, loose matches on Subject: below --
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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.