Build Reproducibility Workshop Report

Mojca Miklavec mojca at macports.org
Wed Dec 9 03:55:16 PST 2015


On 9 December 2015 at 12:14, Rainer Müller wrote:
>
>> To fix the timestamp issues, I am looking for a suitable value to use as
>> SOURCE_DATE_EPOCH and then add a find statement before creating the
>> archive that will put an upper mtime limit on all files to be packaged.
>> I am not yet sure what a good (reproducible!) timestamp might be:
>>  - The Portfile mtime would be perfect, but is not preserved by
>>    Subversion, so we cannot rely on it. It is preserved by our rsync
>>    sync, but the mtime in that is probably meaningless since it's the
>>    one generated on the rsync server during svn update.
>
> Subversion can be configured to apply the commit timestamps to files
> (use-commit-times=yes). We could use that on the server creating the
> port tarball for rsync. Although I would prefer a more generic solution.
>
> Previously I wanted to abandon keywords, but taking the date from the
> expanded $Id$ in the Portfile would probably be quite handy for this...

If we stick with SVN, one could extract "Last Changed Date" from "svn
info" on the directory. An example where this wouldn't work too well
are subports (where only one subport changes, but not the others) or
random edits, even if only for whitespace changes on the Portfile. I
don't know how problematic those random edits are in general.

Clemens, I guess we can count on a talk (and/or discussion/hacking
session) about all this at the meeting?
http://trac.macports.org/wiki/Meetings/MacPortsMeeting2016
Feel free to make an entry somewhere on the page.

Mojca


More information about the macports-dev mailing list