Source: xdmf Severity: normal Tags: patch User: reproducible-bui...@lists.alioth.debian.org Usertags: buildpath usrmerge kernel X-Debbugs-Cc: reproducible-b...@lists.alioth.debian.org
The build path, kernel version and path to the uname binary are embedded in /usr/lib/x86_64-linux-gnu/cmake/Xdmf/XdmfConfig.cmake, which cause reproducibility issues. https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/diffoscope-results/xdmf.html set(XDMF_CMAKE_BINARY_DIR "/build/1st/xdmf-3.0+git20190531/debian/build-mpi-python3.9") vs. set(XDMF_CMAKE_BINARY_DIR "/build/2/xdmf-3.0+git20190531/2nd/debian/build-mpi-python3.9") The attached patch fixes this by sanitizing these values in the XdmfConfig.cmake file. It is unclear if XdmfConfig.cmake actually needs to be included in the package; a better course of action might be to remove the file entirely. With this patch applied(or removing XdmfConfig.cmake from the package), xdmf should become reproducible on tests.reproducible-builds.org. Thanks for maintaining xdmf! live well, vagrant
From 143591a985b25b0baf340537af7a00d51ac9fde1 Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian <vagr...@reproducible-builds.org> Date: Mon, 27 Sep 2021 00:04:08 +0000 Subject: [PATCH] debian/rules: Sanitize XdmfConfig.cmake to fix reproducibility issues. The build path, kernel version and path to the uname binary are embedded in /usr/lib/x86_64-linux-gnu/cmake/Xdmf/XdmfConfig.cmake, which cause reproducibility issues. https://tests.reproducible-builds.org/debian/issues/captures_build_path_issue.html https://tests.reproducible-builds.org/debian/issues/captures_kernel_version_via_CMAKE_SYSTEM_issue.html https://tests.reproducible-builds.org/debian/issues/paths_vary_due_to_usrmerge_issue.html --- debian/rules | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/debian/rules b/debian/rules index 321ae850..c95f8b43 100755 --- a/debian/rules +++ b/debian/rules @@ -91,6 +91,12 @@ override_dh_auto_install: cp debian/build-serial-$$p/lib/__*.so $(PY3DEST)/usr/lib/$$p/dist-packages/xdmf/NoMpi ; \ cp debian/build-mpi-$$p/lib/__*.so $(PY3DEST)/usr/lib/$$p/dist-packages/xdmf ; \ done + # Remove build path and kernel version, and adjust path to + # uname to make build reproducible + sed -i -e "s,$(CURDIR),BUILDDIR,g" \ + -e "s,/usr/bin/uname,/bin/uname,g" \ + -e "s,$(shell uname -r),,g" \ + debian/tmp/usr/lib/x86_64-linux-gnu/cmake/Xdmf/XdmfConfig.cmake override_dh_auto_fixperms: dh_auto_fixperms -- 2.30.2
signature.asc
Description: PGP signature