Bug#1068173: pg-gvm: please make the build reproducible
Chris Lamb
lamby at debian.org
Mon Apr 1 10:19:34 BST 2024
Source: pg-gvm
Version: 22.6.2-1
Severity: wishlist
Tags: patch
User: reproducible-builds at lists.alioth.debian.org
Usertags: filesystem
X-Debbugs-Cc: reproducible-bugs at lists.alioth.debian.org
Hi,
Whilst working on the Reproducible Builds effort [0], we noticed that
pg-gvm could not be built reproducibly.
This is because it iterated over input files in the underlying (i.e.
nondeterministic) filesystem order.
A patch is attached that uses sort(1) to sort them, ensuring that it
will work irrespective of the current locale and whether there are
spaces in the build path.
[0] https://reproducible-builds.org/
Regards,
--
,''`.
: :' : Chris Lamb
`. `'` lamby at debian.org / chris-lamb.co.uk
`-
-------------- next part --------------
--- a/debian/patches/reproducible-build.patch 1970-01-01 01:00:00.000000000 +0100
--- b/debian/patches/reproducible-build.patch 2024-04-01 10:17:16.629152522 +0100
@@ -0,0 +1,15 @@
+Description: Make the build reproducible
+Author: Chris Lamb <lamby at debian.org>
+Last-Update: 2024-04-01
+
+--- pg-gvm-22.6.2.orig/CMakeLists.txt
++++ pg-gvm-22.6.2/CMakeLists.txt
+@@ -175,7 +175,7 @@ add_custom_command(
+ OUTPUT ${SQLOUT}
+ COMMAND mkdir -p ${CMAKE_BINARY_DIR}/sqlin
+ COMMAND cp ${SQL} ${CMAKE_BINARY_DIR}/sqlin/
+- COMMAND cd ${CMAKE_BINARY_DIR}/sqlin/ && find -type f | xargs cat > ${CMAKE_BINARY_DIR}/${SQLOUT}
++ COMMAND cd ${CMAKE_BINARY_DIR}/sqlin/ && find -type f -print0 | LC_ALL=C sort -z | xargs -0 cat > ${CMAKE_BINARY_DIR}/${SQLOUT}
+ WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
+ DEPENDS ${SQL})
+
--- a/debian/patches/series 1970-01-01 01:00:00.000000000 +0100
--- b/debian/patches/series 2024-04-01 10:17:15.685149789 +0100
@@ -0,0 +1 @@
+reproducible-build.patch
More information about the Reproducible-bugs
mailing list