Граф коммитов

790 Коммитов

Автор SHA1 Сообщение Дата
ahochheiden 3e352a03ed Bug 1762059 - Resolved an infinite loop by updating the control variable to be one directory up (as it was before the Pathlib changes) r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D142495
2022-03-30 19:16:00 +00:00
Mitchell Hentges 68aff032ed Bug 1758189: Don't double-srcdir for mach during stdalone bootstrap r=ahal
When calling Mach, it was prefixed with the `srcdir`, even though the
`srcdir` was also the working directory of the invocation. This caused
the invocation to fail.

Differential Revision: https://phabricator.services.mozilla.com/D140400
2022-03-09 21:51:13 +00:00
Alexis Beingessner ec10d290e7 Bug 1755602 - consistently use minidump-stackwalk instead of minidump_stackwalk. r=glandium
Inconsistency confuses some of our tools. As part of this, I:

* Updated some docs to point to rust-minidump
* Added a fallback to mozcrash.py to try both versions
* Make mozcrash.py use --brief output when the local mdsw is used
* Remove the renaming hack from build-minidump-stackwalk.sh

This isn't as simple as a sed because we still have breakpad in tree
for minidump-analyzer. I did my best to replace the right strings.

Differential Revision: https://phabricator.services.mozilla.com/D138971
2022-03-09 16:44:42 +00:00
Tom Ritter 0cee01db03 Bug 1722098: Fix the fzf version and download it directly r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D139057
2022-02-22 19:27:53 +00:00
ahochheiden 883848bcf0 Bug 1752879 - Remove unnecessary check for Homebrew PATH ordering r=firefox-build-system-reviewers,glandium
Differential Revision: https://phabricator.services.mozilla.com/D137565
2022-02-11 02:12:15 +00:00
Mitchell Hentges b3b0d2b63d Bug 1752927: Avoid distutils deprecation warning on every Mach call r=ahal
Python 3.10 prints a warning when it sees `distutils` used, so let's
avoid using `distutils` in the "common Mach code" that runs on every
Mach call.

Note that this change will also fix the `SetuptoolsDeprecationWarning`
that shipped on `setuptools>=58.3.0`, since our usage of `distutils` was
calling a `setup.py install` under the hood.

Differential Revision: https://phabricator.services.mozilla.com/D137499
2022-02-04 21:49:15 +00:00
Mitchell Hentges 2f61099ad3 Bug 1752724: Use "light" bootstrapper on arm macOS (even when Rosetta) r=glandium
The main difference between `OSXBootstrapperLight` and `OSXBootstrapper`
is that the "light" one doesn't install utilities via `brew`.
However, these utilities are all optional for builds  (`watchman`,
`terminal-notifier`, etc).

Since arm macOS + Rosetta + brew installs are failing (because brew is
complaining that the "ARM prefix" is being used in a Rosetta context),
the solution provided by this patch is to avoid using `brew` in this
case.

Differential Revision: https://phabricator.services.mozilla.com/D137661
2022-02-04 16:05:44 +00:00
Mitchell Hentges f25a47724b Bug 1747837: Attempt to reinstall optional dependencies during bootstrap r=ahal
Currently, developers don't have a way to have the Mach virtualenv
re-attempt to install optional dependencies (such as `glean`).

As part of `./mach bootstrap` (the general catch-all "re-create my dev
environment" command), we should retry installing optional dependencies.

This also matches the "glean isn't installed" error message
recommendation.

Note: This doesn't address the case in which command virtualenvs
need their optional dependencies attempted to be reinstalled.
However, since we don't have any such cases yet, I'm satisfied with
deferring that work.

Differential Revision: https://phabricator.services.mozilla.com/D123242
2022-01-25 22:19:10 +00:00
Jens Stutte 22a8e29a72 Bug 1751673: Update archlinux.ensure_nasm_packages parameter list. r=firefox-build-system-reviewers,nalexander
Differential Revision: https://phabricator.services.mozilla.com/D136716
2022-01-24 18:32:46 +00:00
Mike Hommey 116357dac6 Bug 1751564 - Make mozboot.find_mozconfig return a Path. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D136692
2022-01-23 20:54:08 +00:00
ahochheiden d131872157 Bug 1748505 - Remove 3rd positional argument that is no longer required from update_git_tools() call r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D135268
2022-01-21 19:35:50 +00:00
ahochheiden d4c362f06c Bug 1744884 - Remove `requests` module import, as it's already in-scope by the time of bootstrap (since to Bug 1647792) r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D135267
2022-01-21 19:35:50 +00:00
ahochheiden 80a93642e9 Bug 1744884 - Move `win_to_msys_path` helper function outside of `Bootstrapper` class to `mach/util.py` so that it can be used elsewhere. r=firefox-build-system-reviewers,mhentges
Added usage during `configure_git` for cinnabar directory location
instructions for adding to PATH.

Differential Revision: https://phabricator.services.mozilla.com/D135266
2022-01-21 19:35:49 +00:00
ahochheiden 72bb536e37 Bug 1744884 - Remove `no_interactive` parameter from `run_prewarm_avd` in android.py since it was not used. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D135265
2022-01-21 19:35:49 +00:00
ahochheiden 833d4d05fc Bug 1744884 - Remove 'os_arch' parameter from `ensure_android_sdk_and_ndk` since it was not used. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D135264
2022-01-21 19:35:49 +00:00
ahochheiden 28f7d9eaee Bug 1744884 - Remove `ensure_dir` function from android.py r=firefox-build-system-reviewers,mhentges
What this function does can easily be a one-liner now that we're using
Pathlib, so both calls to it have been replaced by said one-liner.

Differential Revision: https://phabricator.services.mozilla.com/D135263
2022-01-21 19:35:48 +00:00
ahochheiden 2a3ddd407e Bug 1744884 - Update string paths to Pathlib objects in Mozboot module r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D133164
2022-01-21 19:35:48 +00:00
ahochheiden b06e61aee3 Bug 1744884 - Remove 'emulator_path` creation from get_paths function in android.py since it is not used. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D135262
2022-01-21 19:35:47 +00:00
Agi Sferro fe94caaf56 Bug 1743469 - Target android 31. r=jgraham,jnicol,calu
Differential Revision: https://phabricator.services.mozilla.com/D133153
2022-01-11 19:16:03 +00:00
Agi Sferro 024994e801 Bug 1724480 - Upgrade JDK to Java 17. r=glandium,ahal,calu
Differential Revision: https://phabricator.services.mozilla.com/D131972
2022-01-11 19:16:01 +00:00
Mike Hommey 8ea7516844 Bug 1747347 - Use configure autobootstrap code to install toolchains in mach bootstrap. r=firefox-build-system-reviewers,andi
This uses the same trick as bug 1743832 under the hood. We could go the
other way around, extracting the configure code to a separate module,
but the longer term goal here is to have configure figure out which
things to bootstrap for the selected build type.

As a side effect, mach bootstrap will stop re-bootstrapping things that
are already up-to-date, at least for things using
install_toolchain_artifact, excluding those that don't follow the
convention wrt the extracted directory path.

Differential Revision: https://phabricator.services.mozilla.com/D134595
2021-12-23 20:55:36 +00:00
Emilio Cobos Álvarez e195b342bd Bug 1747387 - Fix MozillaBuildBootstrapper after bug 1747216. r=firefox-build-system-reviewers,glandium
Differential Revision: https://phabricator.services.mozilla.com/D134608
2021-12-23 20:42:18 +00:00
Mike Hommey 6fbca3923d Bug 1747216 - Avoid passing state and source directory to all Bootstrapper methods. r=firefox-build-system-reviewers,nalexander
Differential Revision: https://phabricator.services.mozilla.com/D134489
2021-12-22 21:09:51 +00:00
Mike Hommey 044b037fac Bug 1747215 - Stop bootstrapping node/npm from Linux distro packages. r=firefox-build-system-reviewers,andi
We install it via a toolchain artifact anyways, if not via mach
bootstrap, via configure's autobootstrap.

Differential Revision: https://phabricator.services.mozilla.com/D134488
2021-12-22 21:09:51 +00:00
Mike Hommey 40cad9af3e Bug 1747211 - Stop bootstrapping nasm from Linux distro packages r=firefox-build-system-reviewers,andi
We install it via a toolchain artifact anyways, if not via mach
bootstrap, via configure's autobootstrap.

Differential Revision: https://phabricator.services.mozilla.com/D134487
2021-12-22 21:09:50 +00:00
Mike Hommey 73230b8c3e Bug 1744234 - Bump minimum Rust version to 1.57. r=firefox-build-system-reviewers,andi
Also update the table of Firefox requirements. It's worth noting that I
actually upgraded to 1.57 earlier than I should have (too close to
freeze), but what is done is done.

Differential Revision: https://phabricator.services.mozilla.com/D134124
2021-12-17 08:37:39 +00:00
Noemi Erli 88ea88a467 Backed out 2 changesets (bug 1724480) for causing Bug 1745152 and Bug 1745153 CLOSED TREE
Backed out changeset f988b79d58f4 (bug 1724480)
Backed out changeset 8a2fb9a2a3db (bug 1724480)
2021-12-09 18:58:02 +02:00
Agi Sferro 49ed81f7e0 Bug 1724480 - Upgrade JDK to Java 17. r=glandium,ahal,calu
Differential Revision: https://phabricator.services.mozilla.com/D131972
2021-12-08 23:55:53 +00:00
Jonathan Watt d73bd9dd8c Bug 1744910 - For now, don't use --cacheonly with dnf. r=mhentges
Differential Revision: https://phabricator.services.mozilla.com/D133190
2021-12-08 15:18:15 +00:00
Jonathan Watt 1a2fd33312 Bug 1744277 - Avoid having dnf install packages and groups that are already installed. r=mhentges
Without this change, on systems that use `dnf` (such as Fedora),
`mach bootstrap` will prompt for the sudo password to install packages and
groups that have already been installed. Making this change will help get
`mach bootstrap` to a point where it can be run without prompting for user
input when we can avoid doing that.

Differential Revision: https://phabricator.services.mozilla.com/D132816
2021-12-06 21:23:08 +00:00
Jonathan Watt f90e432899 Bug 1744279 - On Fedora, have `mach bootstrap` install python3-devel, not python-devel. r=mhentges
Fedora 33 is now EOL. Fedora 34 and 35 now both use the package name
'python3-devel', not 'python-devel'. Although 'python-devel' is aliased to
'python3-devel' for `dnf install`, it is not aliased for other commands such as
`dnf info`. That defeats the purpose of fixing bug 1744277 unless we also fix
this issue.

Differential Revision: https://phabricator.services.mozilla.com/D132815
2021-12-04 00:13:17 +00:00
Makoto Kato 79947c1fa7 Bug 1743804 - Fix OpenJDK filename on Windows. r=agi
No tarball for OpenJDK archives for Windows. Windows version is zip or msi.

Differential Revision: https://phabricator.services.mozilla.com/D132565
2021-12-02 01:41:46 +00:00
Agi Sferro 9ce9bd86e7 Bug 1740358 - Use Java JDK from Adoptium in CI. r=aki
Differential Revision: https://phabricator.services.mozilla.com/D131928
2021-11-30 16:11:00 +00:00
Agi Sferro fbb07613dc Bug 1740358 - Enable |mach bootstrap| for GeckoView on Apple Silicon. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D130795
2021-11-30 16:11:00 +00:00
Agi Sferro 79940ac0dd Bug 1740358 - Download Java from adoptium. r=mhentges,glandium
We already use the adoptopenjdk on some platforms, this allows us to have a
more predictable Java binary on all platforms.

Differential Revision: https://phabricator.services.mozilla.com/D130878
2021-11-30 16:10:59 +00:00
Mitchell Hentges 6571032077 Bug 1739067: Scope Mach virtualenv to be checkout-specific r=perftest-reviewers,ahal,sparky
Build and run the Mach virtualenv from a `state_dir` that is
"specific-to-topsrcdir".

As part of this, move `get_state_dir()` to `mach` so that it's usable
before `sys.path` entries are fully set up.

Differential Revision: https://phabricator.services.mozilla.com/D130383
2021-11-29 22:33:54 +00:00
surajeet310 f3349f75f1 Bug 1734760 - Modified 'bootstrap.py' script from python/mozboot/bin r=mhentges
The modified script :
1. Guides the user after the first successful clone to opt for './mach bootstrap', if the user wants to re do the tooling bootstrapping.
2. Prompts the user an option to remove the standalone 'bootstrap.py' script as it isn't required anymore.
3. Guides the user to run './mach bootstrap' instead of 'python3 bootstrap.py', provided the repository is already cloned.

Differential Revision: https://phabricator.services.mozilla.com/D130246
2021-11-24 21:03:20 +00:00
Mitchell Hentges abeedf3bbd Bug 1717051: Automatically create and activate Mach virtualenv r=ahal
Consolidate Mach virtualenv management to the front of the
Mach process. This obsoletes `./mach create-mach-environment`
and simplifies the `sh` portion of the top-level `./mach` script.

This helps ensure that the Mach virtualenv doesn't become
out-of-sync and simplifies the mental model of the Mach
virtualenv situation.

Differential Revision: https://phabricator.services.mozilla.com/D120401
2021-11-24 20:06:33 +00:00
Agi Sferro 1e6bdb353c Bug 1739652 - Upgrade cmdline-tools to 5.0. r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D130507
2021-11-23 15:47:46 +00:00
Sylvestre Ledru 70be2344fc Bug 1707591 - ride along - reformat the tree with black 21.10b0 r=ahal,webdriver-reviewers,perftest-reviewers,whimboo,gerard-majax,alexandru.irimovici
This changed with this:
https://github.com/psf/black/pull/1740

Depends on D130964

Differential Revision: https://phabricator.services.mozilla.com/D130965
2021-11-22 22:10:03 +00:00
Alex Hochheiden 4975c092ee Bug 1737112 - Update instructions for adding git-cinnabar to PATH on Windows r=mhentges,firefox-build-system-reviewers,glandium g=firefox-build-system-reviewers
Updated the path value in the instructions from "<drive>:/" to "/<drive>/" for
Windows so that it works as intended when added to the MSYS profile. Also
added a copyable link to the expected msys/etc dir based on the MOZILLABUILD
environment variable to direct the user to where to apply the change.

(If the MOZILLABUILD variable isn't defined, supply the expected default instead)

Differential Revision: https://phabricator.services.mozilla.com/D129480
2021-11-22 16:05:22 +00:00
Mitchell Hentges eebabfffe5 Bug 1730712: Split on-disk venv logic from `MozSiteManager` r=ahal
The current inheritance-based separation between "general venv
details" (`VirtualenvHelper`) and moz site details
(`MozSiteManager`) has caused `MozSiteManager` to care
about too many details.

This patch splits things apart a little more:
* The term `VirtualenvHelper` isn't _super_ useful, rename it to
  `PythonVenv` to show that it represents a Python virtualenv.
* Move on-disk virtualenv logic (`activate_path` location,
  `site-packages` location, `pip install` behaviour) into a
  contained `MozVirtualenv` class.
* Port the inheritance to a "composition" model instead.

Differential Revision: https://phabricator.services.mozilla.com/D129685
2021-11-17 20:54:23 +00:00
Mitchell Hentges 725792bd05 Bug 1730712: Update "Moz site" terminology r=ahal
The existing terminology had two issues:
* `VirtualenvManager` wasn't always associated with an on-disk
  `virtualenv`: for example, when running in automation, Mach
  "activates" a `VirtualenvManager`, updating its import scope,
  but without ever creating an on-disk `virtualenv`.
* An upcoming patch splits the `VirtualenvManager` class, pulling
  "on-disk virtualenv-handling functions" from the project-wide
  interface for managing Python's import scope.

After some good discussion with Ahal, I think we've struck
the terminology that handles this distinction well: we'll call
the "import scope"-handling part the "site", and we'll continue
to call on-disk virtualenvs (and their representative classes)
as, well, virtualenvs.

Differential Revision: https://phabricator.services.mozilla.com/D130391
2021-11-17 20:54:23 +00:00
Mats Palmgren 89aa8c321b Bug 1721513 - Add devuan to DEBIAN_DISTROS. r=mhentges
Differential Revision: https://phabricator.services.mozilla.com/D131069
2021-11-15 16:09:13 +00:00
Iulian Moraru 897bb9d353 Backed out 2 changesets (bug 1707591) for causing python mozlint failures on test_yaml.py. CLOSED TREE
Backed out changeset a730ab2d0dbe (bug 1707591)
Backed out changeset 0269849fd7ef (bug 1707591)
2021-11-12 18:44:36 +02:00
Sylvestre Ledru c1b5edd8be Bug 1707591 - ride along - reformat the tree with black 21.10b0 r=webdriver-reviewers,whimboo,gerard-majax
This changed with this:
https://github.com/psf/black/pull/1740

Differential Revision: https://phabricator.services.mozilla.com/D130965
2021-11-12 15:06:56 +00:00
Agi Sferro 9c6be8a1c5 Bug 1739701 - Add support for the arm64 Android emulator. r=gbrown,calu
My understanding is that this is the only version of the emulator that is
supported on Apple silicon.

Differential Revision: https://phabricator.services.mozilla.com/D130510
2021-11-09 21:47:25 +00:00
Csoregi Natalia dfae430e9c Backed out changeset fe34cb6515eb (bug 1739652) as per request. CLOSED TREE 2021-11-09 23:08:11 +02:00
Agi Sferro a6866ed06e Bug 1739652 - Upgrade cmdline-tools to 5.0. r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D130507
2021-11-08 22:07:54 +00:00
Alex Hochheiden 1089cc39bc Bug 1686137 - Replace 'wget' with 'requests' in install_mobile_android_sdk_or_ndk to remove the external dependency on 'wget' r=mhentges,firefox-build-system-reviewers g=firefox-build-system-reviewers
Downloading, as well as resuming a partial download, of an SDK/NDK was
implemented. The progress bar was implemented via tqdm.

This is not a generic solution, but the same ideas could be used and improved
to replace 'dlmanager' in the future.

Differential Revision: https://phabricator.services.mozilla.com/D129063
2021-11-03 15:41:14 +00:00