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