FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Ubuntu > Ubuntu Kernel Team

 
 
LinkBack Thread Tools
 
Old 12-02-2008, 01:46 PM
Andy Whitcroft
 
Default UBUNTU: expose the debian changelog version number via the kernel build number

We currently expose the Ubuntu ABI via the basic kernel version
number (in /proc/version and uname) and expose the full version via
/proc/version_signature. We do this to maintain stability in the naming
of our modules simplifying external module updates. But this does mean
that the normal version is lacking some information needed to directly
identify the actual build, both to normal tools and more importantly in
the Oops/panic output:

$ cat /proc/version
Linux version 2.6.27-10-generic (root@dm) (gcc version 4.3.2 (Ubuntu
4.3.2-1ubuntu11) ) #1 SMP Mon Dec 1 17:56:07 GMT 2008
$ cat /proc/version_signature
Ubuntu 2.6.27-10.21~lp276943apw1-generic

This patch additionally exposed the version suffix via the 'version'
field, the #1 SMP <date> section above as below. This exposes the
upload number plus and relative updates:

$ cat /proc/version
Linux version 2.6.27-10-generic (root@dm) (gcc version 4.3.2 (Ubuntu
4.3.2-1ubuntu11) ) #21~lp276943apw1 SMP Mon Dec 1 17:56:07 GMT 2008

This has the advantage that the oops reporter also reports the the
beginning of this field (up to the first space) as part of a panic so
they would then look like the below which should aid kernel
identification:

Pid: 2847, comm: grub Not tainted 2.6.27-10-generic #21~lp276943apw1

For autobuilder generated builds we also add a -Ubuntu suffix indicating
they are offical releases. This also appears with the upload number in
oopses.

Pid: 2847, comm: grub Not tainted 2.6.27-10-generic #21-Ubuntu

This may be enough for kerneloops to know they are ours.

Signed-off-by: Andy Whitcroft <apw@canonical.com>
---
debian/rules.d/0-common-vars.mk | 9 ++++++++-
debian/rules.d/1-maintainer.mk | 1 +
2 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/debian/rules.d/0-common-vars.mk b/debian/rules.d/0-common-vars.mk
index f9d12e9..30721b1 100644
--- a/debian/rules.d/0-common-vars.mk
+++ b/debian/rules.d/0-common-vars.mk
@@ -53,6 +53,11 @@ prev_abinum := $(shell echo $(prev_revision) | sed -e 's/..*//')$(abi_suffix)

abi_release := $(release)-$(abinum)

+uploadnum := $(shell echo $(revision) | sed -e 's/.*.//')
+ifneq ($(wildcard /CurrentlyBuilding),)
+ uploadnum := $(uploadnum)-Ubuntu
+endif
+
# We force the sublevel to be exactly what we want. The actual source may
# be an in development git tree. We want to force it here instead of
# committing changes to the top level Makefile
@@ -91,7 +96,9 @@ conc_level = -j$(CONCURRENCY_LEVEL)

# target_flavour is filled in for each step
kmake = make ARCH=$(build_arch) EXTRAVERSION=-$(abinum)-$(target_flavour)
- CONFIG_DEBUG_SECTION_MISMATCH=y SUBLEVEL=$(SUBLEVEL)
+ CONFIG_DEBUG_SECTION_MISMATCH=y SUBLEVEL=$(SUBLEVEL)
+ KBUILD_BUILD_VERSION="$(uploadnum)"
+
ifneq ($(LOCAL_ENV_CC),)
kmake += CC=$(LOCAL_ENV_CC) DISTCC_HOSTS=$(LOCAL_ENV_DISTCC_HOSTS)
endif
diff --git a/debian/rules.d/1-maintainer.mk b/debian/rules.d/1-maintainer.mk
index eb95413..c8f473a 100644
--- a/debian/rules.d/1-maintainer.mk
+++ b/debian/rules.d/1-maintainer.mk
@@ -51,6 +51,7 @@ printenv:
@echo "release = $(release)"
@echo "revisions = $(revisions)"
@echo "revision = $(revision)"
+ @echo "uploadnum = $(uploadnum)"
@echo "prev_revisions = $(prev_revisions)"
@echo "prev_revision = $(prev_revision)"
@echo "abinum = $(abinum)"
--
1.6.0.4.911.gc990


--
kernel-team mailing list
kernel-team@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/kernel-team
 

Thread Tools




All times are GMT. The time now is 10:42 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org