[Xen-devel] [PATCH] xen: use more fixed strings to build the hypervisor
It is expected that repeated builds of identical sources results in identical binaries on different hosts at different build times. This fails for xen.gz and xen.efi because unstable strings are included in the binaries. In addition to existing variables use XEN_BUILD_DATE, XEN_BUILD_TIME and XEN_BUILD_HOST to specify fixed strings during build. Signed-off-by: Olaf Hering o...@aepfle.de Cc: Ian Campbell ian.campb...@citrix.com Cc: Ian Jackson ian.jack...@eu.citrix.com Cc: Jan Beulich jbeul...@suse.com Cc: Keir Fraser k...@xen.org Cc: Tim Deegan t...@xen.org --- xen/Makefile | 9 ++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/xen/Makefile b/xen/Makefile index 72c1313..47f003c 100644 --- a/xen/Makefile +++ b/xen/Makefile @@ -8,6 +8,9 @@ export XEN_FULLVERSION = $(XEN_VERSION).$(XEN_SUBVERSION)$(XEN_EXTRAVERSION) export XEN_WHOAMI ?= $(USER) export XEN_DOMAIN ?= $(shell ([ -x /bin/dnsdomainname ] /bin/dnsdomainname) || ([ -x /bin/domainname ] /bin/domainname || echo [unknown])) +export XEN_BUILD_DATE ?= $(shell LC_ALL=C date) +export XEN_BUILD_TIME ?= $(shell LC_ALL=C date +%T) +export XEN_BUILD_HOST ?= $(shell hostname) export BASEDIR := $(CURDIR) export XEN_ROOT := $(BASEDIR)/.. @@ -126,11 +129,11 @@ delete-unfresh-files: # compile.h contains dynamic build info. Rebuilt on every 'make' invocation. include/xen/compile.h: include/xen/compile.h.in .banner - @sed -e 's/@@date@@/$(shell LC_ALL=C date)/g' \ - -e 's/@@time@@/$(shell LC_ALL=C date +%T)/g' \ + @sed -e 's/@@date@@/$(XEN_BUILD_DATE)/g' \ + -e 's/@@time@@/$(XEN_BUILD_TIME)/g' \ -e 's/@@whoami@@/$(XEN_WHOAMI)/g' \ -e 's/@@domain@@/$(XEN_DOMAIN)/g' \ - -e 's/@@hostname@@/$(shell hostname)/g' \ + -e 's/@@hostname@@/$(XEN_BUILD_HOST)/g' \ -e 's!@@compiler@@!$(shell $(CC) $(CFLAGS) --version 21 | head -1)!g' \ -e 's/@@version@@/$(XEN_VERSION)/g' \ -e 's/@@subversion@@/$(XEN_SUBVERSION)/g' \ ___ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
Re: [Xen-devel] [PATCH] xen: use more fixed strings to build the hypervisor
Olaf Hering writes ([PATCH] xen: use more fixed strings to build the hypervisor): It is expected that repeated builds of identical sources results in identical binaries on different hosts at different build times. This fails for xen.gz and xen.efi because unstable strings are included in the binaries. I like the idea of making our builds more reproducible. And your patch looks correct (although I haven't tested it). In addition to existing variables use XEN_BUILD_DATE, XEN_BUILD_TIME and XEN_BUILD_HOST to specify fixed strings during build. But your commit message is rather odd. The first paragrah describes an expectation which as far as I can tell is not fulfilled by your patch. Your patch just makes it easier to fulfil. And the second paragraph seems to have an English grammar issue. Use [blah] to specify fixed strings during build means, when found in a commit message this commit uses [blah] to specify But your commit doesn't. It merely provides a facility for others to do so. How about It should be possible to repeatedly build identical sources and get identical binaries, even on different hosts at different build times. This fails [etc. etc. ...] Provide variables XEN_BUILD_DATE, XEN_BUILD_TIME and XEN_BUILD_HOST which the build environment can set to fixed strings to get a reproducible build. or some such. Ian. ___ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
Re: [Xen-devel] [PATCH] xen: use more fixed strings to build the hypervisor
On Tue, Nov 18, Ian Jackson wrote: How about It should be possible to repeatedly build identical sources and get identical binaries, even on different hosts at different build times. This fails [etc. etc. ...] Provide variables XEN_BUILD_DATE, XEN_BUILD_TIME and XEN_BUILD_HOST which the build environment can set to fixed strings to get a reproducible build. or some such. Thanks. Do you want me to resend with this updated changelog, or will it be used while applying? Olaf ___ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel