[tor-bugs] #17379 [Tor Browser]: Using the same build process in Tor Browser and Tor Messenger
Tor Bug Tracker & Wiki
blackhole at torproject.org
Mon Oct 19 17:45:38 UTC 2015
#17379: Using the same build process in Tor Browser and Tor Messenger
-----------------------------+-------------------
Reporter: boklm | Owner: boklm
Type: task | Status: new
Priority: Medium | Milestone:
Component: Tor Browser | Version:
Severity: Normal | Keywords:
Actual Points: | Parent ID:
Points: | Sponsor:
-----------------------------+-------------------
The current Tor Browser build process is using gitian to run the build
inside virtual machines, with some shell scripts to download and verify
dependencies.
Tor Messenger is using a different system to do that.
To make maintenance easier, we should try to use the same tools in both
projects.
I think one of the main advantages of the way we are building in tor-
messenger is that we can do faster builds as we rebuild only what is
necessary. All components are built separately, with all built components
having an identifier in their filename that is a hash of all their
dependencies (build script, commit hash, source tarballs,
distribution used in the container, additional packages installed). We
only rebuild a component when its identifier has changed. We currently
only have one branch on tor messenger, but with multiple branches (alpha,
beta, nightly, etc ...) it would be possible to build the different
branches from the same build repository and share the components that are
identical.
An other advantage of splitting the build of each component is to be able
to share them between different projects. For instance we are also
building a Tor Mail bundle from the same repository and sharing some of
the components. In the case of Tor Browser and Tor Messenger I think we
could share the compilers. Components can also be built differently
depending on which project they are built for, for instance tor-launcher
is patched to use a different control port for tor-mail and tor-messenger:
https://gitweb.torproject.org/tor-messenger-build.git/tree/projects/tor-
launcher/controlport.patch.tmpl
https://gitweb.torproject.org/tor-messenger-build.git/tree/rbm.conf#n74
I will open child tickets to list all the tasks that need to be done if we
want Tor Browser to use the same build process as Tor Messenger.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/17379>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list