Commit Graph

390 Commits

Author SHA1 Message Date
Tooru Fujisawa
b4ec772dc0 Bug 1525688 - Lazily import mozbuild.base in mozboot/util.py. r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D18986

--HG--
extra : moz-landing-system : lando
2019-02-07 16:10:12 +00:00
Nabil Lamrabet
68cbcb9990 Bug 1518175 - Update bootstrap.py for ElementaryOS. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D18701

--HG--
extra : moz-landing-system : lando
2019-02-06 17:18:04 +00:00
Cosmin Sabou
67cc836522 Merge mozilla-central to mozilla-inbound. a=merge 2019-02-06 01:11:33 +02:00
Nathan Froyd
15a7366ffd Bug 1525069 - part 3 - install 32-bit node on aarch64 devices; r=nalexander
One less paper cut for frontend developers.
2019-02-05 16:15:58 -05:00
Nathan Froyd
99be54de09 Bug 1525069 - part 2 - add a 32-bit node variable for bootstrapping; r=nalexander
We don't use this yet, but it's easy enough to get out of the way.
2019-02-05 16:15:58 -05:00
Nathan Froyd
3362171b4b Bug 1486994 - avoid automatic installs of taskcluster packages on non-x86-64 machines; r=lth
Presumably, if somebody is working on a non-x86-64 Linux box, they know
enough to install all of these packages manually.
2019-02-05 16:15:58 -05:00
Coroiu Cristina
667401357b Merge mozilla-central to autoland a=merge on a CLOSED TREE 2019-02-04 23:47:17 +02:00
Andrew Halberstadt
83e75a8676 Bug 1483228 - [mozboot] Add ability to get a srcdir specific state dir r=nalexander
Sometimes we want to store state that only applies to a particular srcdir, but
there isn't a standard directory where this lives. Let's add an argument to
'get_state_dir()' to provide an "official" place.

The new API to get the local state dir is 'get_state_dir(srcdir=True)'. Like
the global state dir, this directory is not guaranteed to exist. A reference to
this value can also be obtained via 'self._mach_context.local_state_dir' from
within a mach command (in this case it will be created automatically if it
doesn't exist).

Note: we should probably just make sure both exist at mach startup, but it felt
outside the scope of this change.

Differential Revision: https://phabricator.services.mozilla.com/D15724

--HG--
extra : moz-landing-system : lando
2019-02-04 21:07:25 +00:00
Andrew Halberstadt
8bc7850637 Bug 1483228 - [mozboot] Simplify get_state_dir()'s return value r=nalexander
mozboot.util.get_state_dir() returns a tuple of (<path>, <bool). The bool
denotes whether or not the state dir came from an environment variable.

But this value is only used in a single place, and is very easy to test for
anyway. It's not worth the added complexity it imposes on all other consumers
of this function. Let's just make this function return the path.

Differential Revision: https://phabricator.services.mozilla.com/D15723

--HG--
extra : moz-landing-system : lando
2019-02-04 20:52:31 +00:00
Nathan Froyd
553faffae5 Bug 1525041 - avoid downloading rust packages when bootstrapping for artifact builds; r=Gijs
We do similar things for bindgen/clang.
2019-02-04 12:47:33 -05:00
Mike Hommey
6c620a55e7 Bug 1523341 - Allow to only pass the CPU to --target and get the right thing for Fennec builds. r=nalexander
Also use armv7a as the default when no target is given at all.

Also change bootstrap to create a simpler mozconfig. The downside is
that the resulting mozconfig would not work when building older
revisions.

Add unit tests for this as well as the simplications added in bug
1523341.

Differential Revision: https://phabricator.services.mozilla.com/D17906

--HG--
extra : moz-landing-system : lando
2019-01-31 18:08:44 +00:00
Jan Henning
879d1a037c Bug 1503455 - Part 4: Compile with SDK28. r=nalexander,snorp
android.test.* is no longer part of the main framework, so as per
https://developer.android.com/training/testing/set-up-project,
- we must no longer declare them as a *required* dependency in our manifests
- we must explicitly include a dependency on them in our build config

This will temporarily break running tests depending on android.test.* (i.e.
mainly Robocop) on devices using P or newer until we also start targeting P as
well.

Differential Revision: https://phabricator.services.mozilla.com/D16422

--HG--
extra : moz-landing-system : lando
2019-01-28 18:32:11 +00:00
Nick Alexander
3036f1ed4d Bug 1477487 - Part 3: Make |mach bootstrap| for Android install Rust toolchains. r=agi
Differential Revision: https://phabricator.services.mozilla.com/D16139

--HG--
extra : moz-landing-system : lando
2019-01-17 21:31:12 +00:00
Nick Alexander
aa8a7a854c Bug 1477487 - Part 2: Make |mach bootstrap| for Android recommend toolchain clang and lld. r=agi,froydnj,#firefox-build-system-reviewers
We're seeing all sorts of problems with the NDK toolchain compilers
and the various versions of the NDK.  In automation we build with r17b
and our own toolchain clang; let's try to standardize on that.

This patch is ugly because of the evolution of mozboot.  Long ago, we
passed arguments around and interpolated strings into function names
rather than setting members with the application name and whether
we're in artifact mode.  The places I needed to modify didn't have the
right data at the right time so I added it to the bootstrap instance.
I don't have the time or energy to use the instance variables
through-out: that'll have to be future follow-up.

Differential Revision: https://phabricator.services.mozilla.com/D16138

--HG--
extra : moz-landing-system : lando
2019-01-17 21:30:49 +00:00
Nick Alexander
57c01fa819 Bug 1477487 - Part 1: Look for java and pin to Java 1.8 in |mach bootstrap|; r=agi
What is happening is that distribution JRE and JDK packages roll
forward, installing a different version of Java than what is expected.
We don't check the version installed, so sadness ensues.

Right now, we require Java 1.8 to build, but in the near future, after
Android-Gradle plugin 3.2.1+, we'll be free to use later Java
versions.

However, Android's `sdkmanager` itself requires exactly Java 1.8.  We
only require `sdkmanager` to install `emulator`, really -- everything
else will be fetched by Gradle -- but I don't want to unravel that
right now.

So let's just provide decent error messages and try to prevent the
worst of the footguns.

Differential Revision: https://phabricator.services.mozilla.com/D16137

--HG--
extra : moz-landing-system : lando
2019-01-17 21:30:29 +00:00
Nick Alexander
2a42763c8f Bug 1477487 - Part 0: Make GeckoView more prominent in |mach bootstrap|. r=agi
This is part of the larger shift toward GeckoView and away from
Firefox for Android.  We need GV to "show up" in these kind of
onboarding tools; here's a small first step.

Differential Revision: https://phabricator.services.mozilla.com/D16136

--HG--
extra : moz-landing-system : lando
2019-01-17 21:30:06 +00:00
Nick Alexander
35758fd122 Bug 1477487 - Pre: Bump Android SDK version. r=agi
Just hygiene, no reason to lag, no reason to expect changes.

Differential Revision: https://phabricator.services.mozilla.com/D16135

--HG--
extra : moz-landing-system : lando
2019-01-17 21:29:40 +00:00
Nick Alexander
2ac1dba7f9 Bug 1477487 - Pre: Don't require outdated packages. r=agi
These are downloaded from maven.google.com by Gradle now.

Differential Revision: https://phabricator.services.mozilla.com/D16134

--HG--
extra : moz-landing-system : lando
2019-01-17 21:29:15 +00:00
Mark Banner
748a95812e Bug 1487490 - Update the python modules installed on OS X by bootstrap, following changes in homebrew. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D16672

--HG--
extra : moz-landing-system : lando
2019-01-16 15:07:11 +00:00
Daniel Varga
69ace4b45f Backed out 3 changesets (bug 1525069) for linting failure at /builds/worker/checkouts/gecko/python/mozboot/mozboot/mozillabuild.p on a CLOSED TREE
Backed out changeset 1a41624ff365 (bug 1525069)
Backed out changeset ef7b4d60481f (bug 1525069)
Backed out changeset 898be859c1a4 (bug 1525069)
2019-02-04 23:50:08 +02:00
Nathan Froyd
94eb92d082 Bug 1525069 - part 3 - install 32-bit node on aarch64 devices; r=nalexander
One less paper cut for frontend developers.
2019-02-04 16:32:17 -05:00
Nathan Froyd
006caee023 Bug 1525069 - part 2 - add a 32-bit node variable for bootstrapping; r=nalexander
We don't use this yet, but it's easy enough to get out of the way.
2019-02-04 16:32:17 -05:00
Nomis101
7c37532cdf Bug 1519740 - Include MacPorts Mojave package in bootstrap.py. r=glandium
--HG--
extra : amend_source : 7457ca919e02b7d803821bc98ceede57d6be9d1d
2019-01-14 00:08:54 +01:00
Chris Manchester
ccddf2ca6c Bug 1515512 - Require rustc 1.31. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D15396

--HG--
extra : source : f162598ad12cd59e1f653c541e6786b715b144fd
2018-12-27 02:22:54 +00:00
Cosmin Sabou
c3c97ee7de Backed out changeset f162598ad12c (bug 1515512) on the suspicion of causing Linux asan browser chrome exceptions. 2018-12-27 07:43:08 +02:00
Chris Manchester
ac40054b22 Bug 1515512 - Require rustc 1.31. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D15396

--HG--
extra : moz-landing-system : lando
2018-12-27 02:22:54 +00:00
Kim Moir
4380b3f45b Bug 1510602 - update build documentation to mention artifact builds r=firefox-build-system-reviewers,gps
Differential Revision: https://phabricator.services.mozilla.com/D13435

--HG--
extra : moz-landing-system : lando
2018-12-05 19:49:38 +00:00
Andi-Bogdan Postelnicu
e82882ae01 Bug 1511827 - Download clang based static-analysis during bootstrap after every other dependency is downloaded. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D13678

--HG--
extra : moz-landing-system : lando
2018-12-04 18:42:00 +00:00
Panos Astithas
a825a2ade4 Bug 1508184 - Don't try to set the active python during bootstrap if not necessary r=gps
Differential Revision: https://phabricator.services.mozilla.com/D12237

--HG--
extra : moz-landing-system : lando
2018-11-30 00:25:48 +00:00
Andi-Bogdan Postelnicu
ecc4f819bb Bug 1509296 - Download clang based static-analysis during bootstrap. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D12658

--HG--
extra : moz-landing-system : lando
2018-11-27 19:43:37 +00:00
Thomas Daede
9ae2c6e168 Bug 1501796 - Add nasm to bootstrap scripts. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D9852

--HG--
extra : moz-landing-system : lando
2018-11-09 05:27:54 +00:00
Panos Astithas
b23feb0362 Bug 1506317 - Use clang-7.0 for bootstraping using macports r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D11548

--HG--
extra : moz-landing-system : lando
2018-11-13 05:01:37 +00:00
Nathan Froyd
9f42e70b61 Bug 1504031 - follow-up - require Rust 1.30.1 in bootstrap; r=me 2018-11-09 18:47:37 -05:00
Ted Mielczarek
8a92d6f72c bug 1483941 - prompt to enable build system telemetry in bootstrap. r=nalexander
This change adds a prompt to enable build system telemetry as part of
bootstrap. The prompt will only be shown if the build.telemetry config value
is not present, so users will not be prompted again if they have already
opted-in. However, if a user answers 'no' we don't save that value to
the config file because the default is to not send telemetry, so unless
they manually add `telemetry = false` to their config file they will be
prompted again the next time they run bootstrap.

The config value is always written to `~/.mozbuild/machrc` where we store
other Firefox build-related state. A standalone function is used to write
the config file so that we can do so even when running from bootstrap.py
outside of the context of a mach command.

As part of this change a `prompt_yesno` method is added to `BaseBootstrapper`.

Differential Revision: https://phabricator.services.mozilla.com/D9781

--HG--
extra : moz-landing-system : lando
2018-11-06 14:19:24 +00:00
Gurzau Raul
26c6e57600 Backed out changeset dc7924e3ea6b (bug 1483941) for causing bug 1504449. a=backout 2018-11-03 20:41:00 +02:00
Emilio Cobos Álvarez
b21276e549 Bug 1482923 - cross-compile cbindgen on Mac OS. r=froydnj
I got nerdsniped on the weekend.

Differential Revision: https://phabricator.services.mozilla.com/D10297

--HG--
extra : moz-landing-system : lando
2018-11-01 13:35:44 +00:00
Connor Sheehan
c51f546bd5 Bug 1503817: add missing checkout directory argument to configure_git call r=glob
In bug 1481425 I added an argument to `configure_git` for
the root directory of the current Firefox checkout, so
we could check for and remove the MozReview commit message
hook. I overlooked one other call to that function in
`bootstrap.py`, which is now failing due to too few
arguments. This commit adds the missing parameter.

Differential Revision: https://phabricator.services.mozilla.com/D10556

--HG--
extra : moz-landing-system : lando
2018-11-01 13:54:50 +00:00
Ted Mielczarek
01a1ddddb0 bug 1483941 - prompt to enable build system telemetry in bootstrap. r=nalexander
This change adds a prompt to enable build system telemetry as part of
bootstrap. The prompt will only be shown if the build.telemetry config value
is not present, so users will not be prompted again if they have already
opted-in. However, if a user answers 'no' we don't save that value to
the config file because the default is to not send telemetry, so unless
they manually add `telemetry = false` to their config file they will be
prompted again the next time they run bootstrap.

The config value is always written to `~/.mozbuild/machrc` where we store
other Firefox build-related state. A standalone function is used to write
the config file so that we can do so even when running from bootstrap.py
outside of the context of a mach command.

As part of this change a `prompt_yesno` method is added to `BaseBootstrapper`.

Differential Revision: https://phabricator.services.mozilla.com/D9781

--HG--
extra : moz-landing-system : lando
2018-10-31 20:03:53 +00:00
Emilio Cobos Álvarez
b85791110f Bug 1503401 - Update cbindgen due to breaking change. r=boris
https://github.com/eqrion/cbindgen/pull/233 changed the way one of the options
we use work.

I think the new behavior is better, but we should do this sooner rather than
later, and fix broken builds.

Differential Revision: https://phabricator.services.mozilla.com/D10301

--HG--
extra : moz-landing-system : lando
2018-10-30 21:25:17 +00:00
Connor Sheehan
97ed5fb15c Bug 1481425: remove git-mozreview commit message hook during mach vcs-setup r=mcote,gps
During the MozReview days, users of git-cinnabar would install a
commit message hook to include `MozReview-Commit-Id` in their
commit messages. MozReview has seen been retired, yet there
are still a few users with the hook in their configs who now
have both a MozReview commit ID and a Phabricator Differential
link in their commits. This commit makes `mach vcs-setup` (and
`mach bootstrap`, since the former is called during the latter)
remove the commit hook on git checkouts of a Firefox repo. We
check the `commit-msg` hook file for "mozreview" anywhere in
the hook and remove if it is found.

Differential Revision: https://phabricator.services.mozilla.com/D10229

--HG--
extra : moz-landing-system : lando
2018-10-30 17:52:52 +00:00
Emilio Cobos Álvarez
f00ba0c6e2 Bug 1496619 - Update min cbindgen version in osx.py. a=emilio
I mentioned it on the review but it slipped through it seems.

--HG--
extra : source : cd47bdbd4efa6bda0dc86c3eec25d1ea92e2518a
2018-10-27 13:07:10 +02:00
Chris Manchester
2afea4f01b Bug 1500269 - Upgrade to rustc 1.29.2 r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D9170

--HG--
extra : moz-landing-system : lando
2018-10-22 13:12:43 +00:00
Tooru Fujisawa
0c58650a99 Bug 1494287 - followup: Fix undefined variable in fallback path. r=me 2018-10-12 08:24:04 +09:00
Tooru Fujisawa
c5cbf8d38f Bug 1494287 - Check existing cbindgen version and update if necessary. r=ted 2018-10-12 07:59:22 +09:00
Jan Beich
9bfc52ba08 Bug 1496708 - Install node as system package. f=gaston r=Build r=froydnj
Mozilla binaries (including toolchain artifacts) aren't available on BSDs.
2018-10-05 05:37:00 +03:00
Jan Beich
4737c23ba2 Bug 1496708 - Install cbindgen as system package. f=gaston r=Build r=froydnj
cargo build is no longer called, so bootstrap will be faster.
All dependencies (including cbindgen) are usually up-to-date on BSDs
because there's no fallback to Mozilla binaries.
2018-10-05 05:37:00 +03:00
Jan Beich
c6dd37c2bc Bug 1496733 - Explicitly install libXt on FreeBSD. r=Build r=froydnj 2018-10-05 07:02:00 +03:00
Chris Manchester
de165d4dba Bug 1490145 - Download rustc 1.29 in mach bootstrap. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D5825

--HG--
extra : moz-landing-system : lando
2018-09-14 02:21:26 +00:00
Steve Armand
1812539078 Bug 1490167 - MacPorts in bootstrap.py is out of date r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D5494

--HG--
extra : moz-landing-system : lando
2018-09-11 19:36:09 +00:00
Gabriele Svelto
d5ab0ca667 Bug 1490355 - Teach |mach bootstrap| to automatically install the latest version of the Oracle JDK r=nalexander
This patch makes the bootstrap code "ask" Gentoo's package manager for
human-readable information on how to get the latest JDK, then parses it and
locates the tarball URL on its own. The whole procedure is now fully automatic
(until the package output or Oracle web pages change).

Differential Revision: https://phabricator.services.mozilla.com/D5544

--HG--
extra : moz-landing-system : lando
2018-09-12 12:08:51 +00:00