Skip to content
Snippets Groups Projects
Unverified Commit 0553b695 authored by boklm's avatar boklm
Browse files

Bug 40439: Add option for macos single-arch non-universal testbuild

`make torbrowser-testbuild-macos-x86_64`
  and
`make torbrowser-testbuild-macos-aarch64` can be used to do non-universal
testbuilds for a single arch.
parent 985480eb
No related branches found
No related tags found
No related merge requests found
......@@ -171,6 +171,12 @@ torbrowser-testbuild-windows-i686: submodule-update
torbrowser-testbuild-macos: submodule-update
$(rbm) build release --target testbuild --target browser-macos --target torbrowser
torbrowser-testbuild-macos-x86_64: submodule-update
$(rbm) build release --target testbuild --target browser-macos-x86_64 --target torbrowser
torbrowser-testbuild-macos-aarch64: submodule-update
$(rbm) build release --target testbuild --target browser-macos-aarch64 --target torbrowser
torbrowser-testbuild-src: submodule-update
$(rbm) build release --target testbuild --target browser-src-testbuild --target torbrowser
......
......@@ -49,6 +49,19 @@ By default it is based on the alpha channel, but you can change that by
editing rbm.local.conf. The resulting build can be found in directory
testbuild.
torbrowser-testbuild-{linux-x86_64,linux-i686,windows-i686,macos,
android-armv7,android-x86,android-x86_64,
android-aarch64,desktop,android}
-----------------------------------------------------------------
Same as torbrowser-testbuild, for the selected platform only.
torbrowser-testbuild-macos-{x86_64,aarch64}
-------------------------------------------
By default, macos builds are universal (targeting x86_64 and aarch64).
With this special testbuild target, you can do a build for a specific
arch only.
torbrowser-{release,alpha,nightly,testbuild}-linux-x86_64-asan
--------------------------------------------------------------
Create a build for Linux x86_64 with Address Sanitizer enabled.
......
......@@ -21,8 +21,12 @@ touch "$GENERATEDPREFSPATH"
[% IF c("var/macos") %]
TBDIR="$TB_STAGE_DIR/[% c("var/Project_Name") %].app"
TBDIR_AARCH64="$TB_STAGE_DIR/[% c("var/Project_Name") %]-aarch64.app"
TBDIRS=("$TBDIR" "$TBDIR_AARCH64")
[% IF c("var/macos_universal") %]
TBDIR_AARCH64="$TB_STAGE_DIR/[% c("var/Project_Name") %]-aarch64.app"
TBDIRS=("$TBDIR" "$TBDIR_AARCH64")
[% ELSE -%]
TBDIRS=("$TBDIR")
[% END -%]
DOCSPATH=Contents/Resources/[% c('var/ProjectName') %]/Docs
EXTSPATH=Contents/Resources/distribution/extensions
......@@ -60,7 +64,7 @@ mv [% c('input_files_by_name/noscript') %] "$TBDIR/$EXTSPATH/{73a6fe31-595d-460b
local dest="${args[-1]}"
unset args[-1]
mv ${args[@]} "$TBDIR/$dest"
[% IF c("var/macos") -%]
[% IF c("var/macos_universal") -%]
for src in ${args[@]}
do
mv "aarch64/$src" "$TBDIR_AARCH64/$dest"
......@@ -69,27 +73,27 @@ mv [% c('input_files_by_name/noscript') %] "$TBDIR/$EXTSPATH/{73a6fe31-595d-460b
}
tar -xvf [% c('input_files_by_name/tor-expert-bundle') %]
[% IF c("var/macos") -%]
[% IF c("var/macos_universal") -%]
mkdir aarch64
tar -C aarch64 -xf [% c('input_files_by_name/tor-expert-bundle-aarch64') %]
[% END -%]
# geoip(6) and anything else that belongs in the data dir from the expert bundle
mkdir -p "$TBDIR/$TORCONFIGPATH" [% IF c("var/macos") %]"$TBDIR_AARCH64/$TORCONFIGPATH"[% END %]
mkdir -p "$TBDIR/$TORCONFIGPATH" [% IF c("var/macos_universal") %]"$TBDIR_AARCH64/$TORCONFIGPATH"[% END %]
mv_tbdir data/{geoip,geoip6} "$TORCONFIGPATH"
# Bridge lists will be consumed later in `bridges_conf`
mv tor/pluggable_transports/bridges_list.*.txt $rootdir
[% IF c("var/macos") %]
[% IF c("var/macos_universal") %]
rm -f aarch64/tor/pluggable_transports/bridges_list.*.txt
[% END -%]
# Snowflake's README is the only documentation shipped in tor-expert-bundle
mkdir -p "$TBDIR/$DOCSPATH/snowflake" [% IF c("var/macos") %]"$TBDIR_AARCH64/$DOCSPATH/snowflake"[% END %]
mkdir -p "$TBDIR/$DOCSPATH/snowflake" [% IF c("var/macos_universal") %]"$TBDIR_AARCH64/$DOCSPATH/snowflake"[% END %]
mv_tbdir tor/pluggable_transports/README.SNOWFLAKE.md "$DOCSPATH/snowflake/README.md"
# Move the PTs to where TB expects them
mkdir -p "$TBDIR/$TORBINPATH" [% IF c("var/macos") %]"$TBDIR_AARCH64/$TORBINPATH"[% END %]
mkdir -p "$TBDIR/$TORBINPATH" [% IF c("var/macos_universal") %]"$TBDIR_AARCH64/$TORBINPATH"[% END %]
mv_tbdir tor/pluggable_transports "$TORBINPATH/PluggableTransports"
# Move tor and dependencies to where TB expects them
......@@ -145,7 +149,7 @@ RBM_TB_EOF
tar -C ${TB_STAGE_DIR} -xf [% c('input_files_by_name/firefox') %]/browser.tar.gz
[% IF c("var/macos") -%]
[% IF c("var/macos_universal") -%]
# Use symlink in tmp dir to extract "Tor Browser.app" to "Tor Browser-aarch64.app"
ff_aarch64=$(mktemp -d)
ln -s "$TBDIR_AARCH64" "$ff_aarch64/[% c("var/Project_Name") %].app"
......@@ -284,7 +288,7 @@ done
mv $distdir/windows-installer ${TB_STAGE_DIR}
[% END %]
[% IF c("var/macos") -%]
[% IF c("var/macos_universal") -%]
# unify.py requires lipo, so we need to add cctools in the PATH
tar -C /var/tmp/dist -xf $rootdir/[% c('input_files_by_name/macosx-toolchain') %]
export PATH="/var/tmp/dist/macosx-toolchain/cctools/bin:$PATH"
......
......@@ -28,7 +28,6 @@ targets:
mar_osname: linux64
macos:
var:
mar_osname: macos
arch_deps:
- genisoimage
- faketime
......@@ -36,6 +35,15 @@ targets:
- python3-pip
- python3-distutils-extra
- python3-psutil
macos-universal:
var:
mar_osname: macos
macos-aarch64:
var:
mar_osname: macos-aarch64
macos-x86_64:
var:
mar_osname: macos-x86_64
windows:
var:
arch_deps:
......@@ -66,7 +74,7 @@ input_files:
enable: '[% ! c("var/android") %]'
- project: firefox
name: firefox-aarch64
enable: '[% c("var/macos") %]'
enable: '[% c("var/macos_universal") %]'
target_prepend:
- macos-aarch64
- project: firefox
......@@ -81,7 +89,7 @@ input_files:
enable: '[% c("var/tor-browser") %]'
- project: tor-expert-bundle
name: tor-expert-bundle-aarch64
enable: '[% c("var/macos") && c("var/tor-browser") %]'
enable: '[% c("var/macos_universal") && c("var/tor-browser") %]'
target_prepend:
- macos-aarch64
- project: fonts
......
......@@ -25,6 +25,12 @@ mkdir -p "$destdir"
[% IF c("var/browser-macos") -%]
mv [% c('input_files_by_name/macos') %]/* "$destdir"/
[% END -%]
[% IF c("var/browser-macos-x86_64") -%]
mv [% c('input_files_by_name/macos-x86_64') %]/* "$destdir"/
[% END -%]
[% IF c("var/browser-macos-aarch64") -%]
mv [% c('input_files_by_name/macos-aarch64') %]/* "$destdir"/
[% END -%]
[% IF c("var/browser-linux-i686") -%]
mv [% c('input_files_by_name/linux-i686') %]/* "$destdir"/
[% END -%]
......
......@@ -63,6 +63,12 @@ targets:
browser-macos:
var:
browser-macos: 1
browser-macos-x86_64:
var:
browser-macos-x86_64: 1
browser-macos-aarch64:
var:
browser-macos-aarch64: 1
browser-src:
var:
browser-src: '[% ! c("var/testbuild") %]'
......@@ -192,6 +198,22 @@ input_files:
- '[% c("var/build_target") %]'
- '[% c("var/browser_type") %]-macos'
# non-universal macos build
- name: macos-x86_64
project: browser
enable: '[% c("var/browser-macos-x86_64") %]'
target:
- '[% c("var/build_target") %]'
- '[% c("var/browser_type") %]-macos-x86_64'
# non-universal macos build
- name: macos-aarch64
project: browser
enable: '[% c("var/browser-macos-aarch64") %]'
target:
- '[% c("var/build_target") %]'
- '[% c("var/browser_type") %]-macos-aarch64'
- name: src-firefox
project: firefox
enable: '[% c("var/browser-src") %]'
......
......@@ -500,13 +500,26 @@ targets:
- unzip
torbrowser-macos:
- macos-universal
- macos-x86_64
- macos
- torbrowser
torbrowser-macos-x86_64:
- macos-x86_64
- macos
- torbrowser
torbrowser-macos-aarch64:
- macos-aarch64
- macos
- torbrowser
basebrowser-macos:
- macos-universal
- macos-x86_64
- macos
- basebrowser
macos-universal:
var:
macos_universal: 1
macos-aarch64:
arch: aarch64
var:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment