On Fri 2015-06-05 02:06:40 -0400, Daniel Kahn Gillmor wrote:
> For reproducibility alone, the two relevant changes to apply if
> libisoburn debian packaging is rebuilding the docs from the texinfo
> would just be:
> http://libburnia-project.org/changeset/5190/libisoburn/trunk/xorriso/parse_exec.c
> http://libburnia-project.org/changeset/5190/libisoburn/trunk/xorriso/xorriso.texi

The attached patch works to just enable the c argument to -alter_date in
1.3.2-1.1.  with that patch, i can reliably create reproducible ISOs by
sorting the extents and fixing the timestamps.

It looks like the libisoburn debian packaging isn't rebuilding the
documentation from the .texi sources, so the manpage and info pages
aren't getting updated with the new flags to -alter_date, though.

I'd be happy to NMU this targeted patch as an interim step toward
reproducibility unless the pkg-libburnia maintainers plan to upload the
new upstream release sometime soon.

George, maybe you can comment on those plans?



From a1af7514e72a7ba4ca788cc5b0f443a675e7b439 Mon Sep 17 00:00:00 2001
From: scdbackup <scdbackup@fff8544e-141b-0410-a922-c1ea1f00b384>
Date: Wed, 27 Nov 2013 09:51:05 +0000
Subject: [PATCH] New -alter_date types: a-c , m-c , b-c , c

git-svn-id: http://svn.libburnia-project.org/libisoburn/trunk@5190 fff8544e-141b-0410-a922-c1ea1f00b384
 xorriso/parse_exec.c        |   9 ++++
 xorriso/xorriso.texi        |  30 +++++++++---
 2 files changed, 114 insertions(+), 65 deletions(-)

Minimized by Daniel Kahn Gillmor <d...@fifthhorseman.net>

--- a/xorriso/parse_exec.c
+++ b/xorriso/parse_exec.c
@@ -2654,12 +2654,21 @@
  int ret;
+ *t_type= 0;
  if(strcmp(time_type, "a")==0)
    (*t_type)|= 1;
+ else if(strcmp(time_type, "a-c")==0)
+   (*t_type)|= 1 | 256;
  else if(strcmp(time_type, "m")==0)
    (*t_type)|= 4;
+ else if(strcmp(time_type, "m-c")==0)
+   (*t_type)|= 4 | 256;
  else if(strcmp(time_type, "b")==0)
    (*t_type)|= 5;
+ else if(strcmp(time_type, "b-c")==0)
+   (*t_type)|= 5 | 256;
+ else if(strcmp(time_type, "c")==0)
+   (*t_type)|= 2 | 256;
  else {
    sprintf(xorriso->info_text, "%s: Unrecognized type '%s'", cmd, time_type);
    if(!(flag & 1))
--- a/xorriso/xorriso.texi
+++ b/xorriso/xorriso.texi
@@ -1946,9 +1946,18 @@
 @item -alter_date type timestring iso_rr_path [***]
 @kindex -alter_date   sets timestamps in ISO image
 @cindex Timestamps, set in ISO image, -alter_date
-Alter the date entries of a file in the ISO image. type is
-one of "a", "m", "b" for access time, modification time,
-both times.
+Alter the date entries of files in the ISO image. type may be one of
+the following:
+"a" sets access time, updates ctime.
+"m" sets modification time, updates ctime.
+"b" sets access time and modification time, updates ctime.
+"a-c", "m-c", and "b-c" set the times without updating ctime.
+"c" sets the ctime.
 timestring may be in the following formats
 (see also section EXAMPLES):
@@ -1989,6 +1998,10 @@
 conversion. E.g. 2013010720574700, 2013010720574700LOC.
 The last two digits cc (centiseconds) will be ignored, but must be present
 in order to make the format recognizable.
+  -alter_date m-c 2013.11.27.103951 /file1 /file2 --
 @c man .TP
 @item -alter_date_r type timestring iso_rr_path [***]
 @kindex -alter_date_r   sets timestamps in ISO image
@@ -5883,8 +5896,11 @@
 @node ExCharset, ExPseudo, ExBootable, Examples
 @section Change existing file name tree from ISO-8859-1 to UTF-8
 This example assumes that the existing ISO image was written with character
-set ISO-8859-1 but that the readers expected UTF-8. Now a new session with
-the same files gets added with converted file names.
+set ISO-8859-1 but that the readers expected UTF-8. Now a new session
+gets added with converted file names.
+Command -changes_pending "yes" enables writing despite the lack of any
+manipulation command.
 In order to avoid any weaknesses of the local character set, this command
 pretends that it uses already the final target set UTF-8.
 Therefore strange file names may appear in messages, which
@@ -5895,7 +5911,7 @@
    -out_charset UTF-8 -backslash_codes on -dev /dev/sr0 \
-   -alter_date m +0 / @minus{}@minus{} -commit -eject all
+   -changes_pending yes -commit -eject all
 @c man .SS
 @c man .B Operate on storage facilities other than optical drives
 @node ExPseudo, ExCdrecord, ExCharset, Examples

Attachment: signature.asc
Description: PGP signature

Reproducible-builds mailing list

Reply via email to