Skip to content

Create two Tor Browser build machines

Currently, Tor Browser developers have access to one external machine for building Tor Browser. We'd like two new build machines that are maintained by TPA. This will allow us to run parallel builds, and confirm reproducibility of the resulting builds.

The resource requirements for the machines are quite large:

  • For storage: 200GB should be an okay starting point
  • For memory: we'll need at least 16 GB.
  • For CPUs: at least two, but more would be better

The package requirements are documented here: https://gitweb.torproject.org/builders/tor-browser-build.git/tree/README#n20

apt-get install libyaml-libyaml-perl libtemplate-perl \
                  libio-handle-util-perl libio-all-perl \
                  libio-captureoutput-perl libjson-perl libpath-tiny-perl \
                  libstring-shellquote-perl libsort-versions-perl \
                  libdigest-sha-perl libdata-uuid-perl libdata-dump-perl \
                  libfile-copy-recursive-perl libfile-slurp-perl git runc \
                  mercurial

Currently, the default Tor Browser build system (tor-browser-build) requires the user have (essentially) full sudo permissions (legacy/trac#23631 (moved)) due to its underlying use of runc for creating deterministic build environments.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information