mirror of
https://github.com/Such-Software/adaptive-multi-protocol-browser.git
synced 2026-10-17 06:21:26 +02:00
Verify desktop Gecko source build
This commit is contained in:
+20
-6
@@ -52,15 +52,29 @@ Run the first desktop configure probe:
|
||||
AMPB_DESKTOP_BUILD_PROBE_MODE=configure sh tools/browser-desktop-build-probe.sh
|
||||
```
|
||||
|
||||
Run the first desktop source build:
|
||||
|
||||
```sh
|
||||
AMPB_DESKTOP_BUILD_PROBE_MODE=build sh tools/browser-desktop-build-probe.sh
|
||||
```
|
||||
|
||||
The default `source` flavor is the verified desktop path. Use
|
||||
`AMPB_DESKTOP_BUILD_FLAVOR=artifact` only as a faster optional probe; it depends on
|
||||
Mozilla artifact availability for the selected checkout.
|
||||
|
||||
The probe writes:
|
||||
|
||||
- `/tmp/ampb-browser-build/mozconfigs/desktop-debug.mozconfig`
|
||||
- `/tmp/ampb-browser-build/obj/gecko-desktop-debug`
|
||||
- `/tmp/ampb-browser-build/logs/gecko-desktop-mach-help.log`
|
||||
- `/tmp/ampb-browser-build/logs/gecko-desktop-mach-configure.log`
|
||||
- `/tmp/ampb-browser-build/mozconfigs/desktop-source.mozconfig`
|
||||
- `/tmp/ampb-browser-build/obj/gecko-desktop-source`
|
||||
- `/tmp/ampb-browser-build/logs/gecko-desktop-source-mach-help.log`
|
||||
- `/tmp/ampb-browser-build/logs/gecko-desktop-source-mach-configure.log`
|
||||
- `/tmp/ampb-browser-build/logs/gecko-desktop-source-mach-build.log`
|
||||
|
||||
Configure mode may install Mozilla build Python helpers such as `zstandard` into mach
|
||||
virtualenvs under `/tmp/ampb-browser-build/cache/mozbuild`.
|
||||
A successful source build produces a bundled app at
|
||||
`/tmp/ampb-browser-build/obj/gecko-desktop-source/dist/Nightly.app`.
|
||||
|
||||
Configure and build modes may install Mozilla build Python helpers such as `zstandard`
|
||||
into mach virtualenvs under `/tmp/ampb-browser-build/cache/mozbuild`.
|
||||
|
||||
## Source Plan
|
||||
|
||||
|
||||
@@ -14,12 +14,16 @@ Use the external build workspace:
|
||||
```sh
|
||||
sh tools/browser-build-workspace.sh
|
||||
sh tools/browser-source-sync.sh
|
||||
AMPB_DESKTOP_BUILD_PROBE_MODE=configure sh tools/browser-desktop-build-probe.sh
|
||||
AMPB_DESKTOP_BUILD_PROBE_MODE=build sh tools/browser-desktop-build-probe.sh
|
||||
```
|
||||
|
||||
The desktop probe keeps Gecko source, object files, downloaded toolchains, Python
|
||||
virtualenvs, pip cache, and logs under `/tmp/ampb-browser-build`.
|
||||
|
||||
The default build flavor is the verified source build. Use
|
||||
`AMPB_DESKTOP_BUILD_FLAVOR=artifact` only as a faster optional probe when upstream
|
||||
artifacts are available for the selected checkout.
|
||||
|
||||
## Transport Path
|
||||
|
||||
The first transport target is Tor through an AMPB-owned Arti/Tor runtime. The desktop
|
||||
|
||||
@@ -4,9 +4,10 @@ set -eu
|
||||
root="${AMPB_BROWSER_BUILD_ROOT:-/tmp/ampb-browser-build}"
|
||||
gecko_dir="$root/src/gecko-dev"
|
||||
mode="${AMPB_DESKTOP_BUILD_PROBE_MODE:-help}"
|
||||
log="$root/logs/gecko-desktop-mach-${mode}.log"
|
||||
mozconfig="$root/mozconfigs/desktop-debug.mozconfig"
|
||||
objdir="$root/obj/gecko-desktop-debug"
|
||||
flavor="${AMPB_DESKTOP_BUILD_FLAVOR:-source}"
|
||||
log="$root/logs/gecko-desktop-${flavor}-mach-${mode}.log"
|
||||
mozconfig="$root/mozconfigs/desktop-${flavor}.mozconfig"
|
||||
objdir="$root/obj/gecko-desktop-${flavor}"
|
||||
|
||||
if [ ! -d "$gecko_dir" ]; then
|
||||
printf 'missing gecko checkout: %s\n' "$gecko_dir" >&2
|
||||
@@ -26,9 +27,17 @@ mk_add_options MOZ_OBJDIR=$objdir
|
||||
ac_add_options --enable-application=browser
|
||||
ac_add_options --disable-crashreporter
|
||||
ac_add_options --disable-debug
|
||||
ac_add_options --enable-optimize
|
||||
EOF
|
||||
|
||||
if [ "$flavor" = "artifact" ]; then
|
||||
printf '%s\n' 'ac_add_options --enable-artifact-builds' >>"$mozconfig"
|
||||
elif [ "$flavor" != "source" ]; then
|
||||
printf 'unsupported AMPB_DESKTOP_BUILD_FLAVOR: %s\n' "$flavor" >&2
|
||||
exit 2
|
||||
else
|
||||
printf '%s\n' 'ac_add_options --enable-optimize' >>"$mozconfig"
|
||||
fi
|
||||
|
||||
cd "$gecko_dir"
|
||||
|
||||
mach_env() {
|
||||
@@ -59,10 +68,15 @@ case "$mode" in
|
||||
ensure_zstandard
|
||||
mach_env ./mach configure >"$log" 2>&1
|
||||
;;
|
||||
build)
|
||||
mach_env ./mach build --help >/dev/null 2>&1
|
||||
ensure_zstandard
|
||||
mach_env ./mach build >"$log" 2>&1
|
||||
;;
|
||||
*)
|
||||
printf 'unsupported AMPB_DESKTOP_BUILD_PROBE_MODE: %s\n' "$mode" >&2
|
||||
exit 2
|
||||
;;
|
||||
esac
|
||||
|
||||
printf 'AMPB_DESKTOP_BUILD_PROBE status=ok mode=%s mozconfig=%s objdir=%s log=%s\n' "$mode" "$mozconfig" "$objdir" "$log"
|
||||
printf 'AMPB_DESKTOP_BUILD_PROBE status=ok mode=%s flavor=%s mozconfig=%s objdir=%s log=%s\n' "$mode" "$flavor" "$mozconfig" "$objdir" "$log"
|
||||
|
||||
@@ -16,5 +16,5 @@ printf 'AMPB_TOR_BROWSER_BUILD_REPO=%s\n' "$tor_build_repo"
|
||||
printf 'AMPB_TOR_BROWSER_BUILD_DIR=%s\n' "$root/src/tor-browser-build"
|
||||
printf 'AMPB_GRADLE_USER_HOME=%s\n' "$root/cache/gradle"
|
||||
printf 'AMPB_MOZBUILD_STATE_PATH=%s\n' "$root/cache/mozbuild"
|
||||
printf 'AMPB_DESKTOP_BUILD_LOG=%s\n' "$root/logs/gecko-desktop-mach-help.log"
|
||||
printf 'AMPB_DESKTOP_BUILD_LOG=%s\n' "$root/logs/gecko-desktop-source-mach-build.log"
|
||||
printf 'AMPB_ANDROID_BUILD_LOG=%s\n' "$root/logs/gecko-android-mach-probe.log"
|
||||
|
||||
Reference in New Issue
Block a user