[PATCH 1/1] UBUNTU: expose the debian changelog version number via the kernel build number
Ben Collins
ben.collins at canonical.com
Tue Dec 2 14:49:01 UTC 2008
On Tue, 2008-12-02 at 14:46 +0000, Andy Whitcroft wrote:
> 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:
Sweet. Mix this with removing the -ub- version we had in -1.1 for
jaunty, and I'm all happy. ACK!
> $ cat /proc/version
> Linux version 2.6.27-10-generic (root at 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 at 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 at 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
>
>
More information about the kernel-team
mailing list