[pve-devel] [RFC kernel] fix #1276: include package version in uname information

Wolfgang Bumiller w.bumiller at proxmox.com
Wed Feb 8 16:07:59 CET 2017


+1024

On Wed, Feb 08, 2017 at 03:49:46PM +0100, Fabian Grünbichler wrote:
> Signed-off-by: Fabian Grünbichler <f.gruenbichler at proxmox.com>
> ---
> note: adapted from Debian's build script. this changes
> 
> Linux node2 4.4.40-1-pve #1 SMP Wed Feb 8 15:28:59 CET 2017 x86_64 GNU/Linux
> 
> into
> 
> Linux node1 4.4.40-1-pve #1 SMP PVE 4.4.40-80 (Wed, 8 Feb 2017 13:10:51 +0100) x86_64 GNU/Linux
> 
> 
>  Makefile                      |  4 +++-
>  uname-version-timestamp.patch | 33 +++++++++++++++++++++++++++++++++
>  2 files changed, 36 insertions(+), 1 deletion(-)
>  create mode 100644 uname-version-timestamp.patch
> 
> diff --git a/Makefile b/Makefile
> index 132521e..ed7e307 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -17,6 +17,7 @@ HDRPACKAGE=pve-headers-${KVNAME}
>  
>  ARCH=amd64
>  GITVERSION:=$(shell cat .git/refs/heads/master)
> +CHANGELOG_DATE:=$(shell dpkg-parsechangelog -SDate -lchangelog.Debian)
>  
>  TOP=$(shell pwd)
>  
> @@ -241,7 +242,7 @@ PVE_CONFIG_OPTS= \
>  	cp ${KERNEL_CFG_ORG} ${KERNEL_SRC}/.config
>  	cd ${KERNEL_SRC}; ./scripts/config ${PVE_CONFIG_OPTS}
>  	cd ${KERNEL_SRC}; make oldconfig
> -	cd ${KERNEL_SRC}; make -j 8
> +	cd ${KERNEL_SRC}; make KBUILD_BUILD_VERSION_TIMESTAMP="PVE ${KERNEL_VER}-${PKGREL} ($(CHANGELOG_DATE))" -j 8
>  	make -C ${KERNEL_SRC}/tools/perf prefix=/usr HAVE_CPLUS_DEMANGLE=1 NO_LIBPYTHON=1 NO_LIBPERL=1 NO_LIBCRYPTO=1 PYTHON=python2.7
>  	make -C ${KERNEL_SRC}/tools/perf man
>  	touch $@
> @@ -250,6 +251,7 @@ ${KERNEL_SRC}/README ${KERNEL_CFG_ORG}: ${KERNELSRCTAR}
>  	rm -rf ${KERNEL_SRC}
>  	tar xf ${KERNELSRCTAR}
>  	cat ${KERNEL_SRC}/debian.master/config/config.common.ubuntu ${KERNEL_SRC}/debian.master/config/amd64/config.common.amd64 ${KERNEL_SRC}/debian.master/config/amd64/config.flavour.generic > ${KERNEL_CFG_ORG}
> +	cd ${KERNEL_SRC}; patch -p1 < ../uname-version-timestamp.patch
>  	cd ${KERNEL_SRC}; patch -p1 <../bridge-patch.diff
>  	#cd ${KERNEL_SRC}; patch -p1 <../bridge-forward-ipv6-neighbor-solicitation.patch
>  	#cd ${KERNEL_SRC}; patch -p1 <../add-empty-ndo_poll_controller-to-veth.patch
> diff --git a/uname-version-timestamp.patch b/uname-version-timestamp.patch
> new file mode 100644
> index 0000000..5cd565c
> --- /dev/null
> +++ b/uname-version-timestamp.patch
> @@ -0,0 +1,33 @@
> +From: Ben Hutchings <ben at decadent.org.uk>
> +Subject: Make mkcompile_h accept an alternate timestamp string
> +Date: Tue, 12 May 2015 19:29:22 +0100
> +Forwarded: not-needed
> +
> +We want to include the Debian version in the utsname::version string
> +instead of a full timestamp string.  However, we still need to provide
> +a standard timestamp string for gen_initramfs_list.sh to make the
> +kernel image reproducible.
> +
> +Make mkcompile_h use $KBUILD_BUILD_VERSION_TIMESTAMP in preference to
> +$KBUILD_BUILD_TIMESTAMP.
> +
> +--- a/scripts/mkcompile_h
> ++++ b/scripts/mkcompile_h
> +@@ -37,10 +37,14 @@ else
> + 	VERSION=$KBUILD_BUILD_VERSION
> + fi
> + 
> +-if [ -z "$KBUILD_BUILD_TIMESTAMP" ]; then
> +-	TIMESTAMP=`date`
> ++if [ -z "$KBUILD_BUILD_VERSION_TIMESTAMP" ]; then
> ++	if [ -z "$KBUILD_BUILD_TIMESTAMP" ]; then
> ++		TIMESTAMP=`date`
> ++	else
> ++		TIMESTAMP=$KBUILD_BUILD_TIMESTAMP
> ++	fi
> + else
> +-	TIMESTAMP=$KBUILD_BUILD_TIMESTAMP
> ++	TIMESTAMP=$KBUILD_BUILD_VERSION_TIMESTAMP
> + fi
> + if test -z "$KBUILD_BUILD_USER"; then
> + 	LINUX_COMPILE_BY=$(whoami | sed 's/\\/\\\\/')
> -- 
> 2.1.4
> 
> 
> _______________________________________________
> pve-devel mailing list
> pve-devel at pve.proxmox.com
> http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel




More information about the pve-devel mailing list