Source: libiio
Version: 0.19-1
Severity: wishlist
Tags: patch
User: reproducible-bui...@lists.alioth.debian.org
Usertags: timestamps
X-Debbugs-Cc: reproducible-b...@lists.alioth.debian.org
Hi,
Whilst working on the Reproducible Builds effort [0] we noticed that
libiio could not be built reproducibly.
This is because it uses the current build time in the generated
manpages. Patch attached that uses SOURCE_DATE_EPOCH [1].
[0] https://reproducible-builds.org/
[1] https://reproducible-builds.org/docs/source-date-epoch/
Regards,
--
,''`.
: :' : Chris Lamb
`. `'` la...@debian.org / chris-lamb.co.uk
`-
--- a/debian/patches/reproducible-build2.patch 1970-01-01 01:00:00.000000000
+0100
--- b/debian/patches/reproducible-build2.patch 2020-09-17 10:46:35.259968017
+0100
@@ -0,0 +1,25 @@
+Description: Make the build reproducible
+Author: Chris Lamb <la...@debian.org>
+Last-Update: 2020-09-17
+
+--- libiio-0.19.orig/man/CMakeLists.txt
++++ libiio-0.19/man/CMakeLists.txt
+@@ -1,9 +1,15 @@
+ if (WITH_MAN)
+ find_program(BASH_EXECUTABLE bash)
+ find_program(DATE_EXECUTABLE date)
+- execute_process(
+- COMMAND ${DATE_EXECUTABLE} "+%d %B %Y"
+- OUTPUT_VARIABLE CMAKE_DATE OUTPUT_STRIP_TRAILING_WHITESPACE)
++ if (DEFINED ENV{SOURCE_DATE_EPOCH})
++ execute_process(
++ COMMAND ${DATE_EXECUTABLE} "-u" "-d"
"@$ENV{SOURCE_DATE_EPOCH}" "+%d %B %Y"
++ OUTPUT_VARIABLE CMAKE_DATE
OUTPUT_STRIP_TRAILING_WHITESPACE)
++ else ()
++ execute_process(
++ COMMAND ${DATE_EXECUTABLE} "+%d %B %Y"
++ OUTPUT_VARIABLE CMAKE_DATE
OUTPUT_STRIP_TRAILING_WHITESPACE)
++ endif ()
+ execute_process(
+ COMMAND ${BASH_EXECUTABLE} "-c"
"${CMAKE_CURRENT_SOURCE_DIR}/make_man.sh > ${CMAKE_BINARY_DIR}/libiio.3.in"
+ )
--- a/debian/patches/series 2020-09-17 10:40:36.959203553 +0100
--- b/debian/patches/series 2020-09-17 10:46:33.979951070 +0100
@@ -9,3 +9,4 @@
0009-usb-Add-trigger-support-to-the-USB-backend.patch
reproducible-build.patch
python-setup-libiio
+reproducible-build2.patch