brizental pushed to branch tor-browser-153.5.0esr-16.0-1 at The Tor Project / Applications / Tor Browser Commits: 9c1c6396 by Beatriz Rizental at 2026-10-09T07:01:52-03:00 fixup! TB 41089: Add tor-browser build scripts + Makefile to tor-browser This reverts commit 5f43c88992e4b69ac03c5e40aeba08fe8d0bd56e. - - - - - aeb4c4a3 by Beatriz Rizental at 2026-10-09T08:39:19-03:00 fixup! TB 43564: Modify ./mach bootstrap for Tor Browser Move NoScript gitignore statement to this commit - - - - - 11 changed files: - .gitignore - − tools/torbrowser/Makefile - − tools/torbrowser/browser-self-sign-macos.sh - − tools/torbrowser/build.sh - − tools/torbrowser/clobber.sh - − tools/torbrowser/config.sh - − tools/torbrowser/deploy.sh - − tools/torbrowser/fetch.sh - − tools/torbrowser/ide.sh - − tools/torbrowser/jslint.sh - − tools/torbrowser/prepare-tests.sh Changes: ===================================== .gitignore ===================================== @@ -420,16 +420,9 @@ CLAUDE.local.md # lint-ignore-next-line: git-only /*.json.gz -# Ignore binary base of Tor Browser -.binaries - -# Other files modified at build time -mobile/android/.experimenter.json - # GitLab project and token saved by `mach yeet auth` /.yeet.json -# Tor libraries for local builds -mobile/android/fenix/tools/nimbus-fml -mobile/android/fenix/app/tor-expert-bundle.aar +# Symlink to NoScript .xpi. It lives in MOZBUILD, but needs to be symlinked +# to this path so it's added to the APK. mobile/android/fenix/app/src/main/assets/extensions/{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi ===================================== tools/torbrowser/Makefile deleted ===================================== @@ -1,72 +0,0 @@ -.DEFAULT_GOAL := all - -# https://stackoverflow.com/questions/18136918/how-to-get-current-relative-dir... -mkfile_path := "$(shell dirname $(realpath $(firstword $(MAKEFILE_LIST))))" - -DEV_ROOT = "$(mkfile_path)/../.." -BINARIES = "$(DEV_ROOT)/.binaries" -ARCHITECTURE = "$(shell uname -m)" - -# Correct the architecture naming for ARM to match what mozilla has -ifeq ($(ARCHITECTURE), "arm64") - ARCHITECTURE = "aarch64" -endif - -ifeq ($(ARCHITECTURE), "aarch64") - LINUX_VENDOR = "unknown" -else - LINUX_VENDOR = "pc" -endif - -# Define build output path based on the platform. -ifeq ("$(shell uname)", "Darwin") - BUILD_OUTPUT = "$(DEV_ROOT)/obj-$(ARCHITECTURE)-apple-darwin$(shell uname -r)" -else - BUILD_OUTPUT = "$(DEV_ROOT)/obj-$(ARCHITECTURE)-$(LINUX_VENDOR)-linux-gnu" -endif - -# Define the run command based on the platform. -ifeq ("$(shell uname)", "Darwin") - RUN_CMD := cd "$(BINARIES)/Tor Browser.app/Contents/MacOS/" && ./firefox --purgecaches -else - RUN_CMD := "$(BINARIES)/dev/Browser/start-tor-browser" -v --purgecaches $(ARGS) -endif - -config: - ./config.sh $(DEV_ROOT) - -ide-vscode: - ./ide.sh vscode $(DEV_ROOT) - -ide-eclipse: - ./ide.sh eclipse $(DEV_ROOT) - -ide-visualstudio: - ./ide.sh visualstudio $(DEV_ROOT) - -fetch: - ./fetch.sh $(BINARIES) - -build: - ./build.sh $(DEV_ROOT) - -deploy: - ./deploy.sh $(BINARIES) $(BUILD_OUTPUT) - -prepare-tests: - ./prepare-tests.sh $(BINARIES) $(BUILD_OUTPUT) - -all: build deploy - -run: - $(RUN_CMD) - -jslint: - ./jslint.sh $(DEV_ROOT) $(JS) - -clobber: - ./clobber.sh $(DEV_ROOT) - -clean: - rm -rf $(BUILD_OUTPUT) - ===================================== tools/torbrowser/browser-self-sign-macos.sh deleted ===================================== @@ -1,110 +0,0 @@ -#!/bin/bash - -CERTNAME=my-codesign-cert-tor -BROWSERPATH=. - -if [ $# -ge 1 ] -then - BROWSERPATH=$1 -fi - - -security find-certificate -c $CERTNAME > /dev/null - -if [ $? -ne 0 ] -then - echo "" - echo "ERROR: Self Signing Certificate not found, please create:" - echo " 1. In the Keychain Access app on your Mac, choose Keychain Access > Certificate Assistant > Create a Certificate." - echo " 2. Enter the name '$CERTNAME' for the certificate" - echo " 3. Choose an identity type: Self Signed Root" - echo " 4. Certificate Type > Code Signing" - echo " 5. Check 'Let me override defaults' & click Continue." - echo " 6. Enter a unique Serial Number. (123 is fine)" - echo " 7. Enter a big Validity Period (days), like 3560 & click Continue." - echo " 8. Fill in your personal information & click Continue." - echo " 9. Accept defaults for the rest of the dialog boxes. (Continue several times)" - echo " 10. Certificate Created! Click Done." - echo "" - echo "For additional help see:" - echo " https://support.apple.com/en-ca/guide/keychain-access/kyca8916/mac" - echo " https://stackoverflow.com/questions/58356844/what-are-the-ways-or-technologi..." - - echo "" - read -n 1 -r -s -p $'Press enter to launch "Keychain Access"...\n' - open /System/Applications/Utilities/Keychain\ Access.app - - exit -1 -fi - -echo "Found $CERTNAME, looking for browser to sign..." - -if [ ! -f "$BROWSERPATH/XUL" ] -then - TESTPATH="$BROWSERPATH/Contents/MacOS" - if [ -f "$TESTPATH/XUL" ] - then - BROWSERPATH=$TESTPATH - else - echo "Error: browser files not detected in $BROWSERPATH!" - echo " This script needs to be run in the 'Contents/MacOS' directory of a SomeBrowser.app directory" - exit -1 - fi -fi - -echo "Mozilla based browser found, signing..." -echo ' Will be asked for password to certificate for all the things that need to be signed. Click "Always Allow" to automate' - -cd "$BROWSERPATH" - -codesign -s $CERTNAME *.dylib -codesign -s $CERTNAME plugin-container.app - -if [ -d Tor ] -then - codesign -s $CERTNAME Tor/PluggableTransports/* - codesign -s $CERTNAME Tor/libevent-2.1.7.dylib - if [ -f Tor/tor.real ] - then - codesign -s $CERTNAME Tor/tor.real - fi - if [ -f Tor/tor ] - then - codesign -s $CERTNAME Tor/tor - fi -fi - -codesign -s $CERTNAME XUL - -if [ -d updater.app ] -then - codesign -s $CERTNAME updater.app -fi - -# mullvadbrowser -if [ -f mullvadbrowser ] -then - codesign -s $CERTNAME mullvadbrowser -fi - -# BB or TB -if [ -f firefox ] -then - codesign -s $CERTNAME firefox -fi - -echo "" -echo "Browser signing step done!" -echo "" - -echo "App still needs one more override to be easily opened with double click in Finder" -echo "Alternatively you can right click it, select 'Open' and then select 'Open' from the override popup" -echo "Or to enable it to be double clicked to open perform the following" -echo "" -echo "Double click the app and select either 'Ok' or 'Cancel' from the warning popup depending on which you get (Do Not 'Move to Trash')" -echo 'Go to Preferences -> Security & Privacy and click on padlock to allow changes. ' -echo ' Then in "Allow appications downloaded from" select either:' -echo ' - App Store and identified developers' -echo ' - Anywhere' -echo ' Below that may be a notice about your specific app saying it was blocked because it was not from an identified developer. Click "Open Anyways" and "Open"' - ===================================== tools/torbrowser/build.sh deleted ===================================== @@ -1,15 +0,0 @@ -#!/bin/bash -set -e -DEV_ROOT=$1 - -cd $DEV_ROOT -./mach build - -if [ -z "$LOCALES" ]; then - ./mach build stage-package -else - export MOZ_CHROME_MULTILOCALE=$LOCALES - # No quotes on purpose - ./mach package-multi-locale --locales en-US $MOZ_CHROME_MULTILOCALE - AB_CD=multi ./mach build stage-package -fi ===================================== tools/torbrowser/clobber.sh deleted ===================================== @@ -1,6 +0,0 @@ -#!/bin/bash -set -e -DEV_ROOT=$1 - -cd $DEV_ROOT -./mach clobber ===================================== tools/torbrowser/config.sh deleted ===================================== @@ -1,6 +0,0 @@ -#!/bin/bash -set -e -DEV_ROOT=$1 - -cd $DEV_ROOT -./mach configure ===================================== tools/torbrowser/deploy.sh deleted ===================================== @@ -1,43 +0,0 @@ -#!/bin/bash -set -e - -BINARIES="$1" -BUILD_OUTPUT="$2" -SCRIPT_DIR="$(realpath "$(dirname "$0")")" - -RESDIR="$BUILD_OUTPUT/dist/firefox" -if [ "$(uname)" = "Darwin" ]; then - RESDIR="$RESDIR/Tor Browser.app/Contents/Resources" -fi - -# Repackage the manual -# rm -rf $BUILD_OUTPUT/_omni -# mkdir $BUILD_OUTPUT/_omni -# unzip $BINARIES/dev/Browser/browser/omni.ja -d $BUILD_OUTPUT/_omni -# cd $BUILD_OUTPUT/_omni && zip -Xmr $RESDIR/browser/omni.ja chrome/browser/content/browser/manual -# rm -rf $BUILD_OUTPUT/_omni - -if [ "$(uname)" = "Darwin" ]; then - - # copy binaries - cp -r "$BUILD_OUTPUT/dist/firefox/"*.app/Contents/* "$BINARIES/Tor Browser.app/Contents/" - rm -rf "$BINARIES/TorBrowser-Data/Browser/Caches/*.default/startupCache" - - # Self sign the Binaries - cd "$BINARIES/Tor Browser.app/Contents/MacOS" - "$SCRIPT_DIR/browser-self-sign-macos.sh" - -else - - # backup the startup script - mv "$BINARIES/dev/Browser/firefox" "$BINARIES/dev/Browser/firefox.bak" - - # copy binaries - cp -r "$RESDIR/"* "$BINARIES/dev/Browser" - rm -rf "$BINARIES/dev/Browser/TorBrowser/Data/Browser/profile.default/startupCache" - - # shuffle firefox bin around and restore script to match a real deployment - mv "$BINARIES/dev/Browser/firefox" "$BINARIES/dev/Browser/firefox.real" - mv "$BINARIES/dev/Browser/firefox.bak" "$BINARIES/dev/Browser/firefox" - -fi ===================================== tools/torbrowser/fetch.sh deleted ===================================== @@ -1,40 +0,0 @@ -#!/bin/sh -set -e - -BINARIES_DIR="$1" - -# download the current downloads.json -wget https://aus1.torproject.org/torbrowser/update_3/alpha/downloads.json -# get url for latest alpha linux package -TOR_BROWSER_VERSION=$(grep -Eo "\"version\"\s*:\s*\"[0-9.a]+\"" downloads.json | grep -Eo "[0-9.a]+") -if [ "$(uname)" = "Darwin" ]; then - TOR_BROWSER_PACKAGE="tor-browser-macos-${TOR_BROWSER_VERSION}.dmg" - else - TOR_BROWSER_PACKAGE="tor-browser-linux-$(uname -m)-${TOR_BROWSER_VERSION}.tar.xz" -fi -TOR_BROWSER_PACKAGE_URL="https://dist.torproject.org/torbrowser/${TOR_BROWSER_VERSION}/${TOR_BROWSER_PACKAGE}" - -# remove download manifest -rm downloads.json - -# clear out previous tor-browser and previous package -rm -rf "${BINARIES_DIR}" -rm -f "${TOR_BROWSER_PACKAGE}" - -# download -wget "${TOR_BROWSER_PACKAGE_URL}" -mkdir -p "${BINARIES_DIR}" - -# and extract -if [ "$(uname)" = "Darwin" ] - then - hdiutil attach "${TOR_BROWSER_PACKAGE}" - cp -R "/Volumes/Tor Browser Alpha/Tor Browser Alpha.app" "${BINARIES_DIR}/Tor Browser.app" - hdiutil detach "/Volumes/Tor Browser Alpha" - else - tar -xf "${TOR_BROWSER_PACKAGE}" -C "${BINARIES_DIR}" - mv "${BINARIES_DIR}/tor-browser" "${BINARIES_DIR}/dev" -fi - -# Final cleanup -rm -f "${TOR_BROWSER_PACKAGE}" ===================================== tools/torbrowser/ide.sh deleted ===================================== @@ -1,7 +0,0 @@ -#!/bin/bash -set -e -IDE=$1 -DEV_ROOT=$2 - -cd $DEV_ROOT -./mach ide $IDE ===================================== tools/torbrowser/jslint.sh deleted ===================================== @@ -1,7 +0,0 @@ -#!/bin/bash -set -e -DEV_ROOT=$1 -JS_FILE=$2 - -cd $DEV_ROOT -./mach lint -l eslint --fix $JS_FILE ===================================== tools/torbrowser/prepare-tests.sh deleted ===================================== @@ -1,25 +0,0 @@ -#!/bin/sh -set -e - -BINARIES="$1" -BUILD_OUTPUT="$2" - -if [ ! -d "$BUILD_OUTPUT" ]; then - echo "Error: $BUILD_OUTPUT directory does not exist." - echo "Make sure to run `mach ./build` or `make -C tools/torbrowser build`." - exit 1 -fi - -if [ ! -d "$BINARIES" ]; then - echo "Error: $BINARIES directory does not exist." - echo "Make sure to run `make -C tools/torbrowser fetch`." - exit 1 -fi - -if [ "$(uname)" = "Darwin" ]; then - cp -r "$BINARIES/Tor Browser.app/Contents/MacOS/Tor" "$BUILD_OUTPUT/dist/firefox/"*.app/Contents/MacOS - cp -r "$BINARIES/Tor Browser.app/Contents/Resources/fonts" "$BUILD_OUTPUT/dist/firefox/"*.app/Contents/Resources -else - cp -r "$BINARIES/dev/Browser/fonts" "$BUILD_OUTPUT/dist/bin" - cp -r "$BINARIES/dev/Browser/TorBrowser" "$BUILD_OUTPUT/dist/bin" -fi View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/0cece14... -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/0cece14... You're receiving this email because of your account on gitlab.torproject.org. Manage all notifications: https://gitlab.torproject.org/-/profile/notifications | Help: https://gitlab.torproject.org/help
participants (1)
-
brizental (@brizental)