Trac issueshttps://gitlab.torproject.org/legacy/trac/-/issues2020-06-16T01:26:13Zhttps://gitlab.torproject.org/legacy/trac/-/issues/33927Add tor-browser-build project for fenix2020-06-16T01:26:13ZGeorg KoppenAdd tor-browser-build project for fenixWe need an own project for FenixWe need an own project for FenixGeorg KoppenGeorg Koppenhttps://gitlab.torproject.org/legacy/trac/-/issues/33915Compile Tor with Rust support on Android Nightly2020-06-16T01:26:13ZMatthew FinkelCompile Tor with Rust support on Android NightlyAfter #28766 is merged, we should start compiling tor with rust support in the nightly builds.After #28766 is merged, we should start compiling tor with rust support in the nightly builds.https://gitlab.torproject.org/legacy/trac/-/issues/33801Upgrade Go Project to use new Android Toolchain2020-06-16T01:26:11ZShane IsbellUpgrade Go Project to use new Android ToolchainGo needs to use new NDK pathGo needs to use new NDK pathhttps://gitlab.torproject.org/legacy/trac/-/issues/33760Update rbm.conf to match NDK 202020-06-16T01:26:11ZShane IsbellUpdate rbm.conf to match NDK 20the configure_host field no longer matches the correct clang in the lasted NDK. The new NDK requires that we also update the platform version number.the configure_host field no longer matches the correct clang in the lasted NDK. The new NDK requires that we also update the platform version number.Georg KoppenGeorg Koppenhttps://gitlab.torproject.org/legacy/trac/-/issues/33626Add TBB project for GeckoView2020-10-02T06:25:04ZShane IsbellAdd TBB project for GeckoViewFenix and android-components have dependencies on GeckoView. Need to setup environment to build this for production, beta and nightly. Involves rust and clang setup.Fenix and android-components have dependencies on GeckoView. Need to setup environment to build this for production, beta and nightly. Involves rust and clang setup.Georg KoppenGeorg Koppenhttps://gitlab.torproject.org/legacy/trac/-/issues/33564Upgrade ZSTD to use Android NDK 202020-06-16T01:26:09ZShane IsbellUpgrade ZSTD to use Android NDK 20This is based of the current work done in branch for android support. We need to upgrade to build with NDK 21.
Make standalone toolchain is not longer supported in NDK 21 so need to configure to use new locationsThis is based of the current work done in branch for android support. We need to upgrade to build with NDK 21.
Make standalone toolchain is not longer supported in NDK 21 so need to configure to use new locationshttps://gitlab.torproject.org/legacy/trac/-/issues/33563Upgrade Tor To Use Android NDK 202020-06-16T01:26:08ZShane IsbellUpgrade Tor To Use Android NDK 20This is based of the current work done in branch for android support. We need to upgrade to build with NDK 21.
Make standalone toolchain is not longer supported in NDK 21 so need to configure to use new locationsThis is based of the current work done in branch for android support. We need to upgrade to build with NDK 21.
Make standalone toolchain is not longer supported in NDK 21 so need to configure to use new locationsGeorg KoppenGeorg Koppenhttps://gitlab.torproject.org/legacy/trac/-/issues/33561Upgrade openssl to use Android NDK 202020-06-16T01:26:07ZShane IsbellUpgrade openssl to use Android NDK 20This is based of the current work done in branch for android support. We need to upgrade to build with NDK 21.
Make standalone toolchain is not longer supported in NDK 21 so need to configure to use new locations.This is based of the current work done in branch for android support. We need to upgrade to build with NDK 21.
Make standalone toolchain is not longer supported in NDK 21 so need to configure to use new locations.Georg KoppenGeorg Koppenhttps://gitlab.torproject.org/legacy/trac/-/issues/33559Update tor-android-service To Use Updated Android Toolchain2020-06-16T01:26:06ZShane IsbellUpdate tor-android-service To Use Updated Android ToolchainWe need to upgrade android toolchain to support fenix. This requires update to tor-android-service.We need to upgrade android toolchain to support fenix. This requires update to tor-android-service.Georg KoppenGeorg Koppenhttps://gitlab.torproject.org/legacy/trac/-/issues/33558Update TOPL To Use Updated Android Toolchain2020-06-16T01:26:05ZShane IsbellUpdate TOPL To Use Updated Android ToolchainWe need to upgrade android toolchain to support fenix. This requires update to TOPL build as well.We need to upgrade android toolchain to support fenix. This requires update to TOPL build as well.Georg KoppenGeorg Koppenhttps://gitlab.torproject.org/legacy/trac/-/issues/33557Update Android Toolchain for Fenix2020-06-16T01:26:05ZShane IsbellUpdate Android Toolchain for FenixFenix uses an updated Android SDK and NDK.Fenix uses an updated Android SDK and NDK.Georg KoppenGeorg Koppenhttps://gitlab.torproject.org/legacy/trac/-/issues/33556Add TBB project for android-components2020-06-16T01:26:03ZShane IsbellAdd TBB project for android-componentsContains dependent libraries of Fenix
Source: !https://github.com/mozilla-mobile/android-componentsContains dependent libraries of Fenix
Source: !https://github.com/mozilla-mobile/android-componentsGeorg KoppenGeorg Koppenhttps://gitlab.torproject.org/legacy/trac/-/issues/33481Update lucetc for RLBox on macOS2020-06-16T01:26:01ZGeorg KoppenUpdate lucetc for RLBox on macOSWe need to update our `lucetc` project for RLBox on macOS. We'll bump the version to what Mozilla is using for their `lucetc` build on taskclusterWe need to update our `lucetc` project for RLBox on macOS. We'll bump the version to what Mozilla is using for their `lucetc` build on taskclusterGeorg KoppenGeorg Koppenhttps://gitlab.torproject.org/legacy/trac/-/issues/33462Add cc -> gcc symlink to projects/gcc/build2020-06-16T01:26:01ZboklmAdd cc -> gcc symlink to projects/gcc/buildI see that we create a cc -> gcc symlink in different places: nasm, node, clang, wasi-sysroot.
I think we can create the symlink in the build of gcc, so we don't have to create it in different places.I see that we create a cc -> gcc symlink in different places: nasm, node, clang, wasi-sysroot.
I think we can create the symlink in the build of gcc, so we don't have to create it in different places.https://gitlab.torproject.org/legacy/trac/-/issues/33416Android container creation breaks when building Tor Browser 9.5a62020-06-16T01:26:00ZGeorg KoppenAndroid container creation breaks when building Tor Browser 9.5a6When starting tbb-9.5a6-build1 I get:
And the log says:
```
Get:41 http://deb.debian.org/debian buster/main amd64 libxrender1 amd64 1:0.9.10-1 [33.0 kB]
Get:42 http://deb.debian.org/debian buster/main amd64 x11-common all 1:7.7+19 [251 ...When starting tbb-9.5a6-build1 I get:
And the log says:
```
Get:41 http://deb.debian.org/debian buster/main amd64 libxrender1 amd64 1:0.9.10-1 [33.0 kB]
Get:42 http://deb.debian.org/debian buster/main amd64 x11-common all 1:7.7+19 [251 kB]
Get:43 http://deb.debian.org/debian buster/main amd64 libxtst6 amd64 2:1.2.3-1 [27.8 kB]
Err:44 http://deb.debian.org/debian buster/main amd64 openjdk-11-jre-headless amd64 11.0.4+11-1~deb10u1
404 Not Found [IP: 2a04:4e42:14::204 80]
Get:45 http://deb.debian.org/debian buster/main amd64 default-jre-headless amd64 2:1.11-71 [10.9 kB]
Get:46 http://deb.debian.org/debian buster/main amd64 ca-certificates-java all 20190405 [15.7 kB]
Get:47 http://deb.debian.org/debian buster/main amd64 publicsuffix all 20190415.1030-1 [116 kB]
Fetched 9894 kB in 0s (21.1 MB/s)
E: Failed to fetch http://deb.debian.org/debian/pool/main/n/nss/libnss3_3.42.1-1+deb10u1_amd64.deb 404 Not Found [IP: 2a04:4e42:14::204 80]
E: Failed to fetch http://deb.debian.org/debian/pool/main/o/openjdk-11/openjdk-11-jre-headless_11.0.4+11-1~deb10u1_amd64.deb 404 Not Found [IP: 2a04:4e42:14::204 80]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
```
And, indeed, http://deb.debian.org/debian/pool/main/n/nss/libnss3_3.42.1-1+deb10u1_amd64.deb is not available anymore. Just a deb10u2.https://gitlab.torproject.org/legacy/trac/-/issues/33274Switch from YAML to YAML::XS in tools/update-responses/update_responses2020-06-16T01:25:59ZboklmSwitch from YAML to YAML::XS in tools/update-responses/update_responsesIn the script `tools/update-responses/update_responses` we use the `YAML` perl module. However on https://metacpan.org/pod/YAML we can read:
If you want robust and fast YAML processing using the normal Dump/Load API, please consider sw...In the script `tools/update-responses/update_responses` we use the `YAML` perl module. However on https://metacpan.org/pod/YAML we can read:
If you want robust and fast YAML processing using the normal Dump/Load API, please consider switching to YAML::XS. It is by far the best Perl module for YAML at this time.
So we should probably switch to `YAML::XS`. We are already using `YAML::XS` in rbm.https://gitlab.torproject.org/legacy/trac/-/issues/33013Add file listing the main rules for tor-browser-build rbm files2020-06-16T01:25:58ZboklmAdd file listing the main rules for tor-browser-build rbm filesWe should add a file listing the main rules to follow when making changes to tor-browser-build.
#33012 is one example, but there are probably others.We should add a file listing the main rules to follow when making changes to tor-browser-build.
#33012 is one example, but there are probably others.https://gitlab.torproject.org/legacy/trac/-/issues/32898Get rid of binary blobs in source code/toolchains we use/build for building T...2020-06-16T01:25:58ZGeorg KoppenGet rid of binary blobs in source code/toolchains we use/build for building Tor BrowserOver the years we have accumulated binary blobs in the source code/toolchains we take for building Tor Browser. This is the parent ticket to track those issues.
Note: this ticket is *not* concerned with the toolchains/packages that come...Over the years we have accumulated binary blobs in the source code/toolchains we take for building Tor Browser. This is the parent ticket to track those issues.
Note: this ticket is *not* concerned with the toolchains/packages that come with the OS we use for building.https://gitlab.torproject.org/legacy/trac/-/issues/32649Provide one place for setting the Firefox build we use2020-06-16T01:25:56ZGeorg KoppenProvide one place for setting the Firefox build we useWe set `ff_build` both in the config files for `firefox-locale-bundle` and `firefox-langpacks`. This is error-prone and we should have one canoncial place for it.We set `ff_build` both in the config files for `firefox-locale-bundle` and `firefox-langpacks`. This is error-prone and we should have one canoncial place for it.https://gitlab.torproject.org/legacy/trac/-/issues/32523Consider building tor-browser-build containers with Bitcoin Core's Guix-based...2020-06-16T01:25:56ZJeremyRandConsider building tor-browser-build containers with Bitcoin Core's Guix-based systemBitcoin Core recently merged a PR from Carl Dong (from Chaincode Labs) that allows building Bitcoin Core using containers that are constructed via GNU Guix, instead of using an OS ISO or debootstrap. This provides better security agains...Bitcoin Core recently merged a PR from Carl Dong (from Chaincode Labs) that allows building Bitcoin Core using containers that are constructed via GNU Guix, instead of using an OS ISO or debootstrap. This provides better security against supply-chain attacks by reducing the amount of trusted binary code used to bootstrap the build system. Bitcoin Core intends to use Carl's system as a replacement for Gitian.
It would be interesting to investigate whether tor-browser-build could transition to constructing its containers via Bitcoin Core's new system instead of using debootstrap.
A talk that Carl gave at Breaking Bitcoin about the new system is here:
https://www.youtube.com/watch?v=I2iShmUTEl8
A transcript of Carl's talk (transcribed by Bryan Bishop) is here:
https://diyhpl.us/wiki/transcripts/breaking-bitcoin/2019/bitcoin-build-system/
Here's the PR that Carl submitted to Bitcoin Core:
https://github.com/bitcoin/bitcoin/pull/15277
And here's the documentation in Bitcoin Core's master branch:
https://github.com/bitcoin/bitcoin/tree/master/contrib/guix
GNU/Linux targets are already working and are merged; macOS and Windows are working as well but I think Carl hasn't gotten those merged to Bitcoin Core yet. I have no idea what the situation is with Android/Linux.
Bitcoin Core isn't yet using Carl's system to build their official binaries, so it might be wise for Tor to let Bitcoin Core torture-test the code a bit in production first, but it does look like a very nice system, and it would be great to see it used for Tor Browser in the future.