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

237 Коммитов

Автор SHA1 Сообщение Дата
Nick Alexander 883d82aa7d Bug 1255227 - Pre: Use {0} for Python 2.6. r=sebastian
Per https://stackoverflow.com/a/5447119, Python 2.6 doesn't support
anonymous fields (like {}).  This patch uses {0} instead.

MozReview-Commit-ID: 1VgppEkFn0W

--HG--
extra : rebase_source : 80cc860338132c28a22ca0a6c405484feec91136
2017-07-25 14:46:53 -07:00
Mike Hommey 35154eed27 Bug 1382571 - Change install_tooltool_clang_package to use `mach artifact toolchain --from-build`. r=gps
--HG--
extra : rebase_source : a86c52972503ccf78ad78dec2ce341efe13e23b4
2017-07-26 14:36:07 +09:00
Nick Alexander c519abed2e Bug 1384202 - Add --no-interactive bootstrap support for Android SDK and NDK. r=rillian
Hacky, but it works -- until Google updates its license hashes.  This
looks ahead to using |mach bootstrap| to build docker images.

MozReview-Commit-ID: DF23v8tr8SW

--HG--
extra : rebase_source : 5a80bdd5ddfb551b374464f42c3783fef5a71fc3
2017-07-19 15:29:11 -07:00
Nick Alexander 23992bf0ff Bug 1384202 - Pre: Make mozboot/android.py an executable script. r=rillian
This looks ahead to using |mach bootstrap| when building docker
images.

MozReview-Commit-ID: LoMU7ji5T0x

--HG--
extra : rebase_source : 2885195855497d69b1cbba02a943964dd3286b93
2017-07-18 15:47:04 -07:00
Nick Alexander 9d67ae5102 Bug 1384199 - Fix path issue in Android bootstrap. r=rillian
This was a regression introduced in Bug 1344244.  Google changed the
layout of their packages.  It used to be that the Android SDK archive
had a top-level 'android-sdk-$OS_NAME' directory; that's no longer the
case.  It would be cleaner to unpack to 'android-sdk' without the OS
name, but that complicates the logic that detects existing installs.

MozReview-Commit-ID: 4B2Rt1AM2ky

--HG--
extra : rebase_source : 3cd1fef88cbb47fc9cd4e47a2a4bc2277c576c58
2017-07-19 15:24:47 -07:00
Nick Alexander 8c1bf58d5d Bug 1384199 - Pre: Remove unused messages and print statements. r=rillian
MozReview-Commit-ID: 5w7xwj7MvE4

--HG--
extra : rebase_source : 2ef57bc4067be3932051ded4de0f7308f6443b20
2017-07-19 15:21:20 -07:00
Ralph Giles 06bcb45952 Bug 1382743 - mozboot: Update rust to 1.19.0. r=mshal
Consider Rust toolchains prior to 1.19.0 old enough to update
by the `mach bootstrap` command, in preparation for requiring
that release during Firefox 57 nightly development.

MozReview-Commit-ID: JaaM3sPDmzn

--HG--
extra : rebase_source : 3835103a822cfc05bde92ee920b344fe7b68d61c
2017-07-21 15:36:26 -07:00
Nick Alexander a66ad814f1 Bug 1344244 - Post: Allow --application-choice to |mach bootstrap|. r=glandium
MozReview-Commit-ID: 496iK5iTEPX

--HG--
extra : rebase_source : 108fdd931b4b0d0b69e00ac9e14a1b22c4891605
2017-07-05 13:25:04 -07:00
Nick Alexander c3efb6fe79 Bug 1344244 - Part 4: Homebrew includes |brew cask| directly now. r=glandium
There's no need to install the caskroom bits for Homebrew now,
allowing to fix Java installation on Mac OS X and simplify the code at
the same time.

MozReview-Commit-ID: 1Ssjm4YRrPQ

--HG--
extra : rebase_source : 3414d1fbe2bdb693cae1f5b1379d8d9335f1e7f4
2017-07-05 17:05:25 -07:00
Nick Alexander 0f67ddbc23 Bug 1344244 - Part 3: Use sdkmanager rather than android. r=glandium
This is the real fix.  Google has replaced the |android --no-ui ...|
tool with a simpler |sdkmanager| tool, which makes it easier to
install packages with particular major versions.  (Minor versions
still can't be controlled; for example, the m2repository extras are
constantly rolling forward.)

|sdkmanager| fails if the required packages aren't installed and can't
be installed, so there's no need to search for missing packages, etc,
simplifying the code considerably.

I don't see an easy way to upgrade outdated Android SDK installations
-- it's not clear that unpacking over top of an existing SDK
installation succeeds -- so I've included a message about moving or
removing outdated installations.  This will punish folks who have
added additional Android platforms, or download emulator images using
the Android toolchain (but not those downloaded using |mach
emulator|).  C'est la vie.

MozReview-Commit-ID: GLhKyuq701k

--HG--
extra : rebase_source : 26578c5ef4dcc6a29809630add2232a98407ec54
2017-07-05 16:49:09 -07:00
Nick Alexander 6dfa75bd3c Bug 1344244 - Part 2: Merge similar code into android.py. r=glandium
This refactoring unifies similar code that has been copy-pasted and
subsequently diverged.

MozReview-Commit-ID: EuVQBR4gsDo

--HG--
extra : rebase_source : bda66ef9001a1cddf75417aaeebd9dcecd05a6b7
2017-07-05 14:02:58 -07:00
Nick Alexander 09453dbd32 Bug 1344244 - Pre: Support mobile/android in bootstrap on CentOS. r=glandium
This works in a centos:7 docker image.

MozReview-Commit-ID: LZEgSho7xb

--HG--
extra : rebase_source : 8ff3c464ac748e7f9615f5e7c1ede629be12fd8f
2017-07-05 15:06:46 -07:00
Nathan Froyd b9d0fc14d2 Bug 1310852 - part 4 - always download packages for stylo during `mach bootstrap`; r=rillian
With configure now being able to auto-detect the presence of a `mach
bootstrap`-installed clang and libclang and the upcoming
build-by-defaultness of Stylo, we can start downloading these packages
all the time.
2017-06-21 16:36:03 -04:00
Nathan Froyd 3ee2268fa7 Bug 1310852 - part 3 - don't install clang packages through tooltool for OS X `mach bootstrap`; r=rillian
We decided to install the necessary packages through the appropriate Mac
package manager instead.
2017-06-22 15:36:55 -04:00
Nathan Froyd 119b2cf01e Bug 1310852 - part 1 - install llvm homebrew/macports packages; r=rillian
LLVM/clang is needed for Stylo's bindgen, and Apple's clang is unusable
for such purposes.  For other platforms, we have installed LLVM/clang
from our tooltool archive on the supposition that those packages are
definitely known to work, as we use said packages in automation.  For
Mac, however, we haven't been able to generate packages for tooltool
that successfully build Stylo, and even if we had, those packages would
solely be used for developer builds of Stylo and would not be used in
automation.  The case for downloading LLVM/clang for Mac from tooltool,
therefore, is not as strong as for other platforms.

As a result, we'll rely on the installed package manager for LLVM/clang,
which many people may have installed anyway.

In passing, also delete some old code for OS X versions < 10.7; such
platforms are no longer supported for running or building Firefox.
2017-06-30 15:05:52 -04:00
Nathan Froyd eafe4905bb Bug 1376392 - do a more thorough check for git checkouts of mozilla-central in bootstrap; r=rillian
When determining the path of a possible mozilla-central checkout,
bootstrap currently considers the existence of a `.git` directory as
sufficient proof that the containing directory is a git checkout.
Unfortunately, if you happen to execute standalone bootstrap from a git
checkout of something else, you're gonna have a bad time.

To prevent this, check for the existence of a moz.configure file.  This
is not an ideal proof, but it is better than what we currently have.
2017-06-29 19:26:23 -04:00
Ralph Giles ea1e9c1f12 Bug 1376940 - mozboot: Update rustup to 1.5.0. r=froydnj
Bump the target version and checksums for the rustup installers
we use for the latest release so reduce the variance with manual
installs.

MozReview-Commit-ID: E5O4UOu1wLr

--HG--
extra : rebase_source : a0745515957667787929bc5df05a66adb29cbd66
2017-06-28 14:23:48 -07:00
Jan Beich 095deaf886 Bug 1375198 - FreeBSD bootstrap: drop explicit dependency on libGL. r=rillian
libGL package was consolidated into mesa-libs but quarterly set still
uses the old name. Since gtk3 (via libepoxy) and gtk2 (via cairo)
already indirectly depend on mesa-libs take advantage of it to avoid
churn on updates.

MozReview-Commit-ID: F5LBOOthAMc

--HG--
extra : rebase_source : 4e3e30e817187c3ffef30e280554b12b02f44568
2017-06-21 18:45:14 +00:00
Ralph Giles 0608e0eb00 Bug 1371366 - mozboot: Install rust 1.18.0. r=froydnj
This version offers a 15-20% improvement to compilation
speed, so we will likely require it for developers soon.

Begin installing it now to reduce the frequence of double
migrations.

MozReview-Commit-ID: JZRssgOjkF7

--HG--
extra : rebase_source : 7d2ef10315c570e21d609f713391be3e82a88383
2017-06-07 14:57:55 -07:00
Nathan Froyd c2cc55b60e Bug 1368655 - only download Stylo packages if the user wanted Stylo; r=rillian
DONTBUILD because NPOTB
2017-06-01 19:15:03 -04:00
Nathan Froyd d76955c52a Bug 1368099 - part 2- quote suggested Stylo paths on Windows; r=rillian
We install the tooltool packages to ${HOME}/.mozbuild by default, and
${HOME} may have spaces on Windows.  The arguments to the command-line
options need to be quoted appropriately.

DONTBUILD because NPOTB
2017-05-26 22:36:35 -04:00
Nathan Froyd 17c85c1c0d Bug 1368099 - part 1 - provide the correct --with-libclang-path suggestions; r=rillian
libclang.dll lives in the bin/ directory, not the lib/ directory.
2017-05-26 22:36:35 -04:00
Nathan Froyd 3be5437549 Bug 1364588 - part 5 - pass the checkout_root down to stylo package installation; r=rillian
This change ensures that when we're running bootstrap in standalone
mode, we find the correct mach to invoke.

DONTBUILD because NPOTB
2017-05-26 16:07:01 -04:00
Nathan Froyd 05acc3e2cb Bug 1364588 - part 4 - compute the firefox checkout root; r=rillian
We'll need this information to be able to locate mach later, since we
can't assume that mach is just several directories above the script
we're currently running.
2017-05-26 16:07:01 -04:00
Nathan Froyd 9c82ef3194 Bug 1364588 - part 3 - check for a clone before installing Stylo packages; r=rillian
If we're running bootstrap from inside a mozilla-central checkout, we'll
have all the necessary files that we need to install tooltool packages
via `mach artifact toolchain`.  If we're running bootstrap from a
downloaded bootstrap.py, however, it's possible that we failed to clone
the repository.  We need to account for that situation and provide
instructions on how to deal with it.

A consequence of these two mechanisms for bootstrap is that we'll have
to make sure we're invoking `mach artifact toolchain` correctly in both
cases, which we'll handle in subsequent commits.
2017-05-26 16:07:01 -04:00
Nathan Froyd 698311c61c Bug 1364588 - part 2 - move Stylo package installation; r=rillian
Now that we're installing Stylo packages through `mach`, we need to have
`mach` available, which is only true after we've checked for a clone of
the tree.  We move the block performing the installation in this commit
and then fixup resulting problems in future commits.
2017-05-26 16:07:01 -04:00
Nathan Froyd 234629de6e Bug 1364588 - part 1 - use `mach artifact toolchain' to download clang Stylo packages; r=rillian
Using this command is more robust than our current method, and brings
several benefits, such as smart caching of the downloaded toolchain.  We
change the clang package downloaded for Windows with this change, but
bindgen has been updated to work well with LLVM 5.0, so there should be
no problems.
2017-05-26 16:07:01 -04:00
Xidorn Quan 0214189457 Bug 1366542 - Bump required version of Rust to 1.17.0. r=mshal
MozReview-Commit-ID: Bgz6etF2vR2

--HG--
extra : rebase_source : 5ed97670f6144181bbeaceae0cbebd64ca920212
2017-05-21 11:48:33 +10:00
Gregory Szorc e5c00fdd77 Bug 1364511 - Upgrade Mercurial during `mach bootstrap` on MozillaBuild; r=RyanVM
The base bootstrap class has code to conditionally upgrade Mercurial
depending on its version. It is kinda broken. This commit overrides
that code in the MozillaBuild bootstrapper to always run `pip`, which
will ensure the latest stable Mercurial release is installed.

MozReview-Commit-ID: 2O1Ff7dAp4o

--HG--
extra : rebase_source : 98cba0abbebf13e8fe93673d5b46eb16e6a3c147
2017-05-12 15:04:28 -07:00
Gregory Szorc 997dcaa50f Bug 1364635 - Don't offer to configure Mercurial if running from a Git checkout; r=Ehsan
Previously, `mach bootstrap` would unconditionally prompt to help
configure Mercurial in most scenarios. I agree with Ehsan's observation
in a mailing list post that this behavior doesn't make sense when
running from a Git checkout, as the user probably doesn't care about
Mercurial if they are using Git.

This change doesn't completely ignore Mercurial for Git users. For
example, we still unconditionally run code that verifies that Mercurial
is installed and reasonably up to date. Changing this would be a bit
of work. But even if we wanted to change it, git-cinnabar users
would benefit from having a modern Mercurial installed. So it isn't
straightforward for Git users to ignore Mercurial completely.

MozReview-Commit-ID: 8ncHRgCsjz

--HG--
extra : rebase_source : 7945e3bf3d5283105bac517885f794fc5d7bba6d
2017-05-12 19:44:03 -07:00
Jan Beich 476caecbe9 Bug 1363686 - Pull LLVM 4.0 for ./mach bootstrap for Stylo on FreeBSD. r=rillian
MozReview-Commit-ID: 9jCdPLsRaQ4

--HG--
extra : rebase_source : e3bab6ddeccac2d1c01d2ca3dd88880684493329
2017-05-10 11:05:44 +00:00
Ralph Giles e9fb64de96 Bug 1363110 - mozboot: update clang package hash. r=froydnj
Fixes a 403 error running `./mach bootstrap` with stylo enabled.

Bug 1359968 updated the tooltool manifests to point to a
publicly-available clang package. Update the macOS hash
used by mozboot to install the same package for local
use by developers who need rust-bindgen.

MozReview-Commit-ID: FtkATaLwc7n

--HG--
extra : rebase_source : 61390c729e694589b0351026aac0263440a9a3c5
2017-05-08 11:53:35 -07:00
Chris Peterson 44c4d43ecf Bug 1362828 - mozboot: Fix clang package download message. r=froydnj
The Python print() function's does not take a format string, so the extraneous %s here inadvertently prints "Downloading clang package from %s https://..." instead of "Downloading clang package from https://...".

MozReview-Commit-ID: 5Is5TK3X34e

--HG--
extra : rebase_source : 02e625fbdaab536d1a787c33edd6dfda9c1039c6
2017-05-07 00:54:14 -07:00
Jan Beich 6c24868ec4 Bug 1360781 - Add Stylo dependencies for ./mach bootstrap on FreeBSD. r=froydnj
MozReview-Commit-ID: 3cD8frPKXnW

--HG--
extra : rebase_source : a2172145af1aec80eb6a67a0a9bd06ab0ec22130
2017-04-29 02:04:02 +00:00
Nathan Froyd 5635c7bffe Bug 1314355 - part 2 - download LLVM packages from mach bootstrap for Stylo development; r=rillian
For Stylo development, LLVM packages are required due to Stylo's
extensive use of bindgen--generating Rust bindings to Gecko's C++ code.
While people can install LLVM via their system package manager, we've
opted to download the LLVM packages used on Mozilla infrastructure for
building Gecko.  Using Mozilla's packages for LLVM ensures that they
work, and also makes it easier/trivial to integrate support for other
things (e.g. Mozilla's static checkers) into `mach bootstrap`.
2017-05-02 11:23:40 -04:00
Nathan Froyd be73c54413 Bug 1314355 - part 1 - add ability to use a generic digest algorithm for http_download_and_save; r=rillian
This will be useful for downloading files from tooltool, which requires
a SHA512 checksum.
2017-05-02 11:23:40 -04:00
Luis de Bethencourt 48d0873809 Bug 1140088 - Update git URL to github; r=froydnj
git.mozilla.org has been decommissioned.

DONTBUILD because comment-only fixes are safe.
2017-04-25 14:46:52 +01:00
Utkarsh Anand ecd3979b25 Bug 1353460 Asked the user to restart the shell before building from source. r=rillian
When downloading rust manually, it's mandatory to restart the shell,
as the script does not export the PATH environment variable.
This fix also ensures that the rust version in PATH is modern enough for a successful build.

MozReview-Commit-ID: HdLpiLPBLW7

--HG--
extra : rebase_source : dc087c36e89fd6d2957fd1e03af42229de914d5a
2017-04-06 08:27:57 +05:30
Arshad Khan 47d2c3993b Bug 906177 - Added distro support for Elementary OS Luna;r=gps
MozReview-Commit-ID: FtHmXIFtzIz

--HG--
extra : rebase_source : 1d37d38f7635cbe6c1d30669240a613b52a62ed2
2017-03-23 16:39:40 +05:30
suman gupta 0539e340b8 Bug 1346284 Updated ndk r11c to be installed by mach bootstrap; r=nalexander
MozReview-Commit-ID: KgM9ecZR0fB

--HG--
extra : rebase_source : 9dd666e1fc12d455b4e0c58b5af17d5bd7f35930
2017-03-13 23:47:23 +05:30
Jan Beich 5e185e524c Bug 1320940 - rustup is N/A on Tier3 platforms, so prefer downstream Rust packages. r=rillian
MozReview-Commit-ID: NsRGdweHuF

--HG--
extra : rebase_source : 1cdc69999b5047b8e03bc12006b9fb8d09cfaa20
2016-11-29 14:27:46 +00:00
KuoE0 2fb7487fe1 Bug 1340379 - Remove hardcoded Homebrew URL of autoconf 2.13 for macOS. r=nalexander
MozReview-Commit-ID: 2QRkVCOFTUL

--HG--
extra : rebase_source : 0544def007eeb6ec1ada1cbd0a58aa297bc5b711
2017-02-17 11:14:29 +08:00
Ralph Giles e44edf88cc Bug 1339409 - mozboot: Fix undefined FileNotFoundError. r=froydnj
The FileNotFoundError built-in exception is only present in
python 3. Emulate its behaviour in python 2 with a conditional
OSError.

MozReview-Commit-ID: 4b8THPG7jph

--HG--
extra : rebase_source : 718bf3659f14bd349d052d43bf3197dfbb4a016f
2017-02-14 11:41:04 -08:00
Ralph Giles d9052fefa0 Bug 1337153 - Require rust 1.15.1. r=Ehsan
Bump the minimum version of the rust toolchain we require to
build. The 1.15 release includes support for custom #[derive]
directives, letting us use the serde serialization crate without
checking in a lot of generated code.

This is primarily motivated by webrender and the audio remoting
work, and lets us drop the heavy syntex dependency.

MozReview-Commit-ID: 6IObHhouPAn

--HG--
extra : rebase_source : 4be8b148fb653a48f6df4309811ab1d8755f7edf
2017-02-09 09:38:48 -08:00
Ralph Giles 5f0a2f9de1 Bug 1324435 - mozboot: ensure win32 rust support. r=ted
If we have rustup installed, use it to check the available
target platforms and install 32-bit windows support if we're
on the (default 64-bit) windows platform.

This catches systems where the mozillabuild bootstrapper was
run before it installed this, so rustup is available, but the
i686 target library isn't.

MozReview-Commit-ID: 9bE2OQnmvxs

--HG--
extra : rebase_source : 0915fef85755718c5524b13b6b7d0d8b6dbe05b4
2017-01-11 11:30:47 -08:00
Ralph Giles d8025db2ea Bug 1324435 - mozboot: Install rust i686-msvc target. r=ted
Windows devs often want to target 32-bit windows. Make this
easier by installing the target for them at mozboot time.

MozReview-Commit-ID: 6gFbFBOqMz8

--HG--
extra : rebase_source : 12933c6cb7895cef859c9022efa87c62f321219e
2017-01-11 10:19:28 -08:00
Ralph Giles 0ef4e5a4a9 Bug 1332722 - mozboot: Use msys path for cargo_bin. r=gps
We need to mangle the path for both parts of the text printed
but rust_path_advice on windows. Otherwise the report of where
the rust binary was found ends up a mixed pathname even when
the suggested shell command is correct.

MozReview-Commit-ID: FDtP5HY8tJ1

--HG--
extra : rebase_source : ad3671be04751ece8966fa19267239b9f1614551
2017-01-20 11:55:05 -08:00
Ralph Giles 1ffc29a50a Bug 1332722 - mozboot: Improve prompt formatting. r=gps
Adjust newlines so prompt and result information is easier to read.

MozReview-Commit-ID: BbJldqZ6G4

--HG--
extra : rebase_source : 50781f672c452e97c47d4ae07aa7f8b67a96ec50
2017-01-18 09:24:52 -08:00
dinartejesus 92cca75491 Bug 1329398 - Update autoconf@2.13 repository url since homebrew-version was deprecated. r=arai, gps
--HG--
extra : amend_source : 174805e5a590d06bf7e96fb102ce66890a52e705
2017-01-07 12:11:09 +01:00
Ralph Giles a3737f4e6a Bug 1328940 - mozboot: Install hardened cc for python. r=froydnj
Work around missing redhat-hardened-cc1 when building psutil_linux
on Fedora by installing the redhat-rpm-config package.

This fixed build warnings with several mach commands, and errors
with others like `./mach mochitest` and `./mach install` for fennec
builds.

MozReview-Commit-ID: G9jn4abUEtp

--HG--
extra : rebase_source : 98337b820fff52e2efd2368e89f7ff488b36f1ff
2017-01-05 10:47:44 -08:00