Pier Angelo Vendrame pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits: 499e5d26 by Pier Angelo Vendrame at 2023-01-26T17:35:56+01:00 Bug 40745: Allow customizing MOZ_APP_BASENAME
MOZ_APP_BASENAME has direct effects on directory and file names, too. So, we need to adjust the firefox project to use the custom names.
- - - - - c8f30851 by Pier Angelo Vendrame at 2023-01-26T17:36:04+01:00 Bug 40742: Create placeholder files for Privacy Browser installers
Create placeholder files for the NSIS installer and for the DMG.
- - - - - 8b16afc6 by Pier Angelo Vendrame at 2023-01-26T17:37:41+01:00 Bug 40742: Add Privacy Browser targets
Add the needed targets needed to build privacy browser.
- - - - - 87db400a by Pier Angelo Vendrame at 2023-01-26T17:37:41+01:00 Bug 40753: Do not copy mar tools when the updater is disabled
In tor-browser#41587 we have disabled the updater for Base Browser. However, this also disable the compilation of mar tools, so we should make their copy conditional, which this commit does.
- - - - - ba13fa7f by Pier Angelo Vendrame at 2023-01-26T17:37:41+01:00 Bug 40754: Provide uBlock Origin to Privacy Browser
- - - - -
19 changed files:
- .gitignore - Makefile - README - doc/MAKEFILE.txt - + projects/browser/Bundle-Data/PrivacyBrowser.dmg/.DS_Store - + projects/browser/Bundle-Data/PrivacyBrowser.dmg/.VolumeIcon.icns - + projects/browser/Bundle-Data/PrivacyBrowser.dmg/.background/background.png - projects/browser/RelativeLink/start-browser - projects/browser/build - projects/browser/config - projects/browser/windows-installer/basebrowser.nsi - + projects/browser/windows-installer/privacybrowser.ico - + projects/browser/windows-installer/privacybrowser.nsi - projects/browser/windows-installer/torbrowser.nsi - projects/firefox/build - projects/firefox/config - projects/firefox/start-firefox - projects/release/config - rbm.conf
Changes:
===================================== .gitignore ===================================== @@ -4,7 +4,13 @@ /out /torbrowser /basebrowser +/privacybrowser /testbuild /rbm.local.conf /logs /tmp + +# Old build directories, let's keep them anyway +/release +/alpha +/nightly
===================================== Makefile ===================================== @@ -180,103 +180,43 @@ torbrowser-testbuild-macos-aarch64: submodule-update torbrowser-testbuild-src: submodule-update $(rbm) build release --target testbuild --target browser-src-testbuild --target torbrowser
-signtag-release: submodule-update - $(rbm) build release --step signtag --target release --target torbrowser - -signtag-alpha: submodule-update - $(rbm) build release --step signtag --target alpha --target torbrowser - -incrementals-release: submodule-update +torbrowser-incrementals-release: submodule-update $(rbm) build release --step update_responses_config --target release --target create_unsigned_incrementals --target torbrowser tools/update-responses/download_missing_versions release tools/update-responses/gen_incrementals release $(rbm) build release --step hash_incrementals --target release --target torbrowser
-incrementals-alpha: submodule-update +torbrowser-incrementals-alpha: submodule-update $(rbm) build release --step update_responses_config --target alpha --target create_unsigned_incrementals --target torbrowser tools/update-responses/download_missing_versions alpha tools/update-responses/gen_incrementals alpha $(rbm) build release --step hash_incrementals --target alpha --target torbrowser
-incrementals-nightly: submodule-update +torbrowser-incrementals-nightly: submodule-update $(rbm) build release --step update_responses_config --target nightly --target torbrowser NO_CODESIGNATURE=1 tools/update-responses/gen_incrementals nightly $(rbm) build release --step hash_incrementals --target nightly --target torbrowser
-update_responses-release: submodule-update +torbrowser-update_responses-release: submodule-update $(rbm) build release --step update_responses_config --target release --target signed --target torbrowser $(rbm) build release --step create_update_responses_tar --target release --target signed --target torbrowser
-update_responses-alpha: submodule-update +torbrowser-update_responses-alpha: submodule-update $(rbm) build release --step update_responses_config --target alpha --target signed --target torbrowser $(rbm) build release --step create_update_responses_tar --target alpha --target signed --target torbrowser
-dmg2mar-release: submodule-update +torbrowser-dmg2mar-release: submodule-update $(rbm) build release --step update_responses_config --target release --target signed --target torbrowser $(rbm) build release --step dmg2mar --target release --target signed --target torbrowser tools/update-responses/download_missing_versions release CHECK_CODESIGNATURE_EXISTS=1 MAR_SKIP_EXISTING=1 tools/update-responses/gen_incrementals release
-dmg2mar-alpha: submodule-update +torbrowser-dmg2mar-alpha: submodule-update $(rbm) build release --step update_responses_config --target alpha --target signed --target torbrowser $(rbm) build release --step dmg2mar --target alpha --target signed --target torbrowser tools/update-responses/download_missing_versions alpha CHECK_CODESIGNATURE_EXISTS=1 MAR_SKIP_EXISTING=1 tools/update-responses/gen_incrementals alpha
-list_translation_updates-release: - $(rbm) showconf --target release --step list_updates translation list_updates - -list_translation_updates-alpha: - $(rbm) showconf --target alpha --step list_updates translation list_updates - -list_toolchain_updates-fenix: submodule-update - $(rbm) build fenix --step list_toolchain_updates --target nightly --target torbrowser-android-armv7 - -list_toolchain_updates-firefox-linux: submodule-update - $(rbm) build firefox --step list_toolchain_updates --target nightly --target torbrowser-linux-x86_64 - -list_toolchain_updates-firefox-windows: submodule-update - $(rbm) build firefox --step list_toolchain_updates --target nightly --target torbrowser-windows-x86_64 - -list_toolchain_updates-firefox-macos: submodule-update - $(rbm) build firefox --step list_toolchain_updates --target nightly --target torbrowser-macos - -list_toolchain_updates-android-components: submodule-update - $(rbm) build android-components --step list_toolchain_updates --target nightly --target torbrowser-android-armv7 - -list_toolchain_updates-application-services: submodule-update - $(rbm) build application-services --step list_toolchain_updates --target nightly --target torbrowser-android-armv7 - -list_toolchain_updates-geckoview: submodule-update - $(rbm) build geckoview --step list_toolchain_updates --target nightly --target torbrowser-android-armv7 - -create_glean_deps_tarball: submodule-update - $(rbm) build glean --step create_glean_deps_tarball --target alpha --target torbrowser-android-armv7 - -create_glean_deps_tarball-with_torsocks: submodule-update - $(rbm) build glean --step create_glean_deps_tarball --target alpha --target torbrowser-android-armv7 --target with_torsocks - -get_gradle_dependencies_list-fenix: submodule-update - $(rbm) build fenix --step get_gradle_dependencies_list --target nightly --target torbrowser-android-armv7 - -get_gradle_dependencies_list-application-services: submodule-update - $(rbm) build application-services --step get_gradle_dependencies_list --target nightly --target torbrowser-android-armv7 - -get_gradle_dependencies_list-android-components: submodule-update - $(rbm) build android-components --step get_gradle_dependencies_list --target nightly --target torbrowser-android-armv7 - -cargo_vendor-application-services: submodule-update - $(rbm) build application-services --step cargo_vendor --target nightly --target torbrowser-android-armv7 - -cargo_vendor-cbindgen-android: submodule-update - $(rbm) build cbindgen --step cargo_vendor --target nightly --target torbrowser-android-armv7 - -cargo_vendor-cbindgen: submodule-update - $(rbm) build cbindgen --step cargo_vendor --target nightly --target torbrowser-linux-x86_64 - -cargo_vendor-uniffi-rs: submodule-update - $(rbm) build uniffi-rs --step cargo_vendor --target nightly --target torbrowser-linux-x86_64 -
######################## # Base Browser Targets # @@ -457,6 +397,197 @@ basebrowser-testbuild-src: submodule-update $(rbm) build release --target testbuild --target browser-src-testbuild --target basebrowser
+########################### +# Privacy Browser Targets # +########################### + +privacybrowser-release: submodule-update + $(rbm) build release --target release --target browser-all-desktop --target privacybrowser + +privacybrowser-release-desktop: submodule-update + $(rbm) build release --target release --target browser-all-desktop --target privacybrowser + +privacybrowser-release-linux-x86_64: submodule-update + $(rbm) build release --target release --target browser-linux-x86_64 --target privacybrowser + +privacybrowser-release-linux-x86_64-asan: submodule-update + $(rbm) build release --target release --target browser-linux-x86_64-asan --target privacybrowser + +privacybrowser-release-windows-x86_64: submodule-update + $(rbm) build release --target release --target browser-windows-x86_64 --target privacybrowser + +privacybrowser-release-macos: submodule-update + $(rbm) build release --target release --target browser-macos --target privacybrowser + +privacybrowser-release-src: submodule-update + $(rbm) build release --target release --target browser-src --target privacybrowser + +privacybrowser-alpha: submodule-update + $(rbm) build release --target alpha --target browser-all-desktop --target privacybrowser + +privacybrowser-alpha-desktop: submodule-update + $(rbm) build release --target alpha --target browser-all-desktop --target privacybrowser + +privacybrowser-alpha-linux-x86_64: submodule-update + $(rbm) build release --target alpha --target browser-linux-x86_64 --target privacybrowser + +privacybrowser-alpha-linux-x86_64-asan: submodule-update + $(rbm) build release --target alpha --target browser-linux-x86_64-asan --target privacybrowser + +privacybrowser-alpha-windows-x86_64: submodule-update + $(rbm) build release --target alpha --target browser-windows-x86_64 --target privacybrowser + +privacybrowser-alpha-macos: submodule-update + $(rbm) build release --target alpha --target browser-macos --target privacybrowser + +privacybrowser-alpha-src: submodule-update + $(rbm) build release --target alpha --target browser-src --target privacybrowser + +privacybrowser-nightly: submodule-update + $(rbm) build release --target nightly --target browser-all-desktop --target privacybrowser + +privacybrowser-nightly-desktop: submodule-update + $(rbm) build release --target nightly --target browser-all-desktop --target privacybrowser + +privacybrowser-nightly-linux-x86_64: submodule-update + $(rbm) build release --target nightly --target browser-linux-x86_64 --target privacybrowser + +privacybrowser-nightly-linux-x86_64-asan: submodule-update + $(rbm) build release --target nightly --target browser-linux-x86_64-asan --target privacybrowser + +privacybrowser-nightly-windows-x86_64: submodule-update + $(rbm) build release --target nightly --target browser-windows-x86_64 --target privacybrowser + +privacybrowser-nightly-macos: submodule-update + $(rbm) build release --target nightly --target browser-macos --target privacybrowser + +privacybrowser-nightly-src: submodule-update + $(rbm) build release --target nightly --target browser-src --target privacybrowser + +privacybrowser-testbuild: submodule-update + $(rbm) build release --target testbuild --target browser-all-desktop --target privacybrowser + +privacybrowser-testbuild-desktop: submodule-update + $(rbm) build release --target testbuild --target browser-all-desktop --target privacybrowser + +privacybrowser-testbuild-linux-x86_64: submodule-update + $(rbm) build release --target testbuild --target browser-linux-x86_64 --target privacybrowser + +privacybrowser-testbuild-linux-x86_64-asan: submodule-update + $(rbm) build release --target testbuild --target browser-linux-x86_64-asan --target privacybrowser + +privacybrowser-testbuild-windows-x86_64: submodule-update + $(rbm) build release --target testbuild --target browser-windows-x86_64 --target privacybrowser + +privacybrowser-testbuild-macos: submodule-update + $(rbm) build release --target testbuild --target browser-macos --target privacybrowser + +privacybrowser-testbuild-macos-x86_64: submodule-update + $(rbm) build release --target testbuild --target browser-macos-x86_64 --target privacybrowser + +privacybrowser-testbuild-macos-aarch64: submodule-update + $(rbm) build release --target testbuild --target browser-macos-aarch64 --target privacybrowser + +privacybrowser-testbuild-src: submodule-update + $(rbm) build release --target testbuild --target browser-src-testbuild --target privacybrowser + +privacybrowser-incrementals-release: submodule-update + $(rbm) build release --step update_responses_config --target release --target create_unsigned_incrementals --target privacybrowser + tools/update-responses/download_missing_versions release + tools/update-responses/gen_incrementals release + $(rbm) build release --step hash_incrementals --target release --target privacybrowser + +privacybrowser-incrementals-alpha: submodule-update + $(rbm) build release --step update_responses_config --target alpha --target create_unsigned_incrementals --target privacybrowser + tools/update-responses/download_missing_versions alpha + tools/update-responses/gen_incrementals alpha + $(rbm) build release --step hash_incrementals --target alpha --target privacybrowser + +privacybrowser-incrementals-nightly: submodule-update + $(rbm) build release --step update_responses_config --target nightly --target privacybrowser + NO_CODESIGNATURE=1 tools/update-responses/gen_incrementals nightly + $(rbm) build release --step hash_incrementals --target nightly --target privacybrowser + +privacybrowser-update_responses-release: submodule-update + $(rbm) build release --step update_responses_config --target release --target signed --target privacybrowser + $(rbm) build release --step create_update_responses_tar --target release --target signed --target privacybrowser + +privacybrowser-update_responses-alpha: submodule-update + $(rbm) build release --step update_responses_config --target alpha --target signed --target privacybrowser + $(rbm) build release --step create_update_responses_tar --target alpha --target signed --target privacybrowser + +privacybrowser-dmg2mar-release: submodule-update + $(rbm) build release --step update_responses_config --target release --target signed --target privacybrowser + $(rbm) build release --step dmg2mar --target release --target signed --target privacybrowser + tools/update-responses/download_missing_versions release + CHECK_CODESIGNATURE_EXISTS=1 MAR_SKIP_EXISTING=1 tools/update-responses/gen_incrementals release + +privacybrowser-dmg2mar-alpha: submodule-update + $(rbm) build release --step update_responses_config --target alpha --target signed --target privacybrowser + $(rbm) build release --step dmg2mar --target alpha --target signed --target privacybrowser + tools/update-responses/download_missing_versions alpha + CHECK_CODESIGNATURE_EXISTS=1 MAR_SKIP_EXISTING=1 tools/update-responses/gen_incrementals alpha + + +############################ +# Toolchain Update Targets # +############################ + +list_translation_updates-release: + $(rbm) showconf --target release --step list_updates translation list_updates + +list_translation_updates-alpha: + $(rbm) showconf --target alpha --step list_updates translation list_updates + +list_toolchain_updates-fenix: submodule-update + $(rbm) build fenix --step list_toolchain_updates --target nightly --target torbrowser-android-armv7 + +list_toolchain_updates-firefox-linux: submodule-update + $(rbm) build firefox --step list_toolchain_updates --target nightly --target torbrowser-linux-x86_64 + +list_toolchain_updates-firefox-windows: submodule-update + $(rbm) build firefox --step list_toolchain_updates --target nightly --target torbrowser-windows-x86_64 + +list_toolchain_updates-firefox-macos: submodule-update + $(rbm) build firefox --step list_toolchain_updates --target nightly --target torbrowser-macos + +list_toolchain_updates-android-components: submodule-update + $(rbm) build android-components --step list_toolchain_updates --target nightly --target torbrowser-android-armv7 + +list_toolchain_updates-application-services: submodule-update + $(rbm) build application-services --step list_toolchain_updates --target nightly --target torbrowser-android-armv7 + +list_toolchain_updates-geckoview: submodule-update + $(rbm) build geckoview --step list_toolchain_updates --target nightly --target torbrowser-android-armv7 + +create_glean_deps_tarball: submodule-update + $(rbm) build glean --step create_glean_deps_tarball --target alpha --target torbrowser-android-armv7 + +create_glean_deps_tarball-with_torsocks: submodule-update + $(rbm) build glean --step create_glean_deps_tarball --target alpha --target torbrowser-android-armv7 --target with_torsocks + +get_gradle_dependencies_list-fenix: submodule-update + $(rbm) build fenix --step get_gradle_dependencies_list --target nightly --target torbrowser-android-armv7 + +get_gradle_dependencies_list-application-services: submodule-update + $(rbm) build application-services --step get_gradle_dependencies_list --target nightly --target torbrowser-android-armv7 + +get_gradle_dependencies_list-android-components: submodule-update + $(rbm) build android-components --step get_gradle_dependencies_list --target nightly --target torbrowser-android-armv7 + +cargo_vendor-application-services: submodule-update + $(rbm) build application-services --step cargo_vendor --target nightly --target torbrowser-android-armv7 + +cargo_vendor-cbindgen-android: submodule-update + $(rbm) build cbindgen --step cargo_vendor --target nightly --target torbrowser-android-armv7 + +cargo_vendor-cbindgen: submodule-update + $(rbm) build cbindgen --step cargo_vendor --target nightly --target torbrowser-linux-x86_64 + +cargo_vendor-uniffi-rs: submodule-update + $(rbm) build uniffi-rs --step cargo_vendor --target nightly --target torbrowser-linux-x86_64 + + ################## # Common Targets # ################## @@ -464,6 +595,12 @@ basebrowser-testbuild-src: submodule-update submodule-update: git submodule update --init
+signtag-release: submodule-update + $(rbm) build release --step signtag --target release --target torbrowser + +signtag-alpha: submodule-update + $(rbm) build release --step signtag --target alpha --target torbrowser + fetch: submodule-update $(rbm) fetch
===================================== README ===================================== @@ -96,9 +96,9 @@ mar file will be created. If you want to base your testbuild on the latest nightly code insted, rename rbm.local.conf.example to rbm.local.conf and adapt the torbrowser-testbuild option accordingly.
-Similar makefile targets exist for building Base Browser instead of -Tor Browser. To build Base Browser, replace `torbrowser` by `basebrowser` -in the target name. +Similar makefile targets exist for building Base Browser and Privacy Browser +instead of Tor Browser. To build Base Browser, replace `torbrowser` by +`basebrowser` in the target name. For Privacy Browser, use `privacybrowser`.
Updating git sources
===================================== doc/MAKEFILE.txt ===================================== @@ -75,6 +75,11 @@ basebrowser-* The same rules for building Tor Browser also exist for building Base Browser.
+privacybrowser-* +---------------- +The same rules for building Tor Browser also exist for building +Privacy Browser. + fetch ----- Fetch new commits from all components. This is useful when you want to
===================================== projects/browser/Bundle-Data/PrivacyBrowser.dmg/.DS_Store ===================================== Binary files /dev/null and b/projects/browser/Bundle-Data/PrivacyBrowser.dmg/.DS_Store differ
===================================== projects/browser/Bundle-Data/PrivacyBrowser.dmg/.VolumeIcon.icns ===================================== Binary files /dev/null and b/projects/browser/Bundle-Data/PrivacyBrowser.dmg/.VolumeIcon.icns differ
===================================== projects/browser/Bundle-Data/PrivacyBrowser.dmg/.background/background.png ===================================== Binary files /dev/null and b/projects/browser/Bundle-Data/PrivacyBrowser.dmg/.background/background.png differ
===================================== projects/browser/RelativeLink/start-browser ===================================== @@ -94,8 +94,8 @@ fi
print_usage () { printf "\n[% c('var/Project_Name') %] Script Options\n" - printf " --verbose Display Tor and Firefox output in the terminal\n" - printf " --log [file] Record Tor and Firefox output in file (default: [% c('var/project-name') %].log)\n" + printf " --verbose Display [% IF c("var/tor-browser") -%]Tor and [% END -%]the browser output in the terminal\n" + printf " --log [file] Record [% IF c("var/tor-browser") -%]Tor and [% END -%]the browser output in file (default: [% c('var/project-name') %].log)\n" printf " --detach Detach from terminal and run [% c('var/Project_Name') %] in the background.\n" printf " --register-app Register [% c('var/Project_Name') %] as a desktop app for this user\n" printf " --unregister-app Unregister [% c('var/Project_Name') %] as a desktop app for this user\n" @@ -356,22 +356,22 @@ cd "${HOME}"
if [ "$show_usage" -eq 1 ]; then # Display Firefox help, then our help - [% IF c("var/tor-browser") %]TOR_CONTROL_PASSWD=${TOR_CONTROL_PASSWD}[% END %] ./firefox \ + [% IF c("var/tor-browser") %]TOR_CONTROL_PASSWD=${TOR_CONTROL_PASSWD}[% END %] ./[% c('var/exe_name') %] \ --class "[% c('var/Project_Name') %]" --name "[% c('var/Project_Name') %]" --help 2>/dev/null print_usage elif [ "$detach" -eq 1 ] ; then - [% IF c("var/tor-browser") %]TOR_CONTROL_PASSWD=${TOR_CONTROL_PASSWD}[% END %] ./firefox \ + [% IF c("var/tor-browser") %]TOR_CONTROL_PASSWD=${TOR_CONTROL_PASSWD}[% END %] ./[% c('var/exe_name') %] \ --class "[% c('var/Project_Name') %]" --name "[% c('var/Project_Name') %]" "${@}" > "$logfile" 2>&1 </dev/null & disown "$!" elif [ "$log_output" -eq 1 -a "$show_output" -eq 1 ]; then - [% IF c("var/tor-browser") %]TOR_CONTROL_PASSWD=${TOR_CONTROL_PASSWD}[% END %] ./firefox \ + [% IF c("var/tor-browser") %]TOR_CONTROL_PASSWD=${TOR_CONTROL_PASSWD}[% END %] ./[% c('var/exe_name') %] \ --class "[% c('var/Project_Name') %]" --name "[% c('var/Project_Name') %]" "${@}" 2>&1 </dev/null | \ tee "$logfile" elif [ "$show_output" -eq 1 ]; then - [% IF c("var/tor-browser") %]TOR_CONTROL_PASSWD=${TOR_CONTROL_PASSWD}[% END %] ./firefox \ + [% IF c("var/tor-browser") %]TOR_CONTROL_PASSWD=${TOR_CONTROL_PASSWD}[% END %] ./[% c('var/exe_name') %] \ --class "[% c('var/Project_Name') %]" --name "[% c('var/Project_Name') %]" "${@}" < /dev/null else - [% IF c("var/tor-browser") %]TOR_CONTROL_PASSWD=${TOR_CONTROL_PASSWD}[% END %] ./firefox \ + [% IF c("var/tor-browser") %]TOR_CONTROL_PASSWD=${TOR_CONTROL_PASSWD}[% END %] ./[% c('var/exe_name') %] \ --class "[% c('var/Project_Name') %]" --name "[% c('var/Project_Name') %]" "${@}" > "$logfile" 2>&1 </dev/null fi
===================================== projects/browser/build ===================================== @@ -56,12 +56,17 @@ do mkdir -p "$tbdir/$EXTSPATH" done
-# Extract the MAR tools. -unzip -d $rootdir $rootdir/[% c('input_files_by_name/firefox') %]/mar-tools-*.zip -MARTOOLS=$rootdir/mar-tools +[% IF c("var/updater_enabled") -%] + # Extract the MAR tools. + unzip -d $rootdir $rootdir/[% c('input_files_by_name/firefox') %]/mar-tools-*.zip + MARTOOLS=$rootdir/mar-tools +[% END -%]
mv [% c('input_files_by_name/noscript') %] "$TBDIR/$EXTSPATH/{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi" -[% IF !c("var/macos") -%] +[% IF c("var/privacy-browser") -%] + mv [% c('input_files_by_name/ublock-origin') %] "$TBDIR/$EXTSPATH/uBlock0@raymondhill.net.xpi" +[% END -%] +[% IF !c("var/macos") && c("var/tor-browser") -%] cp "$TBDIR/$EXTSPATH/{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi" "$TBDIR/$PROFILEPATH/" [% END %]
@@ -291,10 +296,11 @@ done # mozpack.mozjar.JarReaderError: Central directory and file header mismatch. Corrupted archive? # # See https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40... - mv "$TBDIR/$EXTSPATH/{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi" $rootdir/ns.xpi + mkdir $rootdir/extensions + mv "$TBDIR/$EXTSPATH/"* $rootdir/extensions MOZ_AUTOMATION=1 $firefox_src/mach python $firefox_src/toolkit/mozapps/installer/unify.py "$TBDIR" "$TBDIR_AARCH64" mkdir -p "$TBDIR/$EXTSPATH" - mv $rootdir/ns.xpi "$TBDIR/$EXTSPATH/{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi" + mv $rootdir/extensions/* "$TBDIR/$EXTSPATH/" rm -Rf "$TBDIR_AARCH64" [% END -%]
@@ -311,14 +317,15 @@ cat > "$scripts_dir/create-$PKG_DIR" << SCRIPT_EOF set -e cp -a ${TB_STAGE_DIR} $distdir/$PKG_DIR
-pushd "$TBDIR[% IF c("var/macos") %]/Contents/Resources/[% END %]" -rm -f precomplete -python $MARTOOLS/createprecomplete.py -popd - +[% IF c("var/updater_enabled") -%] + pushd "$TBDIR[% IF c("var/macos") %]/Contents/Resources/[% END %]" + rm -f precomplete + python $MARTOOLS/createprecomplete.py + popd +[% END -%] cd $distdir
-[% IF c("var/build_mar") -%] +[% IF c("var/build_mar") && c("var/updater_enabled") -%] # Create full MAR file and compressed package. [% SET mar_file = c("var/project-name") _ '-' _ c("var/mar_osname") _ '-' _ c("var/torbrowser_version") _ '_${PKG_LOCALE}.mar' %] MAR=$MARTOOLS/mar \ @@ -352,7 +359,9 @@ cd $distdir rm -rf $distdir/${PKG_DIR} SCRIPT_EOF
-cp $rootdir/[% c('input_files_by_name/firefox') %]/mar-tools-*.zip "$OUTDIR"/ +[% IF c("var/updater_enabled") -%] + cp $rootdir/[% c('input_files_by_name/firefox') %]/mar-tools-*.zip "$OUTDIR"/ +[% END -%] [% IF c("var/linux-x86_64") -%] [% IF c("var/tor-browser") -%] cp $rootdir/[% c('input_files_by_name/firefox') %]/browser-debug.tar.xz "$OUTDIR"/[% c("var/project-name") %]-[% c("var/mar_osname") %]-debug.tar.xz
===================================== projects/browser/config ===================================== @@ -67,6 +67,9 @@ targets: basebrowser: var: prefs_file: 001-base-profile.js + privacybrowser: + var: + prefs_file: 001-base-profile.js
input_files: - project: container-image @@ -103,6 +106,10 @@ input_files: - URL: https://addons.mozilla.org/firefox/downloads/file/4050735/noscript-11.4.14.x... name: noscript sha256sum: 14af6a3cbc269c045f2d950e1e4f7c29981b35a7abc61d2413f5bb8bd7311857 + - URL: https://addons.mozilla.org/firefox/downloads/file/4047353/ublock_origin-1.46... + name: ublock-origin + sha256sum: 6bf8af5266353fab5eabdc7476de026e01edfb7901b0430c5e539f6791f1edc8 + enable: '[% c("var/privacy-browser") %]' - filename: 'gtk3-settings.ini' enable: '[% c("var/linux") %]' - project: hfsplus-tools
===================================== projects/browser/windows-installer/basebrowser.nsi ===================================== @@ -3,7 +3,7 @@ ;released under Public Domain
;-------------------------------- -;Modern" UI +;Modern UI
!include "MUI2.nsh" !include "LogicLib.nsh" @@ -11,16 +11,16 @@
;-------------------------------- ;General - + ; location of Base Browser bundle to put into installer - !define TBBSOURCE ".\Base Browser" + !define TBBSOURCE ".\Base Browser"
Name "Base Browser" OutFile "basebrowser-install.exe"
;Default installation folder InstallDir "$DESKTOP\Base Browser" - + ;Best (but slowest) compression SetCompressor /SOLID lzma SetCompressorDictSize 32 @@ -117,11 +117,11 @@
;-------------------------------- ;Reserve Files - + ;If you are using solid compression, files that are required before ;the actual installation should be stored first in the data block, ;because this will make your installer start faster. - + !insertmacro MUI_RESERVEFILE_LANGDLL
;-------------------------------- @@ -138,7 +138,7 @@ SectionEnd
Function CreateShortcuts
- CreateShortCut "$SMPROGRAMS\Start Base Browser.lnk" "$INSTDIR\Browser\firefox.exe" + CreateShortCut "$SMPROGRAMS\Start Base Browser.lnk" "$INSTDIR\Browser\firefox.exe" CreateShortCut "$DESKTOP\Start Base Browser.lnk" "$INSTDIR\Browser\firefox.exe"
FunctionEnd
===================================== projects/browser/windows-installer/privacybrowser.ico ===================================== Binary files /dev/null and b/projects/browser/windows-installer/privacybrowser.ico differ
===================================== projects/browser/windows-installer/privacybrowser.nsi ===================================== @@ -0,0 +1,180 @@ +;NSIS Installer for Privacy Browser +;Written by Moritz Bartl +;released under Public Domain + +;-------------------------------- +;Modern UI + + !include "MUI2.nsh" + !include "LogicLib.nsh" + !include "WinVer.nsh" + +;-------------------------------- +;General + + ; location of Privacy Browser bundle to put into installer + !define TBBSOURCE ".\Privacy Browser" + + Name "Privacy Browser" + OutFile "privacybrowser-install.exe" + + ;Default installation folder + InstallDir "$DESKTOP\Privacy Browser" + + ;Best (but slowest) compression + SetCompressor /SOLID lzma + SetCompressorDictSize 32 + + ;Request application privileges for Windows Vista + RequestExecutionLevel user + +;-------------------------------- +;Interface Configuration + + !define MUI_ICON "privacybrowser.ico" + !define MUI_ABORTWARNING + +;-------------------------------- +;Modern UI settings + !define MUI_FINISHPAGE_NOREBOOTSUPPORT ; we don't require a reboot + !define MUI_FINISHPAGE_RUN + !define MUI_FINISHPAGE_RUN_FUNCTION "StartPrivacyBrowser" + !define MUI_FINISHPAGE_SHOWREADME ; misuse for option to create shortcut; less ugly than MUI_PAGE_COMPONENTS + !define MUI_FINISHPAGE_SHOWREADME_TEXT "&Add Start Menu && Desktop shortcuts" + !define MUI_FINISHPAGE_SHOWREADME_FUNCTION "CreateShortCuts" +;-------------------------------- +;Pages + + !define MUI_PAGE_CUSTOMFUNCTION_LEAVE CheckIfTargetDirectoryExists + !insertmacro MUI_PAGE_DIRECTORY + !insertmacro MUI_PAGE_INSTFILES + !insertmacro MUI_PAGE_FINISH + +;-------------------------------- +;Languages + + !insertmacro MUI_LANGUAGE "English" ;first language is the default language + !insertmacro MUI_LANGUAGE "French" + !insertmacro MUI_LANGUAGE "German" + !insertmacro MUI_LANGUAGE "Spanish" + !insertmacro MUI_LANGUAGE "SpanishInternational" + !insertmacro MUI_LANGUAGE "SimpChinese" + !insertmacro MUI_LANGUAGE "TradChinese" + !insertmacro MUI_LANGUAGE "Japanese" + !insertmacro MUI_LANGUAGE "Korean" + !insertmacro MUI_LANGUAGE "Italian" + !insertmacro MUI_LANGUAGE "Dutch" + !insertmacro MUI_LANGUAGE "Danish" + !insertmacro MUI_LANGUAGE "Swedish" + !insertmacro MUI_LANGUAGE "Norwegian" + !insertmacro MUI_LANGUAGE "NorwegianNynorsk" + !insertmacro MUI_LANGUAGE "Finnish" + !insertmacro MUI_LANGUAGE "Greek" + !insertmacro MUI_LANGUAGE "Russian" + !insertmacro MUI_LANGUAGE "Portuguese" + !insertmacro MUI_LANGUAGE "PortugueseBR" + !insertmacro MUI_LANGUAGE "Polish" + !insertmacro MUI_LANGUAGE "Ukrainian" + !insertmacro MUI_LANGUAGE "Czech" + !insertmacro MUI_LANGUAGE "Slovak" + !insertmacro MUI_LANGUAGE "Croatian" + !insertmacro MUI_LANGUAGE "Bulgarian" + !insertmacro MUI_LANGUAGE "Hungarian" + !insertmacro MUI_LANGUAGE "Thai" + !insertmacro MUI_LANGUAGE "Romanian" + !insertmacro MUI_LANGUAGE "Latvian" + !insertmacro MUI_LANGUAGE "Macedonian" + !insertmacro MUI_LANGUAGE "Estonian" + !insertmacro MUI_LANGUAGE "Turkish" + !insertmacro MUI_LANGUAGE "Lithuanian" + !insertmacro MUI_LANGUAGE "Slovenian" + !insertmacro MUI_LANGUAGE "Serbian" + !insertmacro MUI_LANGUAGE "SerbianLatin" + !insertmacro MUI_LANGUAGE "Arabic" + !insertmacro MUI_LANGUAGE "Farsi" + !insertmacro MUI_LANGUAGE "Hebrew" + !insertmacro MUI_LANGUAGE "Indonesian" + !insertmacro MUI_LANGUAGE "Mongolian" + !insertmacro MUI_LANGUAGE "Luxembourgish" + !insertmacro MUI_LANGUAGE "Albanian" + !insertmacro MUI_LANGUAGE "Breton" + !insertmacro MUI_LANGUAGE "Belarusian" + !insertmacro MUI_LANGUAGE "Icelandic" + !insertmacro MUI_LANGUAGE "Malay" + !insertmacro MUI_LANGUAGE "Bosnian" + !insertmacro MUI_LANGUAGE "Kurdish" + !insertmacro MUI_LANGUAGE "Irish" + !insertmacro MUI_LANGUAGE "Uzbek" + !insertmacro MUI_LANGUAGE "Galician" + !insertmacro MUI_LANGUAGE "Afrikaans" + !insertmacro MUI_LANGUAGE "Catalan" + !insertmacro MUI_LANGUAGE "Esperanto" + +;-------------------------------- +;Reserve Files + + ;If you are using solid compression, files that are required before + ;the actual installation should be stored first in the data block, + ;because this will make your installer start faster. + + !insertmacro MUI_RESERVEFILE_LANGDLL + +;-------------------------------- +;Installer Sections + +Section "Privacy Browser" SecPB + + SetOutPath "$INSTDIR" + File /r "${TBBSOURCE}*.*" + SetOutPath "$INSTDIR\Browser" + CreateShortCut "$INSTDIR\Start Privacy Browser.lnk" "$INSTDIR\Browser\privacybrowser.exe" + +SectionEnd + +Function CreateShortcuts + + CreateShortCut "$SMPROGRAMS\Start Privacy Browser.lnk" "$INSTDIR\Browser\privacybrowser.exe" + CreateShortCut "$DESKTOP\Start Privacy Browser.lnk" "$INSTDIR\Browser\privacybrowser.exe" + +FunctionEnd +;-------------------------------- +;Installer Functions + +Function .onInit + + ${IfNot} ${AtLeastWin7} + MessageBox MB_USERICON|MB_OK "Privacy Browser requires at least Windows 7" + SetErrorLevel 1 + Quit + ${EndIf} + + ; Don't install on systems that don't support SSE2. The parameter value of + ; 10 is for PF_XMMI64_INSTRUCTIONS_AVAILABLE which will check whether the + ; SSE2 instruction set is available. + System::Call "kernel32::IsProcessorFeaturePresent(i 10)i .R7" + + ${If} "$R7" == "0" + MessageBox MB_OK|MB_ICONSTOP "Sorry, Privacy Browser can't be installed. This version of Privacy Browser requires a processor with SSE2 support." + Abort + ${EndIf} + + !insertmacro MUI_LANGDLL_DISPLAY + +FunctionEnd + +;-------------------------------- +;Helper Functions + +Function CheckIfTargetDirectoryExists +${If} ${FileExists} "$INSTDIR*.*" + MessageBox MB_YESNO "The destination directory already exists. You can try to upgrade Privacy Browser, but if you run into any problems, use a new directory instead. Continue?" IDYES NoAbort + Abort + NoAbort: +${EndIf} +FunctionEnd + + +Function StartPrivacyBrowser +ExecShell "open" "$INSTDIR/Start Privacy Browser.lnk" +FunctionEnd +
===================================== projects/browser/windows-installer/torbrowser.nsi ===================================== @@ -3,7 +3,7 @@ ;released under Public Domain
;-------------------------------- -;Modern" UI +;Modern UI
!include "MUI2.nsh" !include "LogicLib.nsh" @@ -11,16 +11,16 @@
;-------------------------------- ;General - + ; location of Tor Browser bundle to put into installer - !define TBBSOURCE ".\Tor Browser" + !define TBBSOURCE ".\Tor Browser"
Name "Tor Browser" OutFile "torbrowser-install.exe"
;Default installation folder InstallDir "$DESKTOP\Tor Browser" - + ;Best (but slowest) compression SetCompressor /SOLID lzma SetCompressorDictSize 32 @@ -117,11 +117,11 @@
;-------------------------------- ;Reserve Files - + ;If you are using solid compression, files that are required before ;the actual installation should be stored first in the data block, ;because this will make your installer start faster. - + !insertmacro MUI_RESERVEFILE_LANGDLL
;-------------------------------- @@ -138,7 +138,7 @@ SectionEnd
Function CreateShortcuts
- CreateShortCut "$SMPROGRAMS\Start Tor Browser.lnk" "$INSTDIR\Browser\firefox.exe" + CreateShortCut "$SMPROGRAMS\Start Tor Browser.lnk" "$INSTDIR\Browser\firefox.exe" CreateShortCut "$DESKTOP\Start Tor Browser.lnk" "$INSTDIR\Browser\firefox.exe"
FunctionEnd
===================================== projects/firefox/build ===================================== @@ -175,8 +175,8 @@ export LANG=C.UTF-8 [% IF c("var/tor-browser") -%] --with-tor-browser-version=[% c("var/torbrowser_version") %] \ --enable-update-channel=[% c("var/channel") %] \ - --with-branding=[% c("var/branding_directory") %] \ [% END %] \ + [% IF !c("var/base-browser") -%]--with-branding=browser/branding/[% c("var/branding_directory_prefix") %]-[% c("var/channel") %][% END %] \ [% IF !c("var/rlbox") -%]--without-wasm-sandboxed-libraries[% END %]
./mach build --verbose @@ -190,12 +190,12 @@ export LANG=C.UTF-8 [% END %]
[% IF c("var/macos") %] - cp -a obj-*/dist/firefox/* $distdir + cp -a obj-*/dist/[% c('var/exe_name') %]/* $distdir [% IF c("var/base-browser") -%] mv "$distdir/Firefox.app" "$distdir/[% c('var/Project_Name') %].app" [% END -%] # Remove firefox-bin (we don't use it, see ticket #10126) - rm -f "$distdir/[% c('var/Project_Name') %].app/Contents/MacOS/firefox-bin" + rm -f "$distdir/[% c('var/Project_Name') %].app/Contents/MacOS/[% c('var/exe_name') %]-bin"
# Adjust the Info.plist file INFO_PLIST="$distdir/[% c('var/Project_Name') %].app/Contents/Info.plist" @@ -208,21 +208,23 @@ export LANG=C.UTF-8 [% IF c("var/linux-x86_64") && !c("var/asan") %] cp obj-*/testing/geckodriver/x86_64-unknown-linux-gnu/release/geckodriver $distdir [% END %] - cp -a obj-*/dist/firefox/* $distdir/Browser/ + cp -a obj-*/dist/[% c('var/exe_name') %]/* $distdir/Browser/ # Remove firefox-bin (we don't use it, see ticket #10126) - rm -f $distdir/Browser/firefox-bin + rm -f "$distdir/Browser/[% c('var/exe_name') %]-bin" # TODO: There goes FIPS-140.. We could upload these somewhere unique and # subsequent builds could test to see if they've been uploaded before... # But let's find out if it actually matters first.. rm -f $distdir/Browser/*.chk - # Replace firefox by a wrapper script (#25485) - mv $distdir/Browser/firefox $distdir/Browser/firefox.real - mv $rootdir/start-firefox $distdir/Browser/firefox - chmod 755 $distdir/Browser/firefox + # Replace $exe_name by a wrapper script (#25485) + mv "$distdir/Browser/[% c('var/exe_name') %]" "$distdir/Browser/[% c('var/exe_name') %].real" + cat > "$distdir/Browser/[% c('var/exe_name') %]" << 'RBM_TB_EOF' +[% INCLUDE 'start-firefox' -%] +RBM_TB_EOF + chmod 755 "$distdir/Browser/[% c('var/exe_name') %]" [% END %]
[% IF c("var/windows") %] - cp -a obj-*/dist/firefox/* $distdir/Browser/ + cp -a obj-*/dist/[% c('var/exe_name') %]/* $distdir/Browser/ [% IF c("var/windows-i686") %] cp -a /var/tmp/dist/fxc2/bin/d3dcompiler_47_32.dll $distdir/Browser/d3dcompiler_47.dll [% ELSE %] @@ -230,46 +232,48 @@ export LANG=C.UTF-8 [% END %] [% END %]
-# Make MAR-based update tools available for use during the bundle phase. -# Note that mar and mbsdiff are standalone tools, compiled for the build -# host's architecture. We also include signmar, certutil, and the libraries -# they require; these utilities and libraries are built for the target -# architecture. -MARTOOLS=$distdir/mar-tools -mkdir -p $MARTOOLS -cp -p config/createprecomplete.py $MARTOOLS/ -cp -p tools/update-packaging/*.sh $MARTOOLS/ -cp -p obj-*/dist/host/bin/mar $MARTOOLS/ -cp -p obj-*/dist/host/bin/mbsdiff $MARTOOLS/ -[% IF c("var/linux") || c("var/macos") %] - cp -p obj-*/dist/bin/signmar $MARTOOLS/ - cp -p obj-*/dist/bin/certutil $MARTOOLS/ - cp -p obj-*/dist/bin/modutil $MARTOOLS/ - cp -p obj-*/dist/bin/pk12util $MARTOOLS/ - cp -p obj-*/dist/bin/shlibsign $MARTOOLS/ - [% IF c("var/linux") %] - NSS_LIBS="libfreeblpriv3.so libmozsqlite3.so libnss3.so libnssckbi.so libnssutil3.so libsmime3.so libsoftokn3.so libssl3.so" - NSPR_LIBS="libnspr4.so libplc4.so libplds4.so" - [% ELSE %] - NSS_LIBS="libfreebl3.dylib libmozglue.dylib libnss3.dylib libnssckbi.dylib libsoftokn3.dylib" - # No NSPR_LIBS for macOS - NSPR_LIBS="" - [% END %] - for LIB in $NSS_LIBS $NSPR_LIBS; do - cp -p obj-*/dist/bin/$LIB $MARTOOLS/ - done -[% END %] -[% IF c("var/windows") %] - cp -p obj-*/dist/bin/signmar.exe $MARTOOLS/ - cp -p obj-*/dist/bin/certutil.exe $MARTOOLS/ - cp -p obj-*/dist/bin/modutil.exe $MARTOOLS/ - cp -p obj-*/dist/bin/pk12util.exe $MARTOOLS/ - cp -p obj-*/dist/bin/shlibsign.exe $MARTOOLS/ - NSS_LIBS="freebl3.dll mozglue.dll nss3.dll nssckbi.dll softokn3.dll" - for LIB in $NSS_LIBS; do +[% IF c("var/updater_enabled") -%] + # Make MAR-based update tools available for use during the bundle phase. + # Note that mar and mbsdiff are standalone tools, compiled for the build + # host's architecture. We also include signmar, certutil, and the libraries + # they require; these utilities and libraries are built for the target + # architecture. + MARTOOLS=$distdir/mar-tools + mkdir -p $MARTOOLS + cp -p config/createprecomplete.py $MARTOOLS/ + cp -p tools/update-packaging/*.sh $MARTOOLS/ + cp -p obj-*/dist/host/bin/mar $MARTOOLS/ + cp -p obj-*/dist/host/bin/mbsdiff $MARTOOLS/ + [% IF c("var/linux") || c("var/macos") %] + cp -p obj-*/dist/bin/signmar $MARTOOLS/ + cp -p obj-*/dist/bin/certutil $MARTOOLS/ + cp -p obj-*/dist/bin/modutil $MARTOOLS/ + cp -p obj-*/dist/bin/pk12util $MARTOOLS/ + cp -p obj-*/dist/bin/shlibsign $MARTOOLS/ + [% IF c("var/linux") %] + NSS_LIBS="libfreeblpriv3.so libmozsqlite3.so libnss3.so libnssckbi.so libnssutil3.so libsmime3.so libsoftokn3.so libssl3.so" + NSPR_LIBS="libnspr4.so libplc4.so libplds4.so" + [% ELSE %] + NSS_LIBS="libfreebl3.dylib libmozglue.dylib libnss3.dylib libnssckbi.dylib libsoftokn3.dylib" + # No NSPR_LIBS for macOS + NSPR_LIBS="" + [% END %] + for LIB in $NSS_LIBS $NSPR_LIBS; do cp -p obj-*/dist/bin/$LIB $MARTOOLS/ - done -[% END %] + done + [% END %] + [% IF c("var/windows") %] + cp -p obj-*/dist/bin/signmar.exe $MARTOOLS/ + cp -p obj-*/dist/bin/certutil.exe $MARTOOLS/ + cp -p obj-*/dist/bin/modutil.exe $MARTOOLS/ + cp -p obj-*/dist/bin/pk12util.exe $MARTOOLS/ + cp -p obj-*/dist/bin/shlibsign.exe $MARTOOLS/ + NSS_LIBS="freebl3.dll mozglue.dll nss3.dll nssckbi.dll softokn3.dll" + for LIB in $NSS_LIBS; do + cp -p obj-*/dist/bin/$LIB $MARTOOLS/ + done + [% END %] +[% END -%]
cd $distdir
@@ -281,7 +285,7 @@ cd $distdir mkdir -p $distdir/Debug/Browser # Strip and generate debuginfo for the firefox binary that we keep, all *.so # files, the plugin-container, and the updater (see ticket #10126) - for LIB in Browser/*.so Browser/firefox.real Browser/plugin-container Browser/updater + for LIB in Browser/*.so "Browser/[% c('var/exe_name') %].real" Browser/plugin-container [% IF c("var/updater_enabled") -%]Browser/updater[% END %] do objcopy --only-keep-debug $LIB Debug/$LIB strip $LIB @@ -311,6 +315,16 @@ END;
[% IF c("var/linux") %] /var/tmp/dist/gcc/bin/g++ $rootdir/abicheck.cc -o Browser/abicheck -std=c++17 + [% IF !c("var/torbrowser") %] + libdest=Browser/libstdc++ + mkdir -p "$libdest" + # FIXME: tor-browser-build#40749 + cp /var/tmp/dist/gcc/[% c("var/libdir") %]/libstdc++.so.* "$libdest" + [% IF c("var/asan") -%] + cp /var/tmp/dist/gcc/[% c("var/libdir") %]/libasan.so.* "$libdest" + cp /var/tmp/dist/gcc/[% c("var/libdir") %]/libubsan.so.* "$libdest" + [% END -%] + [% END %] [% END %]
[% c('tar', { @@ -331,10 +345,12 @@ END; [% END %] [% END %]
-[% c('zip', { - zip_src => [ 'mar-tools' ], - zip_args => dest_dir _ '/' _ c('filename') _ '/' _ c('var/martools_filename'), - }) %] +[% IF c("var/updater_enabled") -%] + [% c('zip', { + zip_src => [ 'mar-tools' ], + zip_args => dest_dir _ '/' _ c('filename') _ '/' _ c('var/martools_filename'), + }) %] +[% END -%]
[% IF c("var/build_infos_json") -%] cat > "[% dest_dir _ '/' _ c('filename') _ '/build-infos.json' %]" << EOF_BUILDINFOS
===================================== projects/firefox/config ===================================== @@ -15,7 +15,7 @@ var: firefox_version: '[% c("var/firefox_platform_version") %]esr' browser_branch: '12.5-1' browser_build: 1 - branding_directory: 'browser/branding/tb-alpha' + branding_directory_prefix: 'tb' copyright_year: '[% exec("git show -s --format=%ci").remove("-.*") %]' nightly_updates_osname: '[% c("var/osname") %]' deps: @@ -65,15 +65,15 @@ targets: # basebrowser tag always has a -build1 suffix git_hash: '[% c("var/project-name") %]-[% c("var/firefox_version") %]-[% c("var/browser_branch") %]-build1'
- release: - var: - branding_directory: 'browser/branding/tb-release' - nightly: git_hash: '[% c("var/project-name") %]-[% c("var/firefox_version") %]-[% c("var/browser_branch") %]' tag_gpg_id: 0 + + privacybrowser: + git_url: git@gitlab.torproject.org:tpo/applications/privacy-browser.git var: - branding_directory: 'browser/branding/tb-nightly' + branding_directory_prefix: 'pb' + browser_branch: '12.0-1'
linux-x86_64: var: @@ -92,6 +92,7 @@ targets: - libasound2-dev # To support Wayland mode - libdrm-dev + libdir: lib64
linux-i686: var: @@ -111,6 +112,7 @@ targets: - libasound2-dev:i386 # To support Wayland mode - libdrm-dev:i386 + libdir: lib32
macos: var: @@ -175,8 +177,6 @@ input_files: - torbrowser-windows-x86_64 - filename: abicheck.cc enable: '[% c("var/linux") %]' - - filename: start-firefox - enable: '[% c("var/linux") %]' - project: translation name: translation-base-browser pkg_type: base-browser
===================================== projects/firefox/start-firefox ===================================== @@ -15,9 +15,11 @@ add_LD_LIBRARY_PATH() { # that instead of the bundled version. "$basedir/abicheck" >/dev/null 2>&1 if [ $? -ne 0 ]; then - add_LD_LIBRARY_PATH "$basedir/TorBrowser/Tor/libstdc++/" + add_LD_LIBRARY_PATH "$basedir/[% IF c("var/tor-browser") -%]TorBrowser/Tor/[% END -%]libstdc++/" fi +[% IF c("var/tor-browser") -%] add_LD_LIBRARY_PATH "$basedir/TorBrowser/Tor/" +[% END -%] export LD_LIBRARY_PATH
-exec "$basedir/firefox.real" "$@" +exec "$basedir/[% c("var/exe_name") %].real" "$@"
===================================== projects/release/config ===================================== @@ -53,10 +53,10 @@ targets: asan-build: '-asan' browser-linux-i686: var: - browser-linux-i686: 1 + browser-linux-i686: '[% c("var/browser_type") != "privacybrowser" %]' browser-windows-i686: var: - browser-windows-i686: 1 + browser-windows-i686: '[% c("var/browser_type") != "privacybrowser" %]' browser-windows-x86_64: var: browser-windows-x86_64: 1 @@ -93,6 +93,9 @@ targets: basebrowser: var: browser_type: basebrowser + privacybrowser: + var: + browser_type: privacybrowser
release: var:
===================================== rbm.conf ===================================== @@ -75,6 +75,7 @@ var: torbrowser_build: 'build1' torbrowser_incremental_from: - 12.5a1 + updater_enabled: 1 build_mar: 1 # By default, we sort the list of installed packages. This allows sharing # containers with identical list of packages, even if they are not listed @@ -94,6 +95,7 @@ var: [% SET step = c("step") -%] [% c(step, { filename => 'f', output_dir => '/out', norec => {} }) %]
+ exe_name: firefox locale_ja: ja locales: - ar @@ -234,6 +236,17 @@ targets: projectname: basebrowser Project_Name: 'Base Browser' ProjectName: BaseBrowser + updater_enabled: 0 + + privacybrowser: + var: + privacy-browser: 1 + project-name: privacy-browser + projectname: privacybrowser + Project_Name: 'Privacy Browser' + ProjectName: PrivacyBrowser + exe_name: privacybrowser + updater_enabled: 0
torbrowser-testbuild: - testbuild @@ -243,6 +256,10 @@ targets: - testbuild - alpha - basebrowser + privacybrowser-testbuild: + - testbuild + - alpha + - privacybrowser testbuild: var: testbuild: 1 @@ -368,6 +385,10 @@ targets: - linux-x86_64 - linux - basebrowser + privacybrowser-linux-x86_64: + - linux-x86_64 + - linux + - privacybrowser torbrowser-linux-x86_64-asan: - linux-asan - linux-x86_64 @@ -378,6 +399,11 @@ targets: - linux-x86_64 - linux - basebrowser + privacybrowser-linux-x86_64-asan: + - linux-asan + - linux-x86_64 + - linux + - privacybrowser torbrowser-linux-i686: - linux-i686 - linux @@ -474,6 +500,10 @@ targets: - windows-x86_64 - windows - basebrowser + privacybrowser-windows-x86_64: + - windows-x86_64 + - windows + - privacybrowser windows-x86_64: arch: x86_64 var: @@ -537,6 +567,19 @@ targets: - macos-aarch64 - macos - basebrowser + privacybrowser-macos: + - macos-universal + - macos-x86_64 + - macos + - privacybrowser + privacybrowser-macos-x86_64: + - macos-x86_64 + - macos + - privacybrowser + privacybrowser-macos-aarch64: + - macos-aarch64 + - macos + - privacybrowser macos-universal: var: macos_universal: 1
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/4...