[tbb-commits] [Git][tpo/applications/tor-browser-build][main] 5 commits: Bug 40745: Allow customizing MOZ_APP_BASENAME
Pier Angelo Vendrame (@pierov)
git at gitlab.torproject.org
Thu Jan 26 16:43:33 UTC 2023
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 at 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/40439#note_2838724
- 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.xpi
name: noscript
sha256sum: 14af6a3cbc269c045f2d950e1e4f7c29981b35a7abc61d2413f5bb8bd7311857
+ - URL: https://addons.mozilla.org/firefox/downloads/file/4047353/ublock_origin-1.46.0.xpi
+ 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 at 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/49221734ee4ab041fc6f59e0f49417b02002b395...ba13fa7f4379a8a3c03d161544ff05eceeba40b8
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/49221734ee4ab041fc6f59e0f49417b02002b395...ba13fa7f4379a8a3c03d161544ff05eceeba40b8
You're receiving this email because of your account on gitlab.torproject.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.torproject.org/pipermail/tbb-commits/attachments/20230126/cef29239/attachment-0001.htm>
More information about the tbb-commits
mailing list