Pier Angelo Vendrame pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
efdc0f34 by Pier Angelo Vendrame at 2025-03-26T12:21:51+01:00
Bug 41407: Use Lyrebird for the Snowflake transport.
- - - - -
912bbd1d by Pier Angelo Vendrame at 2025-03-26T12:21:52+01:00
Bug 41410: Use the Lyrebird name on Android.
We were still using the libObfs4proxy.so name for compatibility with
the legacy Tor integration.
However, this was deleted some time ago, so we can switch to the
Lyrebird name.
- - - - -
8 changed files:
- − projects/browser/Bundle-Data/Docs-TBB/Licenses/PluggableTransports/LICENSE.SNOWFLAKE
- projects/browser/build
- − projects/snowflake/README.md
- − projects/snowflake/build
- − projects/snowflake/config
- projects/tor-expert-bundle/build
- projects/tor-expert-bundle/config
- projects/tor-expert-bundle/pt_config.json
Changes:
=====================================
projects/browser/Bundle-Data/Docs-TBB/Licenses/PluggableTransports/LICENSE.SNOWFLAKE deleted
=====================================
@@ -1,32 +0,0 @@
- This file contains the license for "Snowflake"
- a free software project which provides a WebRTC pluggable transport.
-
-================================================================================
-Copyright (c) 2016, Serene Han, Arlo Breault
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
-list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright notice,
-this list of conditions and the following disclaimer in the documentation and/or
-other materials provided with the distribution.
-
- * Neither the names of the copyright owners nor the names of its
-contributors may be used to endorse or promote products derived from this
-software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-================================================================================
=====================================
projects/browser/build
=====================================
@@ -108,9 +108,7 @@ mv [% c('input_files_by_name/noscript') %] "$TBDIR/$EXTSPATH/{73a6fe31-595d-460b
[% END -%]
# Move READMEs from tor-expert-bundle to the doc dir
- mkdir -p "$TBDIR/$DOCSPATH/snowflake" [% IF c("var/macos_universal") %]"$TBDIR_AARCH64/$DOCSPATH/snowflake"[% END %]
mkdir -p "$TBDIR/$DOCSPATH/conjure" [% IF c("var/macos_universal") %]"$TBDIR_AARCH64/$DOCSPATH/conjure"[% END %]
- mv_tbdir tor/pluggable_transports/README.SNOWFLAKE.md "$DOCSPATH/snowflake/README.md"
mv_tbdir tor/pluggable_transports/README.CONJURE.md "$DOCSPATH/conjure/README.md"
# Move the PTs to where TB expects them
=====================================
projects/snowflake/README.md deleted
=====================================
@@ -1,7 +0,0 @@
-This is the Snowflake pluggable transport.
-
-# Vendored dependencies
-
-Snowflake is written in Go, and we version the expected hash of the vendored
-dependencies. Please refer to `doc/how-to-update-go-dependencies.txt` for
-further information on how we manage dependencies of Go projects.
=====================================
projects/snowflake/build deleted
=====================================
@@ -1,31 +0,0 @@
-#!/bin/bash
-[% c("var/set_default_env") -%]
-[% pc('go', 'var/setup', { go_tarfile => c('input_files_by_name/go') }) %]
-distdir=/var/tmp/dist/[% project %]
-mkdir -p $distdir
-
-[% IF c("var/android") -%]
- [% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')) }) %]
- # We need to explicitly set CGO_ENABLED with Go 1.13.x as the Android build
- # breaks otherwise.
- export CGO_ENABLED=1
-[% END -%]
-
-mkdir -p /var/tmp/build
-tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.[% c('compress_tar') %]
-cd /var/tmp/build/[% project %]-[% c('version') %]
-
-tar -xf $rootdir/[% c('input_files_by_name/go_vendor') %]
-
-cd client
-go build -ldflags '-s[% IF c("var/android") %] -checklinkname=0[% END %]' -tags 'nopshufb,noasm,packetioSizeHardlimit,purego,safe,appengine,disableunsafe'
-cp -a client[% IF c("var/windows") %].exe[% END %] $distdir/snowflake-client[% IF c("var/windows") %].exe[% END %]
-
-cd ..
-cp -a README.md $distdir/README.SNOWFLAKE.md
-
-cd $distdir
-[% c('tar', {
- tar_src => [ '.' ],
- tar_args => '-caf ' _ dest_dir _ '/' _ c('filename'),
- }) %]
=====================================
projects/snowflake/config deleted
=====================================
@@ -1,38 +0,0 @@
-# vim: filetype=yaml sw=2
-version: '2.11.0'
-git_url: https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snow…
-git_hash: 'v[% c("version") %]'
-gpg_keyring: anti-censorship.gpg
-tag_gpg_id: 1
-
-container:
- use_container: 1
-
-var:
- go_vendor_sha256sum: 4c21a75c2fd0997a13fc5bb99991ff2c7149fb2342b857b06c70a18c4cb2ac89
-
-targets:
- nightly:
- git_hash: main
- version: '[% c("abbrev") %]'
- tag_gpg_id: 0
- var:
- go_vendor_sha256sum: ''
-
-steps:
- build:
- filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.[% c("compress_tar") %]'
- input_files:
- - project: container-image
- - name: go
- project: go
- - name: '[% c("var/compiler") %]'
- project: '[% c("var/compiler") %]'
- enable: '[% c("var/android") %]'
- - name: go_vendor
- pkg_type: go_vendor
- project: snowflake
- norec:
- sha256sum: '[% c("var/go_vendor_sha256sum") %]'
- target_replace:
- '^torbrowser-(?!testbuild).*': 'torbrowser-linux-x86_64'
=====================================
projects/tor-expert-bundle/build
=====================================
@@ -14,7 +14,6 @@ cd tor
mkdir pluggable_transports && cd pluggable_transports
tar -xkf $rootdir/[% c('input_files_by_name/lyrebird') %]
-tar -xkf $rootdir/[% c('input_files_by_name/snowflake') %]
[% IF c('input_files_by_name/conjure') -%]
tar -xkf $rootdir/[% c('input_files_by_name/conjure') %]
[% END -%]
@@ -35,8 +34,7 @@ cd $distdir
mkdir -p aar/assets/common
cp -a tor/libTor.so aar/jni/$abi/
- cp -a tor/pluggable_transports/lyrebird aar/jni/$abi/libObfs4proxy.so
- cp -a tor/pluggable_transports/snowflake-client aar/jni/$abi/libSnowflake.so
+ cp -a tor/pluggable_transports/lyrebird aar/jni/$abi/libLyrebird.so
[% IF c('input_files_by_name/conjure') -%]
cp -a tor/pluggable_transports/conjure-client aar/jni/$abi/libConjure.so
[% END -%]
=====================================
projects/tor-expert-bundle/config
=====================================
@@ -16,8 +16,6 @@ input_files:
project: tor
- name: lyrebird
project: lyrebird
- - name: snowflake
- project: snowflake
- name: conjure
project: conjure
enable: '[% !c("var/android-x86") && !c("var/android-x86_64") %]'
=====================================
projects/tor-expert-bundle/pt_config.json
=====================================
@@ -1,8 +1,7 @@
{
"recommendedDefault" : "obfs4",
"pluggableTransports" : {
- "lyrebird" : "ClientTransportPlugin meek_lite,obfs2,obfs3,obfs4,scramblesuit,webtunnel exec ${pt_path}lyrebird${pt_extension}",
- "snowflake" : "ClientTransportPlugin snowflake exec ${pt_path}snowflake-client${pt_extension}",
+ "lyrebird" : "ClientTransportPlugin meek_lite,obfs2,obfs3,obfs4,scramblesuit,snowflake,webtunnel exec ${pt_path}lyrebird${pt_extension}",
"conjure" : "ClientTransportPlugin conjure exec ${pt_path}conjure-client${pt_extension} -registerURL https://registration.refraction.network/api"
},
"bridges" : {
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/…
You're receiving this email because of your account on gitlab.torproject.org.
boklm pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
c60ebc0d by Nicolas Vigier at 2025-03-26T11:15:29+01:00
Bug 41406: Remove the browser-all-target target (unused)
- - - - -
7b70ee42 by Nicolas Vigier at 2025-03-26T12:04:33+01:00
Bug 41406: Restore -desktop and -android Makefile targets
- - - - -
a74ebd9f by Nicolas Vigier at 2025-03-26T12:04:34+01:00
Bug 41406: Update README and doc/MAKEFILE.txt for makefile changes
- - - - -
4 changed files:
- Makefile
- README
- doc/MAKEFILE.txt
- projects/release/config
Changes:
=====================================
Makefile
=====================================
@@ -17,6 +17,12 @@ torbrowser: submodule-update
torbrowser-release: submodule-update
$(rbm) build release --target release --target browser-all --target torbrowser
+torbrowser-release-desktop: submodule-update
+ $(rbm) build release --target release --target browser-all-desktop --target torbrowser
+
+torbrowser-release-android: submodule-update
+ $(rbm) build release --target release --target browser-all-android --target torbrowser
+
torbrowser-release-android-armv7: submodule-update
$(rbm) build release --target release --target browser-single-platform --target browser-android-armv7 --target torbrowser
@@ -56,6 +62,12 @@ torbrowser-release-src: submodule-update
torbrowser-alpha: submodule-update
$(rbm) build release --target alpha --target browser-all --target torbrowser
+torbrowser-alpha-desktop: submodule-update
+ $(rbm) build release --target alpha --target browser-all-desktop --target torbrowser
+
+torbrowser-alpha-android: submodule-update
+ $(rbm) build release --target alpha --target browser-all-android --target torbrowser
+
torbrowser-alpha-android-armv7: submodule-update
$(rbm) build release --target alpha --target browser-single-platform --target browser-android-armv7 --target torbrowser
@@ -95,6 +107,12 @@ torbrowser-alpha-src: submodule-update
torbrowser-nightly: submodule-update
$(rbm) build release --target nightly --target browser-all --target torbrowser
+torbrowser-nightly-desktop: submodule-update
+ $(rbm) build release --target nightly --target browser-all-desktop --target torbrowser
+
+torbrowser-nightly-android: submodule-update
+ $(rbm) build release --target nightly --target browser-all-android --target torbrowser
+
torbrowser-nightly-android-armv7: submodule-update
$(rbm) build release --target nightly --target browser-single-platform --target browser-android-armv7 --target torbrowser
@@ -134,6 +152,12 @@ torbrowser-nightly-src: submodule-update
torbrowser-testbuild: submodule-update
$(rbm) build release --target testbuild --target browser-all --target torbrowser
+torbrowser-testbuild-desktop: submodule-update
+ $(rbm) build release --target testbuild --target browser-all-desktop --target torbrowser
+
+torbrowser-testbuild-android: submodule-update
+ $(rbm) build release --target testbuild --target browser-all-android --target torbrowser
+
torbrowser-testbuild-android-armv7: submodule-update
$(rbm) build release --target testbuild --target browser-single-platform --target browser-android-armv7 --target torbrowser
=====================================
README
=====================================
@@ -101,8 +101,14 @@ the subuid(5) and subgid(5) man pages.
Starting a build
----------------
-To start a build, run one of the following commands, depending on the
-channel you want to build:
+To start a build, run the following command, to build the default
+channel (which should be `alpha` on the main branch, and `release` on
+the maint-* branches, as defined in var/browser_default_channel):
+
+ $ make torbrowser
+
+If you want to build an other channel, you can also use one of the
+following commands:
$ make torbrowser-release
$ make torbrowser-alpha
@@ -134,9 +140,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 and Privacy Browser
+Similar makefile targets exist for building Base Browser and Mullvad Browser
instead of Tor Browser. To build Base Browser, replace `torbrowser` by
-`basebrowser` in the target name. For Privacy Browser, use `privacybrowser`.
+`basebrowser` in the target name. For Mullvad Browser, use `mullvadbrowser`.
Updating git sources
=====================================
doc/MAKEFILE.txt
=====================================
@@ -1,11 +1,18 @@
Description of makefile rules
=============================
+torbrowser
+----------
+Build Tor Browser for the default channel, defined in
+var/browser_default_channel, and platforms, defined in
+var/browser_platforms. After the build, this target also generates the
+incrementals.
torbrowser-release
------------------
-Build Tor Browser for the release channel, for all supported platforms.
-The resulting build can be found in directory torbrowser/release/$version.
+Build Tor Browser for the release channel, for all supported platforms
+(defined in var/browser_platforms). The resulting build can be found in
+directory torbrowser/release/$version.
torbrowser-release-{linux-x86_64,linux-i686,windows-i686,macos,
android-armv7, android-x86,android-x86_64,
@@ -78,7 +85,7 @@ Base Browser.
mullvadbrowser-*
----------------
The same rules for building Tor Browser also exist for building
-Privacy Browser.
+Mullvad Browser.
fetch
-----
=====================================
projects/release/config
=====================================
@@ -14,7 +14,18 @@ var:
targets:
browser-all:
- browser-src
- - browser-all-target
+ browser-all-desktop:
+ var:
+ browser-src: '[% ! c("var/testbuild") %]'
+ browser_platforms:
+ is_android_release: 0
+ is_desktop_release: 1
+ browser-all-android:
+ var:
+ browser-src: '[% ! c("var/testbuild") %]'
+ browser_platforms:
+ is_android_release: 1
+ is_desktop_release: 0
browser-single-platform:
var:
browser_platforms:
@@ -79,9 +90,6 @@ targets:
browser-src-testbuild:
var:
browser-src: 1
- browser-all-target:
- var:
- browser-all-target: 1
notarget:
- torbrowser
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/…
You're receiving this email because of your account on gitlab.torproject.org.
Pier Angelo Vendrame pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
6257416f by Pier Angelo Vendrame at 2025-03-25T18:07:01+01:00
Bug 41400: Add our localization to GeckoView.
We need our branding files as not having them prevents us from
debugging our official builds from about:debugging.
Rather than duplicating the code for l10n (even more), in this commit
we move the string files setup from firefox to a shared script.
- - - - -
10 changed files:
- + projects/common/browser-localization
- projects/firefox/rename-branding-strings.py → projects/common/rename-branding-strings.py
- projects/firefox/build
- projects/firefox/config
- projects/geckoview/build
- projects/geckoview/build_ac_fenix
- projects/geckoview/build_apk
- projects/geckoview/build_common
- projects/geckoview/config
- rbm.conf
Changes:
=====================================
projects/common/browser-localization
=====================================
@@ -0,0 +1,106 @@
+branding_dir=[% IF c('var/android') %]mobile/android[% ELSE %]browser[% END %]/branding/[% c("var/project_initials") %]-[% c("var/channel") %]
+
+[% IF c("var/has_l10n") -%]
+ [% IF !c("var/android") -%]
+ supported_locales="[% tmpl(c('var/locales').join(' ')) %]"
+ [% ELSE -%]
+ supported_locales="[% tmpl(c('var/locales_mobile').join(' ')).replace('-r', '-').replace('in', 'id').replace('iw', 'he') %]"
+ [% END %]
+
+ l10ncentral="$HOME/.mozbuild/l10n-central"
+ mkdir "$l10ncentral"
+ [% IF c('input_files_by_name/firefox-l10n') -%]
+ for tarball in $rootdir/[% c('input_files_by_name/firefox-l10n') %]/*; do
+ tar -C "$l10ncentral" -xf "$tarball"
+ done
+ [% END -%]
+
+ [% IF c('input_files_by_name/translation-base-browser') -%]
+ tar -C "$rootdir" -xf "$rootdir/[% c('input_files_by_name/translation-base-browser') %]"
+ pushd "$rootdir/translation-base-browser"
+ ln -s ja ja-JP-mac
+ for lang in $supported_locales; do
+ mv $lang/base-browser.ftl "$l10ncentral/$lang/toolkit/toolkit/global/"
+ done
+ popd
+ [% END -%]
+
+ [% IF c('input_files_by_name/translation-tor-browser') -%]
+ tar -C "$rootdir" -xf "$rootdir/[% c('input_files_by_name/translation-tor-browser') %]"
+
+ [%#
+ # For the purpose of Weblate, all releases share a single brand.ftl and
+ # brand.properties file per locale in the translations repository.
+ # See tor-browser-build#41372.
+ # In brand.ftl, both `-brand-short-name` and `-brand-full-name` should
+ # differ between releases. As such, they have additional entries in the
+ # translations repository file (Weblate):
+ # -brand-short-name for the stable release.
+ # -brand-short-name_alpha for the alpha release.
+ # -brand-short-name_nightly for the nightly release.
+ # And similarly for -brand-full-name.
+ # For the final build, we only want to keep the string that matches the
+ # built release, and remove its suffix if it has one. So for the stable
+ # release we want to keep -brand-short-name. For the alpha release we want
+ # to keep -brand-short-name_alpha instead, and rename it to be
+ # -brand-short-name.
+ #
+ # As such, we parse the brand.ftl file to rename these strings to keep the
+ # version we want using rename-branding-strings.py.
+ #
+ # We do a similar thing with brandShortName and brandFullName in
+ # brand.properties.
+ -%]
+
+ # For the stable release, the suffix is empty.
+ # I.e. we want to select `-brand-short-name` directly.
+ [% IF !c("var/release"); branding_string_suffix = '_' _ c('var/channel'); END -%]
+
+ # Instructions for the script to perform the renames.
+ brand_ftl_renames='{
+ "suffix": "[% branding_string_suffix %]",
+ "ids": ["-brand-short-name", "-brand-full-name"]
+ }'
+ brand_properties_renames='{
+ "suffix": "[% branding_string_suffix %]",
+ "ids": ["brandShortName", "brandFullName"]
+ }'
+
+ pushd "$rootdir/translation-tor-browser"
+ ln -s ja ja-JP-mac
+ for lang in $supported_locales; do
+ mv $lang/tor-browser.ftl "$l10ncentral/$lang/toolkit/toolkit/global/"
+ # Branding.
+ l10n_branding_dir="$l10ncentral/$lang/$branding_dir/"
+ mkdir -p "$l10n_branding_dir"
+ # Convert the translations repository branding files into files that work
+ # for this specific build.
+ python3 $rootdir/rename-branding-strings.py $lang/branding/brand.ftl "$brand_ftl_renames" > "$l10n_branding_dir/brand.ftl"
+ python3 $rootdir/rename-branding-strings.py $lang/brand.properties "$brand_properties_renames" > "$l10n_branding_dir/brand.properties"
+ done
+ popd
+
+ [% IF !c('var/android') -%]
+ # torbutton properties files.
+ # TODO: Remove once we no longer have torbutton locale files.
+ torbutton_locales="toolkit/torbutton/chrome/locale/"
+ torbutton_jar="toolkit/torbutton/jar.mn"
+ for lang in $supported_locales; do
+ mkdir -p "$torbutton_locales/$lang"
+ mv "$rootdir/translation-tor-browser/$lang"/*.properties "$torbutton_locales/$lang/"
+ echo "% locale torbutton $lang %locale/$lang/" >> "$torbutton_jar"
+ echo " locale/$lang (chrome/locale/$lang/*)" >> "$torbutton_jar"
+ done
+ [% END -%]
+ [% ELSIF c('input_files_by_name/translation-mullvad-browser') -%]
+ tar -C "$rootdir" -xf "$rootdir/[% c('input_files_by_name/translation-mullvad-browser') %]"
+ pushd "$rootdir/translation-mullvad-browser"
+ ln -s ja ja-JP-mac
+ for lang in $supported_locales; do
+ cp -Lr $lang "$l10ncentral/"
+ done
+ popd
+ [% END -%]
+[% ELSE -%]
+ supported_locales=""
+[% END -%]
=====================================
projects/firefox/rename-branding-strings.py → projects/common/rename-branding-strings.py
=====================================
=====================================
projects/firefox/build
=====================================
@@ -114,97 +114,7 @@ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system
# Create .mozbuild to avoid interactive prompt in configure
mkdir "$HOME/.mozbuild"
-branding_dir=browser/branding/[% c("var/branding_directory_prefix") %]-[% c("var/channel") %]
-
-[% IF c("var/has_l10n") -%]
- supported_locales="[% tmpl(c('var/locales').join(' ')) %]"
-
- l10ncentral="$HOME/.mozbuild/l10n-central"
- mkdir "$l10ncentral"
- for tarball in $rootdir/[% c('input_files_by_name/firefox-l10n') %]/*; do
- tar -C "$l10ncentral" -xf "$tarball"
- done
-
- tar -C "$rootdir" -xf "$rootdir/[% c('input_files_by_name/translation-base-browser') %]"
- pushd "$rootdir/translation-base-browser"
- ln -s ja ja-JP-mac
- for lang in $supported_locales; do
- # Fluent
- mv $lang/base-browser.ftl "$l10ncentral/$lang/toolkit/toolkit/global/"
- done
- popd
-
- [% IF c("var/tor-browser") -%]
- tar -C "$rootdir" -xf "$rootdir/[% c('input_files_by_name/translation-tor-browser') %]"
-
- # For the purpose of Weblate, all releases share a single brand.ftl and
- # brand.properties file per locale in the translations repository.
- # See tor-browser-build#41372.
- # In brand.ftl, both `-brand-short-name` and `-brand-full-name` should
- # differ between releases. As such, they have additional entries in the
- # translations repository file (Weblate):
- # -brand-short-name for the stable release.
- # -brand-short-name_alpha for the alpha release.
- # -brand-short-name_nightly for the nightly release.
- # And similarly for -brand-full-name.
- # For the final build, we only want to keep the string that matches the
- # built release, and remove its suffix if it has one. So for the stable
- # release we want to keep -brand-short-name. For the alpha release we want
- # to keep -brand-short-name_alpha instead, and rename it to be
- # -brand-short-name.
- #
- # As such, we parse the brand.ftl file to rename these strings to keep the
- # version we want using rename-branding-strings.py.
- #
- # We do a similar thing with brandShortName and brandFullName in
- # brand.properties.
-
- # Instructions for the script to perform the renames.
- brand_ftl_renames='{
- "suffix": "[% c("var/branding_string_suffix") %]",
- "ids": ["-brand-short-name", "-brand-full-name"]
- }'
- brand_properties_renames='{
- "suffix": "[% c("var/branding_string_suffix") %]",
- "ids": ["brandShortName", "brandFullName"]
- }'
-
- pushd "$rootdir/translation-tor-browser"
- ln -s ja ja-JP-mac
- for lang in $supported_locales; do
- mv $lang/tor-browser.ftl "$l10ncentral/$lang/toolkit/toolkit/global/"
- # Branding.
- l10n_branding_dir="$l10ncentral/$lang/$branding_dir/"
- mkdir -p "$l10n_branding_dir"
- # Convert the translations repository branding files into files that work
- # for this specific build.
- python3 $rootdir/rename-branding-strings.py $lang/branding/brand.ftl "$brand_ftl_renames" > "$l10n_branding_dir/brand.ftl"
- python3 $rootdir/rename-branding-strings.py $lang/brand.properties "$brand_properties_renames" > "$l10n_branding_dir/brand.properties"
- done
- popd
-
- # torbutton properties files.
- # TODO: Remove once we no longer have torbutton locale files.
- torbutton_locales="toolkit/torbutton/chrome/locale/"
- torbutton_jar="toolkit/torbutton/jar.mn"
- for lang in $supported_locales; do
- mkdir -p "$torbutton_locales/$lang"
- mv "$rootdir/translation-tor-browser/$lang"/*.properties "$torbutton_locales/$lang/"
- echo "% locale torbutton $lang %locale/$lang/" >> "$torbutton_jar"
- echo " locale/$lang (chrome/locale/$lang/*)" >> "$torbutton_jar"
- done
- [% ELSIF c("var/mullvad-browser") -%]
- tar -C "$rootdir" -xf "$rootdir/[% c('input_files_by_name/translation-mullvad-browser') %]"
- pushd "$rootdir/translation-mullvad-browser"
- ln -s ja ja-JP-mac
- for lang in $supported_locales; do
- cp -Lr $lang "$l10ncentral/"
- done
- popd
- [% END -%]
-[% ELSE -%]
- supported_locales=""
-[% END -%]
+[% INCLUDE 'browser-localization' %]
# PyYAML tries to read files as ASCII, otherwise
export LC_ALL=C.UTF-8
=====================================
projects/firefox/config
=====================================
@@ -21,7 +21,6 @@ var:
browser_rebase: 1
browser_branch: '[% c("var/browser_series") %]-[% c("var/browser_rebase") %]'
browser_build: 3
- branding_directory_prefix: 'tb'
copyright_year: '[% exec("git show -s --format=%ci " _ c("git_hash") _ "^{commit}", { exec_noco => 1 }).remove("-.*") %]'
nightly_updates_publish_dir: '[% c("var/nightly_updates_publish_dir_prefix") %]nightly-[% c("var/osname") %]'
gitlab_project: https://gitlab.torproject.org/tpo/applications/tor-browser
@@ -55,10 +54,6 @@ var:
rm -Rf "$rezip_tmpdir"
l10n-changesets: '[% exec("git --no-pager show " _ c("git_hash") _ ":browser/locales/l10n-changesets.json", { exec_noco => 1 }) %]'
- # The branding_string_suffix for the alpha and nightly should be
- # '_alpha' and '_nightly', matching the "suffix" chosen in the
- # tor-browser:update-translations.yml file.
- branding_string_suffix: '_[% c("var/channel") %]'
steps:
src-tarballs:
@@ -99,12 +94,6 @@ targets:
var:
nightly_updates_publish_dir_prefix: basebrowser-
- release:
- var:
- # For the stable release, the suffix is empty.
- # I.e. we want to select `-brand-short-name` directly.
- branding_string_suffix: ''
-
nightly:
git_hash: '[% c("var/project-name") %]-[% c("var/firefox_version") %]-[% c("var/browser_branch") %]'
tag_gpg_id: 0
@@ -114,7 +103,6 @@ targets:
mullvadbrowser:
git_url: https://gitlab.torproject.org/tpo/applications/mullvad-browser.git
var:
- branding_directory_prefix: 'mb'
gitlab_project: https://gitlab.torproject.org/tpo/applications/mullvad-browser
updater_url: 'https://cdn.mullvad.net/browser/update_responses/update_1/'
nightly_updates_publish_dir_prefix: mullvadbrowser-
=====================================
projects/geckoview/build
=====================================
@@ -33,6 +33,7 @@ export MOZ_SOURCE_CHANGESET=[% c("var/git_commit") %]
ac_add_options --enable-update-channel=[% c("var/variant") %]
MOZCONFIG_EOF
+echo "ac_add_options --with-branding=$branding_dir" >> .mozconfig
echo "Starting ./mach configure $(date)"
./mach configure \
=====================================
projects/geckoview/build_ac_fenix
=====================================
@@ -1,15 +1,5 @@
[% IF c('var/has_l10n') -%]
echo "Injecting the Firefox's localization to GV $(date)"
- supported_locales="[% tmpl(c('var/locales_mobile').join(' ')).replace('-r', '-').replace('in', 'id').replace('iw', 'he') %]"
- l10ncentral="$HOME/.mozbuild/l10n-central"
- mkdir "$l10ncentral"
- for tarball in $rootdir/[% c('input_files_by_name/firefox-l10n') %]/*; do
- tar -C "$l10ncentral" -xf "$tarball"
- done
-
- # Do not setup our localization files, as we do not provide any frontend
- # through GeckoView.
-
# No quotes on purpose, to pass each locale as an additional argument.
./mach package-multi-locale --locales en-US $supported_locales
[% END -%]
=====================================
projects/geckoview/build_apk
=====================================
@@ -24,7 +24,10 @@ mk_add_options MOZ_PARALLEL_BUILD=[% c("num_procs") %]
export MOZ_INCLUDE_SOURCE_INFO=1
export MOZ_SOURCE_REPO="[% c('var/gitlab_project') %]"
export MOZ_SOURCE_CHANGESET=[% c("var/git_commit") %]
+
+ac_add_options --enable-update-channel=[% c("var/variant") %]
MOZCONFIG_EOF
+echo "ac_add_options --with-branding=$branding_dir" >> mozconfig-android-all
# We still need to specify --tor-browser-version due to bug 34005.
./mach configure \
=====================================
projects/geckoview/build_common
=====================================
@@ -47,3 +47,5 @@ cp -rl oss-licenses-plugin/. $gradle_repo
export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system
# Create .mozbuild to avoid interactive prompt in configure
mkdir "$HOME/.mozbuild"
+
+[% INCLUDE 'browser-localization' %]
=====================================
projects/geckoview/config
=====================================
@@ -106,6 +106,11 @@ steps:
project: translation
pkg_type: fenix
enable: '[% c("var/has_l10n") %]'
+ - name: translation-tor-browser
+ project: translation
+ pkg_type: tor-browser
+ enable: '[% c("var/has_l10n") %]'
+ - filename: rename-branding-strings.py
- URL: '[% pc("glean", "var/glean_wheels_url/" _ c("var/glean_parser"), { error_if_undef => 1 }) %]'
name: glean-wheels
sha256sum: '[% pc("glean", "var/glean_wheels_sha256sum/" _ c("var/glean_parser"), { error_if_undef => 1 }) %]'
@@ -164,3 +169,8 @@ input_files:
project: translation
pkg_type: fenix
enable: '[% c("var/android_single_arch") && c("var/has_l10n") %]'
+ - name: translation-tor-browser
+ project: translation
+ pkg_type: tor-browser
+ enable: '[% c("var/android_single_arch") && c("var/has_l10n") %]'
+ - filename: rename-branding-strings.py
=====================================
rbm.conf
=====================================
@@ -299,6 +299,7 @@ targets:
projectname: torbrowser
Project_Name: 'Tor Browser'
ProjectName: TorBrowser
+ project_initials: tb
basebrowser:
var:
@@ -316,6 +317,7 @@ targets:
projectname: mullvadbrowser
Project_Name: 'Mullvad Browser'
ProjectName: MullvadBrowser
+ project_initials: mb
exe_name: mullvadbrowser
mar_channel_id: '[% c("var/projectname") %]-mullvad-[% c("var/channel") %]'
locales:
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/6…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/6…
You're receiving this email because of your account on gitlab.torproject.org.