[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