[Reproducible-builds] [Mono-dev] making mono builds reproducible (xamarin bz #26842)
directhex at apebox.org
directhex at apebox.org
Mon Feb 16 23:32:58 UTC 2015
Considering the format used in the PE header is epoch seconds, using any other format to override that header seems like a pointless introduction of possible l10n-based parser issues.
Sent from Windows Mail
From: Michael McGlothlin
Sent: Monday, 16 February 2015 23:17
To: Daniel Kahn Gillmor
Cc: mono development list, Henrik Feldt, Jo Shields, Debian Reproducible Builds, Jeroen Frijters
I'd always store time in epochs. Seconds since 1/1/1970 GMT.
The use of textual date strings instead of a epochs is one of the worst things I've seen from the C# way of doing things. I had often wondered why so many programs could have so much trouble with handling dates and times correctly..
Sent from my iPad
> On Feb 16, 2015, at 4:19 PM, Daniel Kahn Gillmor <dkg at fifthhorseman.net> wrote:
>
> Hi Mono folks--
>
> some good discussion has come up on the xamarin bugtracker about being
> able to make builds using the mono toolchain reproducible:
>
> https://bugzilla.xamarin.com/show_bug.cgi?id=26842
>
> Jo Shields offered a one-liner fix to PEWriter.cs to allow the use of an
> environment variable to fix the timestamp epoch, but made it clear that
> more feedback is needed, so i'm raising it here:
>
> from:
>
> public DWORD TimeDateStamp = (uint)(DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalSeconds;
>
> to:
>
> public DWORD TimeDateStamp = Environment.GetEnvironmentVariable("IKVM_WRITER_TIMESTAMP_EPOCH") != null ?
> uint.Parse(Environment.GetEnvironmentVariable("IKVM_WRITER_TIMESTAMP_EPOCH")) :
> (uint)(DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalSeconds;
>
> (i'm not sure whether the integer number of seconds is the best form for
> the environment variable, or whether it would be better to parse a
> standard date string -- from debian's perspective, we can deal with
> either, of course)
>
> And this still doesn't solve the secondary issue of the assembly GUID,
> as Jo noted.
>
> Any thoughts about how to best enable binary-reproducible builds from
> the mono toolchain if the invoker requests them?
>
> Regards,
>
> --dkg
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/reproducible-builds/attachments/20150216/dc4295fc/attachment.html>
More information about the Reproducible-builds
mailing list