tor-browser-build issueshttps://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues2022-12-22T15:48:03Zhttps://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40338Running `make release` multiple times fails2022-12-22T15:48:03ZboklmRunning `make release` multiple times failsWhen running `make release` multiple times, we get an error like:
```
mv: 'tor-browser-10.5.2-linux-x86_64-6b1936/tor-browser-linux64-10.5.2_zh-TW.tar.xz' and '/home/boklm/tor-browser-build-new/release/unsigned/10.5.2-build1/tor-browser-...When running `make release` multiple times, we get an error like:
```
mv: 'tor-browser-10.5.2-linux-x86_64-6b1936/tor-browser-linux64-10.5.2_zh-TW.tar.xz' and '/home/boklm/tor-browser-build-new/release/unsigned/10.5.2-build1/tor-browser-linux64-10.5.2_zh-TW.tar.xz' are the same file
```
This is probably due to 2bf6670f3b5e34b3248ac36f79e2240f83069910 (#40296).boklmboklmhttps://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40286Add Burmese as supported language in Windows installer2022-12-22T10:52:50ZMatthew FinkelAdd Burmese as supported language in Windows installerThis should be added in tbb-windows-installer, but I'm not sure a patch will be accepted right now.This should be added in tbb-windows-installer, but I'm not sure a patch will be accepted right now.https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40281Make it easier to verify that the unsigned apk from a build is matching the s...2022-12-22T11:11:10ZboklmMake it easier to verify that the unsigned apk from a build is matching the signed apk we publishedI think we can have a script or makefile command to make it easier for someone who rebuilt tor browser to check that the unsigned apk from their build is matching the signed apk we published.
To do that I think we can use apksigcopier:
...I think we can have a script or makefile command to make it easier for someone who rebuilt tor browser to check that the unsigned apk from their build is matching the signed apk we published.
To do that I think we can use apksigcopier:
https://github.com/obfusk/apksigcopierboklmboklmhttps://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40275Add an option to create a tmpfs in the build container, and do part of the bu...2023-01-05T12:56:40ZboklmAdd an option to create a tmpfs in the build container, and do part of the build inside the tmpfsI think we could add an option to create a tmpfs in the build container, with size configurable for each component. And then use this tmpfs for some parts of the build, if this makes the build faster.I think we could add an option to create a tmpfs in the build container, with size configurable for each component. And then use this tmpfs for some parts of the build, if this makes the build faster.boklmboklmhttps://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40258Add redirects for single-platform releases to projects/release/update_respons...2023-01-05T13:55:30ZboklmAdd redirects for single-platform releases to projects/release/update_responses_config.ymlWhen we do a release for a single platform, we need to add some redirects in the .htaccess file in https://aus1.torproject.org/torbrowser/update_3/.
To make that easier, I think we can add those redirects as comments in `projects/releas...When we do a release for a single platform, we need to add some redirects in the .htaccess file in https://aus1.torproject.org/torbrowser/update_3/.
To make that easier, I think we can add those redirects as comments in `projects/release/update_responses_config.yml`, in `htaccess_rewrite_rules`. So that we only need to uncomment some of those lines when doing a release only for some platforms.boklmboklmhttps://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40236Windows (64-bit) Tor Browser installer is not unpackable2022-12-22T11:00:51ZMatthew FinkelWindows (64-bit) Tor Browser installer is not unpackableA user told us that the Windows installer is not unpackable on Windows in 7zip. This seems to be affecting only the win64 installer.
- 7zip won't unpack it, and it doesn't provide an unpack switch
- Windows 10 (but same result on other ...A user told us that the Windows installer is not unpackable on Windows in 7zip. This seems to be affecting only the win64 installer.
- 7zip won't unpack it, and it doesn't provide an unpack switch
- Windows 10 (but same result on other platforms using 7z)
- latest 7zip just shows .rsrc, .bss, .data, etc. Missing the packed datahttps://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40230Allow merging update-responses from different versions per platform2023-01-05T15:07:00ZMatthew FinkelAllow merging update-responses from different versions per platformThis is a bit difficult, but Tor Browser 10.0.10 and 10.0.11 is the reasoning behind this. Version 10.0.10 was an update for all platforms, but 10.0.11 was an update for only Windows, and we only built Windows (i686/x86_64) 10.0.11. Ther...This is a bit difficult, but Tor Browser 10.0.10 and 10.0.11 is the reasoning behind this. Version 10.0.10 was an update for all platforms, but 10.0.11 was an update for only Windows, and we only built Windows (i686/x86_64) 10.0.11. Therefore, the update response only included Windows, and macOS and Linux users received a message indicating that updating failed and they should reinstall Tor Browser. I fixed this by copying the rewrite rules for 10.0.10 for macOS and Linux into .htaccess of 10.0.11, and now those platforms are receiving the "no-update" response. Automating this would be nice, but I don't immediately see an easy solution.https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40202Use constant placeholder for pom file instead of file hash2023-07-12T14:09:09ZMatthew FinkelUse constant placeholder for pom file instead of file hashIn #40163 we stopped comparing the hash of the pom files. We should stop including it entirely and use a placeholder instead. This will make comparing modifications easier.In #40163 we stopped comparing the hash of the pom files. We should stop including it entirely and use a placeholder instead. This will make comparing modifications easier.https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40201Apply -fstack-clash-protection where possible2022-12-22T15:49:24ZGeorg KoppenApply -fstack-clash-protection where possibleIt seems we can pick up a newer compiler-based hardening flag: `-fstack-clash-protection`. It's supposed to be available with clang 11.0.1, see: https://bugzilla.mozilla.org/show_bug.cgi?id=1588710.
It seems this is mainly for Linux and...It seems we can pick up a newer compiler-based hardening flag: `-fstack-clash-protection`. It's supposed to be available with clang 11.0.1, see: https://bugzilla.mozilla.org/show_bug.cgi?id=1588710.
It seems this is mainly for Linux and Android. We should go over GCC-using projects, too, as this flag is supposed to be available there as well.https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40114Patch NSS build to get rid of unused libc networking symbols2023-01-05T12:54:34ZGeorg KoppenPatch NSS build to get rid of unused libc networking symbolsIn #40093 we removed the unneeded libc networking symbols to make sure
no Rust code is bypassing our proxy requirement. It turns out, though,
that this nice workaround is brittle due to compiler constraints. Thus,
we should right from th...In #40093 we removed the unneeded libc networking symbols to make sure
no Rust code is bypassing our proxy requirement. It turns out, though,
that this nice workaround is brittle due to compiler constraints. Thus,
we should right from the beginning (that is in NSS build land) avoid the
inclusion of those symbols (instead of getting rid of them later on with
the help of LTO).https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40098Clean up macosx-toolchain config file2023-01-05T12:52:02ZGeorg KoppenClean up macosx-toolchain config fileWe should figure out whether `CC` etc. still needs to get set in the
config file of the `macosx-toolchain` project. Chances are high that
this can get cleaned up given that a lot of projects get the necessary
info from `rbm.conf`'s `conf...We should figure out whether `CC` etc. still needs to get set in the
config file of the `macosx-toolchain` project. Chances are high that
this can get cleaned up given that a lot of projects get the necessary
info from `rbm.conf`'s `configure_opt` and for Firefox we have its
mozconfig file.https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40080Bundle Python binary on Windows2023-01-05T12:35:02ZJeremyRandBundle Python binary on WindowsNamecoin (specifically Electrum-NMC) currently requires Python 3.6+, which is not installed by default on Windows. We punt the issue in https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/merge_requests/39 by making the u...Namecoin (specifically Electrum-NMC) currently requires Python 3.6+, which is not installed by default on Windows. We punt the issue in https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/merge_requests/39 by making the user install Python themselves, but this isn't great UX. We should look into bundling a Python 3.6+ binary with Tor Browser for Windows when building with Namecoin is enabled.https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40069Remove the armeabi parts in tor-onion-proxy-library's build script2022-12-22T11:04:38ZGeorg KoppenRemove the armeabi parts in tor-onion-proxy-library's build scriptWe only need `armeabi-v7a` but not `armeabi`, so no need to copy `obfs4`
and `snowflake` over. We probably should just nuke that part before
starting the build.We only need `armeabi-v7a` but not `armeabi`, so no need to copy `obfs4`
and `snowflake` over. We probably should just nuke that part before
starting the build.https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40063RLBox compilation is broken when GCC for ASan is used2023-03-06T09:02:59ZGeorg KoppenRLBox compilation is broken when GCC for ASan is usedWe need `clang` to create .wasm files right now. So, if we want to keep
using `GCC` for our ASan builds we need either have a `GCC` that can
create .wasm files or we need to teach the build system to use `clang`
for those cases when `CC`...We need `clang` to create .wasm files right now. So, if we want to keep
using `GCC` for our ASan builds we need either have a `GCC` that can
create .wasm files or we need to teach the build system to use `clang`
for those cases when `CC` is `GCC`.https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40059Ship tor.exe with an application manifest2022-12-22T11:02:42ZGeorg KoppenShip tor.exe with an application manifestWe should ship `tor.exe` with an application manifest as it launched and run by us. The browser part is essentially using the one Mozilla provides by `firefox.exe.manifest`. See: tpo/core/tor#22450 for more context.We should ship `tor.exe` with an application manifest as it launched and run by us. The browser part is essentially using the one Mozilla provides by `firefox.exe.manifest`. See: tpo/core/tor#22450 for more context.https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40056Get all mobile dependencies during dry run2023-07-17T12:52:26ZGeorg KoppenGet all mobile dependencies during dry runThe first build after a version bump is usually with networking allowed
to get all the Gradle dependencies extracted. That step is currently
failing for `application-services`, `android-components`, and `fenix` for unknown reasons: the G...The first build after a version bump is usually with networking allowed
to get all the Gradle dependencies extracted. That step is currently
failing for `application-services`, `android-components`, and `fenix` for unknown reasons: the Gradle
`--debug` output does not show artifact downloads for some dependencies
for later re-use in our mavenLocal setup.https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40047Build our GCC properly2023-06-01T16:35:24ZGeorg KoppenBuild our GCC properlyGCC depends on MPC which depends on MPFR which depends on GMP.
Please, update GCC with dependencies everywhere.
(That was originally the purpose of #31845).
See Mozilla's GCC build process for all the deps. We might not need all
of the...GCC depends on MPC which depends on MPFR which depends on GMP.
Please, update GCC with dependencies everywhere.
(That was originally the purpose of #31845).
See Mozilla's GCC build process for all the deps. We might not need all
of them, though.https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40043Include wasi-sdk as a dependency for the clang project2023-03-06T09:02:59ZGeorg KoppenInclude wasi-sdk as a dependency for the clang projectSee: https://bugzilla.mozilla.org/show_bug.cgi?id=1601448See: https://bugzilla.mozilla.org/show_bug.cgi?id=1601448https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40024Enable Namecoin on macOS2022-12-22T10:54:29ZJeremyRandEnable Namecoin on macOSCurrently, Namecoin is only enabled on GNU/Linux targets; it would be useful to enable it on macOS targets as well, so that macOS users can test the Namecoin support in Nightly without installing a GNU/Linux VM.
(Originally [requested](...Currently, Namecoin is only enabled on GNU/Linux targets; it would be useful to enable it on macOS targets as well, so that macOS users can test the Namecoin support in Nightly without installing a GNU/Linux VM.
(Originally [requested](https://old.reddit.com/r/Namecoin/comments/hbf9fq/we_need_more_testers_for_the_namecoin_tor_browser/fva504w/) by mjgill89 on Reddit.)https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40023Namecoin support doesn't stay enabled after an auto-update until restarted2022-12-22T15:47:47ZJeremyRandNamecoin support doesn't stay enabled after an auto-update until restartedIt appears that Tor Browser's auto-update functionality interferes with Namecoin support. When Tor Browser offers to install an update and restart, the Tor daemon is restarted, which causes StemNS to lose its control port connection. S...It appears that Tor Browser's auto-update functionality interferes with Namecoin support. When Tor Browser offers to install an update and restart, the Tor daemon is restarted, which causes StemNS to lose its control port connection. Since StemNS is only launched by the Bash launcher, and the Bash launcher doesn't seem to get re-executed when Tor Browser restarts after an update, Namecoin ends up being disabled until Tor Browser is manually restarted (via the Bash launcher).