Open Bug 1875454 Opened 2 years ago Updated 4 months ago

mach bootstrap --no-system-changes --application-choice "GeckoView/Firefox for Android" should install SDK/NDK

Categories

(Firefox Build System :: Bootstrap Configuration, defect, P3)

All
Android
defect

Tracking

(Not tracked)

People

(Reporter: gerard-majax, Unassigned)

References

Details

Regularly I run into builds that fails like this:

 0:37.57 ERROR: You must install the Android build-tools version 34.0.0.  Try |mach bootstrap|.  (Looked for /home/alexandre/.mozbuild/android-sdk-linux/build-tools/34.0.0)
*** Fix above errors and then restart with "./mach build"

Running ./mach bootstrap --no-system-changes --application-choice "GeckoView/Firefox for Android" does not help because it does not try to update the Android build deps we have in $HOME/.mozbuild/, and I end up having to ./mach bootstrap --application-choice "GeckoView/Firefox for Android".

This is more than inconvenient:

  • I'm loosing time launching builds and doing something else while awating the build that did fail
  • I have to run boostrap that might break my underlying debian system
Component: Core → Bootstrap Configuration
Product: GeckoView → Firefox Build System

There are three different things in your bug, I'll refocus it on the second one.

  • the bug summary (which I'm changing so for reference, it was "GeckoView build should update its build dependency automatically with --enable-bootstrap") is covered by bug 1686880.
  • "./mach bootstrap --no-system-changes --application-choice "GeckoView/Firefox for Android" does not help because it does not try to update the Android build deps we have in $HOME/.mozbuild/" is definitely not intended, as installing the SDK/NDK doesn't require system changes.
  • "I have to run boostrap that might break my underlying debian system" There are very few things mach bootstrap does nowadays as root, and it installs a tiny number of packages that you should already have. https://searchfox.org/mozilla-central/rev/9c65def36af441133c75a44b126e65184b039b2f/python/mozboot/mozboot/linux_common.py#73
Summary: GeckoView build should update its build dependency automatically with `--enable-bootstrap` → mach bootstrap --no-system-changes --application-choice "GeckoView/Firefox for Android" should install SDK/NDK

ok, there's that too https://searchfox.org/mozilla-central/rev/9c65def36af441133c75a44b126e65184b039b2f/python/mozboot/mozboot/debian.py#61 which we should probably remove now... but it asks first and won't do it if you don't ask for it.

The severity field is not set for this bug.
:ahochheiden, could you have a look please?

For more information, please visit BugBot documentation.

Flags: needinfo?(ahochheiden)
Severity: -- → S3
Flags: needinfo?(ahochheiden)
Priority: -- → P3

I ran into that issue again last friday :(

(In reply to Mike Hommey [:glandium] from comment #1)

[...]

Indeed, but I've hit the problem here, not directly related to those packages, just that it prompted (forced me to run) some update / upgrade cycles at a moment debian sid was a bit broken. If it would have been absolutely necessary I would just have blamed myself on the use of Sid here, but since there is, to my knowledge, no fundamental reason to depend on system changes flow to perform NDK/SDK install, I was a bit annoyed.

diff --git a/python/mozboot/mozboot/linux_common.py b/python/mozboot/mozboot/linux_common.py
index 4341c69c465bf..021d76e0e4453 100644
--- a/python/mozboot/mozboot/linux_common.py
+++ b/python/mozboot/mozboot/linux_common.py
@@ -54,6 +54,8 @@ class MobileAndroidBootstrapper(object):
         self.install_toolchain_artifact(android.LINUX_X86_64_ANDROID_AVD)
         self.install_toolchain_artifact(android.LINUX_ARM_ANDROID_AVD)

+        self.install_mobile_android_packages(mozconfig_builder=None, artifact_mode=False)
+
     def generate_mobile_android_mozconfig(self, artifact_mode=False):
         from mozboot import android

helps me, not sure how bad it is (forcing artifact mode is of course)

NDK has been taken care of in bug 1686880

Summary: mach bootstrap --no-system-changes --application-choice "GeckoView/Firefox for Android" should install SDK/NDK → mach bootstrap --no-system-changes --application-choice "GeckoView/Firefox for Android" should install SDK
Summary: mach bootstrap --no-system-changes --application-choice "GeckoView/Firefox for Android" should install SDK → mach bootstrap --no-system-changes --application-choice "GeckoView/Firefox for Android" should install SDK/NDK
See Also: → 1686880
You need to log in before you can comment on or make changes to this bug.