[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