diff --git a/debian/changelog b/debian/changelog index 06c82dd66..f739b19df 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +linux (3.2.23-2) UNRELEASED; urgency=low + + * linux-image: Include package version in utsname version string + ('uname -v' output) (Closes: #638878) + * linux-source: Drop support for version.$DISTRIBUTION + + -- Ben Hutchings Tue, 24 Jul 2012 02:20:37 +0100 + linux (3.2.23-1) unstable; urgency=low * New upstream stable update: diff --git a/debian/patches/debian/version.patch b/debian/patches/debian/version.patch index 63b0af5a9..0f296e6b9 100644 --- a/debian/patches/debian/version.patch +++ b/debian/patches/debian/version.patch @@ -1,75 +1,11 @@ -From: Bastian Blank -Subject: Add debian version information to kernel version string -Date: Sun, 20 May 2007 11:46:51 +0200 - -Include the package version in /proc/version and the initial log -banner. - -Determine the target distribution ($DISTRIBUTION) with lsb_release, -defaulting to Debian. +From: Ben Hutchings +Subject: Add header file with package version information +Date: Tue, 24 Jul 2012 02:15:43 +0100 For distribution binary packages we assume -$DISTRIBUTION_OFFICIAL_BUILD is set. Add $DISTRIBUTION and -$DISTRIBUTION_VERSION after the kernel version (UTS_RELEASE), and -replace the account name used to build the package with -$DISTRIBUTION_UPLOADER. +$DISTRIBUTION_OFFICIAL_BUILD, $DISTRIBUTOR and $DISTRIBUTION_VERSION +are set. -[bwh: Changed $DISTRIBUTION_UPLOADER to $DISTRIBUTION_MAINTAINER.] - -For custom packages built from a linux-source package, read the -package version from version.$DISTRIBUTION and add that after -the kernel version string. - ---- a/init/version.c -+++ b/init/version.c -@@ -11,6 +11,7 @@ - #include - #include - #include -+#include - #include - - #ifndef CONFIG_KALLSYMS -@@ -37,12 +38,12 @@ struct uts_namespace init_uts_ns = { - }; - EXPORT_SYMBOL_GPL(init_uts_ns); - --/* FIXED STRINGS! Don't touch! */ - const char linux_banner[] = -- "Linux version " UTS_RELEASE " (" LINUX_COMPILE_BY "@" -- LINUX_COMPILE_HOST ") (" LINUX_COMPILER ") " UTS_VERSION "\n"; -+ "Linux version " UTS_RELEASE LINUX_PACKAGE_ID -+ LINUX_COMPILE_ID " (" LINUX_COMPILER ") " UTS_VERSION "\n"; - - const char linux_proc_banner[] = - "%s version %s" -- " (" LINUX_COMPILE_BY "@" LINUX_COMPILE_HOST ")" -+ LINUX_PACKAGE_ID -+ LINUX_COMPILE_ID - " (" LINUX_COMPILER ") %s\n"; ---- a/scripts/mkcompile_h -+++ b/scripts/mkcompile_h -@@ -73,8 +73,18 @@ UTS_TRUNCATE="cut -b -$UTS_LEN" - - echo \#define UTS_VERSION \"`echo $UTS_VERSION | $UTS_TRUNCATE`\" - -- echo \#define LINUX_COMPILE_BY \"`echo $LINUX_COMPILE_BY | $UTS_TRUNCATE`\" -- echo \#define LINUX_COMPILE_HOST \"`echo $LINUX_COMPILE_HOST | $UTS_TRUNCATE`\" -+ DISTRIBUTION=$(lsb_release -is 2>/dev/null) -+ DISTRIBUTION=${DISTRIBUTION:-Debian} -+ -+ if [ "$DISTRIBUTION_OFFICIAL_BUILD" ]; then -+ echo \#define LINUX_COMPILE_BY \"unknown\" -+ echo \#define LINUX_COMPILE_HOST \"$DISTRIBUTION\" -+ echo \#define LINUX_COMPILE_ID \" \($DISTRIBUTION_MAINTAINER\)\" -+ else -+ echo \#define LINUX_COMPILE_BY \"`echo $LINUX_COMPILE_BY | $UTS_TRUNCATE`\" -+ echo \#define LINUX_COMPILE_HOST \"`echo $LINUX_COMPILE_HOST | $UTS_TRUNCATE`\" -+ echo \#define LINUX_COMPILE_ID \" \(\" LINUX_COMPILE_BY \"@\" LINUX_COMPILE_HOST \"\)\" -+ fi - - echo \#define LINUX_COMPILER \"`$CC -v 2>&1 | tail -n 1`\" - ) > .tmpcompile --- a/Makefile +++ b/Makefile @@ -976,7 +976,7 @@ endif @@ -81,30 +17,19 @@ the kernel version string. $(cmd_crmodverdir) archprepare: archscripts prepare1 scripts_basic -@@ -1008,12 +1008,36 @@ define filechk_version.h +@@ -1008,12 +1008,25 @@ define filechk_version.h echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))';) endef -+DISTRIBUTION := $(shell lsb_release -is 2>/dev/null) -+ifeq ($(DISTRIBUTION),) -+DISTRIBUTION := Debian -+endif -+ +ifneq ($(DISTRIBUTION_OFFICIAL_BUILD),) +define filechk_package.h -+ echo \#define LINUX_PACKAGE_ID \" \($(DISTRIBUTION) $(DISTRIBUTION_VERSION)\)\" -+endef -+else -+ifneq ($(wildcard version.$(DISTRIBUTION)),) -+define filechk_package.h -+ echo \#define LINUX_PACKAGE_ID \" \($$(cut -d" " -f1 version.$(DISTRIBUTION))\)\" ++ echo \#define LINUX_PACKAGE_ID \"$(DISTRIBUTOR) $(DISTRIBUTION_VERSION)\" +endef +else +define filechk_package.h -+ echo \#define LINUX_PACKAGE_ID \" \(unknown\)\" ++ echo \#define LINUX_PACKAGE_ID \"\" +endef +endif -+endif + include/linux/version.h: $(srctree)/Makefile FORCE $(call filechk,version.h) diff --git a/debian/rules.real b/debian/rules.real index 8445e5c67..bb29be50d 100644 --- a/debian/rules.real +++ b/debian/rules.real @@ -13,6 +13,11 @@ DEB_BUILD_ARCH := $(shell dpkg-architecture -a'$(ARCH)' -qDEB_BUILD_ARCH) MAINTAINER := $(shell sed -ne 's,^Maintainer: .[^<]*<\([^>]*\)>,\1,p' debian/control) DISTRIBUTION := $(shell dpkg-parsechangelog | sed -ne 's,^Distribution: ,,p') +DISTRIBUTOR := $(shell lsb_release -is 2>/dev/null) +ifeq ($(DISTRIBUTOR),) +DISTRIBUTOR := Debian +endif + export PYTHONPATH = $(CURDIR)/debian/lib/python export DH_OPTIONS export DEB_HOST_ARCH DEB_HOST_GNU_TYPE DEB_BUILD_ARCH @@ -33,7 +38,7 @@ include debian/rules.defs stamp = [ -d $(dir $@) ] || mkdir $(dir $@); touch $@ setup_env := env -u ABINAME -u ABINAME_PART -u ARCH -u FEATURESET -u FLAVOUR -u VERSION -u LOCALVERSION -setup_env += DISTRIBUTION_OFFICIAL_BUILD=1 DISTRIBUTION_MAINTAINER=$(MAINTAINER) DISTRIBUTION_VERSION="$(SOURCEVERSION)" +setup_env += DISTRIBUTION_OFFICIAL_BUILD=1 DISTRIBUTOR="$(DISTRIBUTOR)" DISTRIBUTION_VERSION="$(SOURCEVERSION)" KBUILD_BUILD_TIMESTAMP="$(DISTRIBUTOR) $(SOURCEVERSION)" KBUILD_BUILD_USER="$(word 1,$(subst @, ,$(MAINTAINER)))" KBUILD_BUILD_HOST="$(word 2,$(subst @, ,$(MAINTAINER)))" MAKE_CLEAN = $(setup_env) $(MAKE) MAKE_SELF := $(MAKE) -f debian/rules.real $(MAKEOVERRIDES)