Opened 4 years ago

Closed 4 years ago

#18845 closed enhancement (fixed)

Make zip and tar helpers generate reproducible archives without relying on libfaketime

Reported by: boklm Owned by: boklm
Priority: Medium Milestone:
Component: Applications/Tor Browser Version:
Severity: Normal Keywords: tbb-gitian, TorBrowserTeam201605R
Cc: tbb-team Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

In the Tor Browser build process, we are using some helper scripts to generate zip and tar archives reproducibly. Those helper scripts expect the modification time of the included files to be reproducible, which is the case when we are using libfaketime during the builds.

To be able to remove the use of libfaketime in some parts of the build process and still generate reproducible archives, we could update the helper scripts to change the time of all files included in the archives according to $REFERENCE_DATETIME.

Child Tickets

Change History (8)

comment:1 Changed 4 years ago by gk

Keywords: TorBrowserTeam201605 added; TorBrowserTeam201604 removed

Moving tickets

comment:2 Changed 4 years ago by boklm

Keywords: TorBrowserTeam201605R added; TorBrowserTeam201605 removed
Status: newneeds_review

I attached a patch to do that. I tried a build of tbb-6.0a5-build4 with this patch, and it did not modify the result of the build.

comment:3 Changed 4 years ago by gk

Keywords: TorBrowserTeam201605 added; TorBrowserTeam201605R removed
Status: needs_reviewneeds_revision

I think we should rip out the faktetime parts we don't need anymore due to these changes and then retest in order to make sure we did not overlook something. E.g. in gitian-utils.yml for Linux the faketime part for the zipping can go and in gitian-tor.yml + the PT descriptor for Linux all libfaketime related instructions can get ripped out. I guess the preloading libfaketime after the packaging step in gitian-firefox.yml can go now as well (the remaining bits would be part of #18291). Could be interesting to see whether the libfaketime usage can get ripped out of the bundle step, too.

comment:4 Changed 4 years ago by boklm

I attached a new version of the patch doing the same thing in build-helpers/ddmg.sh.

I will also post some patches in #18291 soon. So far I have been able to completely rip out faketime from linux and osx builds, but not yet for the Windows builds where I get some differences in tor.exe and some pluggable transports files (the firefox part seems to be fine).

comment:5 Changed 4 years ago by gk

Keywords: TorBrowserTeam201605R added; TorBrowserTeam201605 removed
Status: needs_revisionneeds_review

comment:6 Changed 4 years ago by gk

Resolution: fixed
Status: needs_reviewclosed

Fixed with commit 0a88a5c3919bb10e0567ddd0e6a7a4b192d3cf18 on master, thanks.

Note: See TracTickets for help on using tickets.