Hello community, here is the log from the commit of package xen for openSUSE:Factory checked in at 2018-11-13 16:23:37 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/xen (Old) and /work/SRC/openSUSE:Factory/.xen.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xen" Tue Nov 13 16:23:37 2018 rev:256 rq:647072 version:4.11.0_09 Changes: -------- --- /work/SRC/openSUSE:Factory/xen/xen.changes 2018-10-18 15:28:32.178841944 +0200 +++ /work/SRC/openSUSE:Factory/.xen.new/xen.changes 2018-11-13 16:23:56.974832220 +0100 @@ -1,0 +2,8 @@ +Wed Oct 24 08:21:01 UTC 2018 - Bernhard Wiedemann <bwiedem...@suse.com> + +- make package build reproducible (boo#1047218, boo#1062303) + * Set SMBIOS_REL_DATE + * Update tmp_build.patch to use SHA instead of random build-id + * Add reproducible.patch to use --no-insert-timestamp + +------------------------------------------------------------------- New: ---- reproducible.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xen.spec ++++++ --- /var/tmp/diff_new_pack.kdvWrF/_old 2018-11-13 16:23:59.534827759 +0100 +++ /var/tmp/diff_new_pack.kdvWrF/_new 2018-11-13 16:23:59.538827752 +0100 @@ -268,6 +268,7 @@ # Build patches Patch99996: xen.stubdom.newlib.patch Patch99998: tmp_build.patch +Patch99999: reproducible.patch Url: http://www.cl.cam.ac.uk/Research/SRG/netos/xen/ BuildRoot: %{_tmppath}/%{name}-%{version}-build %define pyver %(python3 -c "import sys; print(sys.version[:3])") @@ -517,6 +518,7 @@ # Build patches %patch99996 -p1 %patch99998 -p1 +%patch99999 -p1 %build # JWF: Anthony's series to load BIOS from toolstack requires autogen.sh. @@ -553,7 +555,7 @@ export GIT=$(type -P false) export EXTRA_CFLAGS_XEN_TOOLS="$RPM_OPT_FLAGS" export EXTRA_CFLAGS_QEMU_TRADITIONAL="$RPM_OPT_FLAGS" -export SMBIOS_DATE="$SMBIOS_DATE" +export SMBIOS_REL_DATE="$SMBIOS_DATE" export RELDATE="$RELDATE" XEN_VERSION=$XEN_VERSION XEN_SUBVERSION=$XEN_SUBVERSION ++++++ reproducible.patch ++++++ commit e4c8f21e198e739e279b274c17e9246ea9a6d8e5 Author: Bernhard M. Wiedemann <bwiedem...@suse.de> Date: Wed Oct 24 09:50:26 2018 +0200 x86/efi: Do not insert timestamps in efi files in order to make builds reproducible. See https://reproducible-builds.org/ for why this is good. We only add the option, if ld understands it. Signed-off-by: Bernhard M. Wiedemann <bwiedem...@suse.de> diff --git a/Config.mk b/Config.mk index 9b13e75a3e..46b064bcae 100644 --- a/Config.mk +++ b/Config.mk @@ -151,6 +151,14 @@ export XEN_HAS_BUILD_ID=y build_id_linker := --build-id=sha1 endif +ld-ver-timestamp = $(shell $(1) -mi386pep --no-insert-timestamp 2>&1 | \ + grep -q no-insert-timestamp && echo n || echo y) +ifeq ($(call ld-ver-timestamp,$(LD)),n) +ld_no_insert_timestamp := +else +ld_no_insert_timestamp := --no-insert-timestamp +endif + ifndef XEN_HAS_CHECKPOLICY CHECKPOLICY ?= checkpolicy XEN_HAS_CHECKPOLICY := $(shell $(CHECKPOLICY) -h 2>&1 | grep -q xen && echo y || echo n) diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile index 162b0b94c0..866125a8ac 100644 --- a/xen/arch/x86/Makefile +++ b/xen/arch/x86/Makefile @@ -158,6 +158,7 @@ note.o: $(TARGET)-syms EFI_LDFLAGS = $(patsubst -m%,-mi386pep,$(LDFLAGS)) --subsystem=10 EFI_LDFLAGS += --image-base=$(1) --stack=0,0 --heap=0,0 --strip-debug +EFI_LDFLAGS += $(ld_no_insert_timestamp) EFI_LDFLAGS += --section-alignment=0x200000 --file-alignment=0x20 EFI_LDFLAGS += --major-image-version=$(XEN_VERSION) EFI_LDFLAGS += --minor-image-version=$(XEN_SUBVERSION) ++++++ tmp_build.patch ++++++ --- /var/tmp/diff_new_pack.kdvWrF/_old 2018-11-13 16:23:59.902827118 +0100 +++ /var/tmp/diff_new_pack.kdvWrF/_new 2018-11-13 16:23:59.902827118 +0100 @@ -22,7 +22,7 @@ xenstore: xenstore_client.o $(LIBXENSTORE) $(CC) $< $(LDFLAGS) $(LDLIBS_libxenstore) $(LDLIBS_libxentoolcore) $(SOCKET_LIBS) -o $@ $(APPEND_LDFLAGS) -+ $(CC) $< $(CFLAGS) $(LDFLAGS) -Wl,--build-id=uuid -L. -lxenstore $(LDLIBS_libxentoolcore) $(SOCKET_LIBS) -o domu-$@ ++ $(CC) $< $(CFLAGS) $(LDFLAGS) -Wl,--build-id=sha1 -L. -lxenstore $(LDLIBS_libxentoolcore) $(SOCKET_LIBS) -o domu-$@ xenstore-control: xenstore_control.o $(LIBXENSTORE) $(CC) $< $(LDFLAGS) $(LDLIBS_libxenstore) $(LDLIBS_libxentoolcore) $(SOCKET_LIBS) -o $@ $(APPEND_LDFLAGS)