[Reproducible-builds] Reproducible patches for libisoburn and libisofs

Thomas Schmitt scdbackup at gmx.net
Mon Aug 15 16:45:39 UTC 2016


Hi,

Holger Levsen wrote:
> usually stuff like locales and language settings
> are already taken from the environment…

Let me see ...

libisofs/util.c:    tz = getenv("TZ");
libisofs/util.c:    tz = getenv("TZ");
in two versions of a fallback function for timegm(3).
Necessary because sysV time processing is so hunchbacked.

xorriso/parse_exec.c: cpt= getenv("MKISOFSRC");
xorriso/parse_exec.c: cpt= getenv("HOME");
That's needed for mkisofs emulation. Joerg Schilling's idea, i assume.

xorriso/sfile.c: home= getenv("HOME");
To find the file $HOME/.xorrisorc. My idea. Grrr.


Chris Lamb wrote:
> > I can't try and convince you -- one last time -- that a single global
> > argument, perhaps set via the environment, would be one way to simplify
> > this?

> SOURCE_DATE_EPOCH is quite special, and the general expectation is that
> it's used if it's set.

It's becomming a crowd ...

Well, if it must be i can make it now an equivalent to option
--modification-date=, --set_all_file_dates, and
--gpt_disk_guid "modification-time".

The specification at
  https://reproducible-builds.org/specs/source-date-epoch/
says
  Upstream build processes MUST use this variable for embedded timestamps
  in place of the "current" date and time. 
So this would not cover Chris' wish to override the timestamps of
all files in the ISO.
But since it's your specs, you may decide that this actually means
  ... in place of any recognizable timestamp.

Please give a sign of confirmation and decide the following:

What to do if an option tries to override SOURCE_DATE_EPOCH ?
  [] override SOURCE_DATE_EPOCH by program options
  [] override program options by SOURCE_DATE_EPOCH
  [] throw error and produce no ISO
The middle alternative would silently sabotage grub-mkrescue runs if
SOURCE_DATE_EPOCH is present and does not match the modification date
set by grub-mkrescue.
Currently i tend to number 1, because it is not supposed to break
reproducibility if it happens in each run.


Ice bucket challenge:
I nominate grub-mkrescue as next candidate for SOURCE_DATE_EPOCH.


Have a nice day :)

Thomas




More information about the Reproducible-builds mailing list