78 lines
2.0 KiB
Diff
78 lines
2.0 KiB
Diff
|
From 052d24d8217c51c572c2f6cbb4a687be2e8ba52d Mon Sep 17 00:00:00 2001
|
||
|
From: Brice Waegeneire <brice@waegenei.re>
|
||
|
Date: Fri, 5 Jun 2020 14:38:43 +0200
|
||
|
Subject: [PATCH] [geniso] Make it reproducible
|
||
|
|
||
|
Some timestamps get embedded in the generated ISO, making it
|
||
|
unreproducible so we overwrite those timestamps to be at the UNIX epoch.
|
||
|
---
|
||
|
src/util/geniso | 24 +++++++++++++++++++++---
|
||
|
1 file changed, 21 insertions(+), 3 deletions(-)
|
||
|
|
||
|
diff --git a/src/util/geniso b/src/util/geniso
|
||
|
index ff090d4a..e032ffb0 100755
|
||
|
--- a/src/util/geniso
|
||
|
+++ b/src/util/geniso
|
||
|
@@ -11,6 +11,13 @@ function help() {
|
||
|
echo " -o FILE save iso image to file"
|
||
|
}
|
||
|
|
||
|
+function reset_timestamp() {
|
||
|
+ for f in "$1"/*; do
|
||
|
+ touch -t 197001010100 "$f"
|
||
|
+ done
|
||
|
+ touch -t 197001010100 "$1"
|
||
|
+}
|
||
|
+
|
||
|
LEGACY=0
|
||
|
FIRST=""
|
||
|
|
||
|
@@ -37,8 +44,9 @@ if [ -z "${OUT}" ]; then
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
-# There should either be mkisofs or the compatible genisoimage program
|
||
|
-for command in genisoimage mkisofs; do
|
||
|
+# There should either be mkisofs, xorriso or the compatible genisoimage
|
||
|
+# program
|
||
|
+for command in xorriso genisoimage mkisofs; do
|
||
|
if ${command} --version >/dev/null 2>/dev/null; then
|
||
|
mkisofs=(${command})
|
||
|
break
|
||
|
@@ -46,8 +54,10 @@ for command in genisoimage mkisofs; do
|
||
|
done
|
||
|
|
||
|
if [ -z "${mkisofs}" ]; then
|
||
|
- echo "${0}: mkisofs or genisoimage not found, please install or set PATH" >&2
|
||
|
+ echo "${0}: mkisofs, xorriso or genisoimage not found, please install or set PATH" >&2
|
||
|
exit 1
|
||
|
+elif [ "$mkisofs" = "xorriso" ]; then
|
||
|
+ mkisofs+=(-as mkisofs)
|
||
|
fi
|
||
|
|
||
|
dir=$(mktemp -d bin/iso.dir.XXXXXX)
|
||
|
@@ -115,6 +125,8 @@ case "${LEGACY}" in
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
+ reset_timestamp "$dir"
|
||
|
+
|
||
|
# generate the iso image
|
||
|
"${mkisofs[@]}" -b boot.img -output ${OUT} ${dir}
|
||
|
;;
|
||
|
@@ -127,6 +139,12 @@ case "${LEGACY}" in
|
||
|
cp ${LDLINUX_C32} ${dir}
|
||
|
fi
|
||
|
|
||
|
+ reset_timestamp "$dir"
|
||
|
+
|
||
|
+ if [ "${mkisofs[0]}" = "xorriso" ]; then
|
||
|
+ mkisofs+=(-isohybrid-mbr "$SYSLINUX_MBR_DISK_PATH")
|
||
|
+ fi
|
||
|
+
|
||
|
# generate the iso image
|
||
|
"${mkisofs[@]}" -b isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -output ${OUT} ${dir}
|
||
|
|
||
|
--
|
||
|
2.26.2
|