[Reproducible-builds] Reproducible patches for libisoburn and libisofs
Thomas Schmitt
scdbackup at gmx.net
Sat Aug 20 11:11:19 UTC 2016
Hi,
uploaded is
http://www.gnu.org/software/xorriso/xorriso-1.4.5.tar.gz
MD5 245708a0530741dcb2cc30ee4fadaa29
Version timestamp : 2016.08.20.102601
Its -as mkisofs option --set_all_file_dates understands pseudo-timestamp
"set_to_mtime", which changes atime and ctime immediately before writing
begins.
It is implemented as -find action "set_to_mtime". Users who want to apply
it in finely controlled manner do outside mkisofs emulation:
-find ...start_path... ...tests... -exec set_to_mtime --
I tested with debian-8.4.0-amd64-netinst.iso which has quite mixed
timestamps:
$ for i in " " c u ; do ls -ld$i /mnt/iso/README.mirrors.html ; done
-r--r--r-- 1 root root 181263 Mar 21 22:25 /mnt/iso/README.mirrors.html
-r--r--r-- 1 root root 181263 Apr 2 16:43 /mnt/iso/README.mirrors.html
-r--r--r-- 1 root root 181263 Mar 23 02:17 /mnt/iso/README.mirrors.html
After using it as input for
xorriso -as mkisofs -o test.iso -R -J \
--set_all_file_dates set_to_mtime \
/mnt/iso
and mounting the resulting test.iso, i get:
-r--r--r-- 1 root root 181263 Mar 21 22:25 /mnt/iso/README.mirrors.html
-r--r--r-- 1 root root 181263 Mar 21 22:25 /mnt/iso/README.mirrors.html
-r--r--r-- 1 root root 181263 Mar 21 22:25 /mnt/iso/README.mirrors.html
-------------------------------------------------------------------------
I did not change the interpretation of SOURCE_DATE_EPOCH yet.
If you decide for the newer proposal, then apply this change:
--- xorriso/parse_exec.c.orig 2016-08-16 15:15:26.786135631 +0200
+++ xorriso/parse_exec.c 2016-08-20 12:36:31.920225537 +0200
@@ -2584,7 +2584,7 @@ malformed:;
1900 + gmt->tm_year, gmt->tm_mon + 1, gmt->tm_mday,
gmt->tm_hour, gmt->tm_min, gmt->tm_sec);
xorriso->gpt_guid_mode= 2; /* Disk GUID from vol_uuid */
- strcpy(xorriso->all_file_dates, xorriso->vol_uuid);
+ strcpy(xorriso->all_file_dates, "set_to_mtime");
sprintf(xorriso->info_text,
"Environment variable SOURCE_DATE_EPOCH encountered with value %s",
sec_text);
and tell me to do the same.
(I still think that "Specification" in
https://reproducible-builds.org/specs/source-date-epoch/
would justify
strcpy(xorriso->all_file_dates, xorriso->vol_uuid);
but would need some addition before it justifies
strcpy(xorriso->all_file_dates, "set_to_mtime");
)
Have a nice day :)
Thomas
More information about the Reproducible-builds
mailing list