Hi everyone,
I wrote a build script for TBA-alpha, while integration into tor-browser-build is still being worked on. It works well on Debian Stretch and Ubuntu Bionic (the only two systems on which I tested it).
It creates a (configurable) build directory where it clones or downloads every component and then builds them as needed - checking file hashes, commits hashes, and tags when relevant. I don't expect many of you will care too much about this, but you can give it a try if you want.
One suggestion I have is creating a new user for this (I create a user named tba_builder), simply so there is a clean build environment. The script, by default, runs `git clean` within the git repos before configuring them, so if you don't want your working directory destroyed you should comment those lines in the script before running it.
When I run it, I don't provide any command line arguments:
tba_builder@localhost:~$ time ./build_tba_alpha
and it creates a directory called tba_build_dir, changes directory into that directory, and then sets HOME=`pwd`. Unfortunately, some of the Adnroid build system continue writing in /home/tba_builder instead of /home/tba_builder/tba_build_dir, but it wasn't worth spending time troubleshooting that.
Almost all of the values are configurable, simply look at the variables at the top of the script and you can override them by setting environment variable before executing the script.
Let me know if you have any questions.
- Matt