[U-Boot] [Reproducible-builds] [U-Boot, v2] Reproducible U-Boot build support, using SOURCE_DATE_EPOCH

Paul Kocialkowski
2015-08-25T12:12:46Z

Le mardi 25 ao?t 2015 ? 12:20 +0200, Andreas Bie?mann a ?crit :
> On 08/25/2015 11:55 AM, Vagrant Cascadian wrote:
> > On 2015-08-25, Andreas Bie?mann wrote:
> >> On 07/28/2015 05:00 PM, Tom Rini wrote:
> >>> On Sun, Jul 26, 2015 at 06:48:15PM +0200, Paul Kocialkowski wrote:
> >>>> In order to achieve reproducible builds in U-Boot, timestamps that are defined
> >>>> at build-time have to be somewhat eliminated. The SOURCE_DATE_EPOCH environment
> >>>> variable allows setting a fixed value for those timestamps.
> >>>>
> >>>> Simply by setting SOURCE_DATE_EPOCH to a fixed value, a number of targets can be
> >>>> built reproducibly. This is the case for e.g. sunxi devices.
> >>>>
> >>>> However, some other devices might need some more tweaks, especially regarding
> >>>> the image generation tools.
> >>>>
> >>>> Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
> >>>
> >>> Applied to u-boot/master, thanks!
> >>
> >> This commit breaks build on non GNU hosts (like OS X and persumably
> >> other *BSD hosts). Before, those hosts where supported, so for me this
> >> has to be fixed for 2015.10
> >>
> >> We need a) some mechanism to search for the GNU date variant or b) some
> >> wrapper to provide the correct output on those host machines.
> >>
> >> I vote for a), it is acceptable to have the GNU date available but we
> >> should error on 'no GNU date available'. Furthermore we need to have the
> >> date command exchangeable by e.g. gdate, gnudate, ... maybe with full path.
> >
> > There was a proposed patch which only uses the GNU date extensions if
> > SOURCE_DATE_EPOCH environment variable is set, would this sufficiently
> > address your concerns, at least for the short term?
> >
> > Message-Id: <1438337042-30762-1-git-send-email-judge.packham@gmail.com>
> > http://lists.denx.de/pipermail/u-boot/2015-August/221429.html
>
> thanks for the pointer, normal builds work with that change.

I think we should get that patch merged so that it doesn't affect
regular builds on non-GNU hosts. It is also relevant for the purpose it
serves initially, too.

--
Paul Kocialkowski, Replicant developer

Replicant is a fully free Android distribution running on several
devices, a free software mobile operating system putting the emphasis on
freedom and privacy/security.

Website: http://www.replicant.us/
Blog: http://blog.replicant.us/
Wiki/tracker/forums: http://redmine.replicant.us/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150825/2d93b03d/attachment.sig>