[tor-bugs] #3688 [Tor bundles/installation]: Deterministic builds
Tor Bug Tracker & Wiki
blackhole at torproject.org
Thu Apr 25 19:19:10 UTC 2013
#3688: Deterministic builds
--------------------------------------+-------------------------------------
Reporter: mikeperry | Owner: mikeperry
Type: enhancement | Status: assigned
Priority: major | Milestone: TorBrowserBundle 2.3.x-stable
Component: Tor bundles/installation | Version:
Keywords: tbb-2.2.32-5 | Parent:
Points: | Actualpoints:
--------------------------------------+-------------------------------------
Comment(by mikeperry):
Ok, using the hacks from bitcoin's Windows gitian descriptors on Linux, I
got Firefox to build almost identically a few times in a row. The only
differences were in these files: libplc4.so, libplds4.so, libnspr4.so, and
omni.ja.
It looks like all of the differences are due to faketime not faking the
milliseconds in timestamps in those files. This might be because they
didn't (properly?) hook gettimeofday(), but it looks like they at least
tried to do so:
https://github.com/wolfcw/libfaketime/blob/master/src/faketime.c#L519, so
the problem may be deeper.
Here's what I did:
{{{
export CFLAGS="-frandom-seed=tor"
export CXXFLAGS="-frandom-seed=tor"
export TZ=UTC
faketime -f "1970-01-01 00:00:00" bash
make -f client.mk build && make -C obj-* package INNER_MAKE_PACKAGE=true
}}}
When I did this same thing to the full TBB, though, I got a make loop in
Qt and the build never finished...
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/3688#comment:24>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list