[Reproducible-builds] [PATCH v3] Makefile: fix SOURCE_DATE_EPOCH for *BSD host

Andreas Bießmann andreas.devel at googlemail.com
Wed Sep 2 07:41:05 UTC 2015


On 09/01/2015 07:03 PM, Paul Kocialkowski wrote:
> Le vendredi 28 août 2015 à 10:29 +0200, Andreas Bießmann a écrit :
>> The SOURCE_DATE_EPOCH mechanism for reproducible builds require some date(1)
>> with -d switch to print the relevant date and time strings of another point of
>> time.
>>
>> In other words it requires some date(1) that behaves like the GNU date(1) [1].
>> The BSD date(1) [2] on the other hand has the same switch but with a different
>> meaning.
>>
>> Respect this and check the date(1) abilities before usage, error on non
>> working version.  Use the well known pre- and suffixes for the GNU variant of
>> a tool on *BSD hosts to search for a working date(1) version.
> 
> Looks good to me! Have you actually tried setting SOURCE_DATE_EPOCH to a
> fixed value, building U-Boot twice and checking that the produced file
> is the very same?

It works:

---8<---
andreas at imac % shasum /tmp/u-boot.img.1441178617 u-boot.img
/tmp/u-boot.bin.1441178617 u-boot.bin /tmp/boot.bin.1441178617 boot.bin
1a779ba79efa1874a5b307650392737d861005bb  /tmp/u-boot.img.1441178617
1a779ba79efa1874a5b307650392737d861005bb  u-boot.img
dbe56f02e510ee251a2e5f9f8b6ce430884557bb  /tmp/u-boot.bin.1441178617
dbe56f02e510ee251a2e5f9f8b6ce430884557bb  u-boot.bin
4aa9b3ba9641febae0bfdbb374c54c287b463ac0  /tmp/boot.bin.1441178617
4aa9b3ba9641febae0bfdbb374c54c287b463ac0  boot.bin
andreas at imac % uname -a
Darwin imac 14.5.0 Darwin Kernel Version 14.5.0: Wed Jul 29 02:26:53 PDT
2015; root:xnu-2782.40.9~1/RELEASE_X86_64 x86_64
andreas at imac % git describe
v2015.10-rc2-304-gb7e84c9
--->8---

Both are fresh builds with the same SOURCE_DATE_EPOCH set. However using
the time stamp from timestamp_autogenerated.h does _not_ work due to the
wrong TZ (+0200 for me, UTC with SOURCE_DATE_EPOCH). But I guess this is
a known problem.

Andreas



More information about the Reproducible-builds mailing list