Bug#831379: live-build: please set xorriso's "modification time" to SOURCE_DATE_EPOCH
Source: live-build
Version: 1:20151215
Severity: wishlist
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: timestamps toolchain
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org
Hi,
I'm working on the "reproducible builds" effort [0]. One first step for
reproducible ISO images is to set --modification-time to xorrisofs:
\fB--modification-date=YYYYMMDDhhmmsscc\fR
Set a timestring that overrides ISO image creation and modification timestamps
literally.
It must consist of 16 decimal digits which form YYYYMMDDhhmmsscc, with
YYYY between 1970 and 2999. Time zone is GMT.
It is supposed to match this GRUB line:
.br
search \-\-fs\-uuid \-\-set YYYY\-MM\-DD\-hh\-mm\-ss\-cc
.br
E.g. 2010040711405800 is 7 Apr 2010 11:40:58 (+0 centiseconds).
Patch attached that sets it to the value of SOURCE_DATE_EPOCH[1].
[0] https://wiki.debian.org/ReproducibleBuilds
[1] https://reproducible-builds.org/specs/source-date-epoch/
Regards,
--
,''`.
: :' : Chris Lamb
`. `'` lamby@debian.org / chris-lamb.co.uk
`-
diff --git a/scripts/build/binary_iso b/scripts/build/binary_iso
index d8b1553..c495d81 100755
--- a/scripts/build/binary_iso
+++ b/scripts/build/binary_iso
@@ -107,6 +107,9 @@ then
XORRISO_OPTIONS="${XORRISO_OPTIONS} -V \"${LB_ISO_VOLUME}\""
fi
+# Set an explicit modification date
+XORRISO_OPTIONS="${XORRISO_OPTIONS} --modification-date=$(date --utc --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%Y%m%d%H%m%S00)"
+
LB_PRIMARY_BOOTLOADER=$(echo "${LB_BOOTLOADERS}" | awk -F, '{ print $1 }')
# Handle xorriso architecture specific options
diff --git a/scripts/build/source_iso b/scripts/build/source_iso
index 0a8848d..c280d30 100755
--- a/scripts/build/source_iso
+++ b/scripts/build/source_iso
@@ -98,6 +98,9 @@ then
XORRISO_OPTIONS="${XORRISO_OPTIONS} -V \"${LB_ISO_VOLUME}\""
fi
+# Set an explicit modification date
+XORRISO_OPTIONS="${XORRISO_OPTIONS} --modification-date=$(date --utc --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%Y%m%d%H%m%S00)"
+
# Moving image
mv source chroot
Reply to: