Commit Graph

200 Commits

Author SHA1 Message Date
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
Sylvestre Ledru
c08a6438f1 Bug 1292649 - Use default-jdk instead of an explicit version of the jdk r=nalexander
Should be pretty safe as Java compa is usually very good.
This will fix the issue on Debian testing not having openjdk-7-jdk and
current Debian stable having it.
(same with Ubuntu)

MozReview-Commit-ID: Alxg4K4PwQ4

--HG--
extra : rebase_source : 920cdb1618ba587a4776e33ef7857415a59c53b9
2016-12-29 19:44:57 +01:00
Jonathan Watt
5c31ea5e34 Bug 1325787 - Fix MozillaBuild so profile-rustup.sh doesn't break Windows users who have aliased 'cd'. r=gps 2016-12-24 20:02:23 +00:00
Ralph Giles
afb3ed504c Bug 1324473 - mozboot: Normalize windows path advice. r=gps
On windows, python generally returns windows-style paths,
with drive letters and backslash for a separator. However,
when we offer advice for updating the PATH variable, we're
talking about the msys environment which uses unix-style
paths. Convert to avoid confusion.

This is intended to turn c:\Users\mozilla\ into /c/Users/mozilla/.

MozReview-Commit-ID: FdB8FvjeCV1

--HG--
extra : rebase_source : 6d9e87b460417254bbe2eb5af3813e22f2126fb1
2016-12-22 15:45:52 -08:00
Ralph Giles
a46f0d51d7 Bug 1325272 - mozboot: Install python-dbus on fedora. r=froydnj
This provides build-completion notification from mach.

We already do this on debian-based distros.

MozReview-Commit-ID: Jl3OWa9MpZ6

--HG--
extra : rebase_source : e97c02d2924f888b33593ad5209cedaccceba633
2016-12-19 16:31:46 -08:00
Ralph Giles
05bd510ee5 Bug 1325474 - mozboot: install rustup 1.0.0. r=froydnj
Update the version number and checksums of the rustup
installer we download to 1.0.0. This had a first stable
release alongside rust 1.15.

This is the result of running `python mozboot/rust.py --update`
and applying the resulting output.

MozReview-Commit-ID: 1gzMLHZuhNx

--HG--
extra : rebase_source : b9d0f95f17e76a32e17e82d05505cf07a21c5e66
2016-12-22 13:39:25 -08:00
Ralph Giles
57bf0dc91d Bug 1324040 - mozboot: Download rustup without SNI. r=froydnj
It seems older Python (e.g. 2.7 from Ubuntu 14.04) doesn't
support SNI, so we get a TLS error with the canonical
https://static.rust-lang.org/ url even when using the
`requests` module.

Fall back to the no-CNAME host instead which is ugly but works.

Thanks to Simon Sapin for the suggestion.

MozReview-Commit-ID: I6V5ASijuKi

--HG--
extra : rebase_source : 2e2a449fbb3011b51207f1c6baa3d288d0dc774c
2016-12-16 10:21:35 -08:00
Ralph Giles
fc8803bb33 Bug 1321292 - mozboot: Don't suggest non-existent .cargo.env. r=gps
On Windows, the rustup installer doesn't create ~/.cargo/env
but instead pokes .cargo/bin into the path in the Windows
registry. This doesn't necessarily propagate to the msys
evironment however, so some PATH manipulation may still
be necessary.

Split our path advice to be clear in both the new install
and unconfigured path cases, and amend our path update
advice to not mention .cargo/env if it isn't present.

MozReview-Commit-ID: 9IHhS6UYCqq

--HG--
extra : rebase_source : 898615106078882f335385ac0b50eff1612377f0
2016-12-05 20:53:00 -08:00
Ralph Giles
477a29bf9f Bug 1320596 - mozboot: Handle old rustc but not rustup. r=gps
Always report if we found an out-of-date rustc.

This is better when an older rustc is installed, but not rustup,
and it's shadowing the version we install in $CARGO_HOME.

MozReview-Commit-ID: 43io6uISMNI

--HG--
extra : rebase_source : f02e36e0c0c0e5380b3f511852b29a77622165c5
2016-11-28 16:43:22 -08:00
Ralph Giles
a394c35724 Bug 1320397 - mozboot: Install dbus-glib on Fedora. r=gps
This is needed on Fedora as well as CentOS, at least on Fedora 25
where it's evidently not part of the "GNOME Software Development"
group.

MozReview-Commit-ID: KMW8FUsvJcv

--HG--
extra : rebase_source : 07acb80148409cc1d2918900a56e5d0210c157e1
2016-11-25 15:35:12 -08:00
Ralph Giles
02c6a95b45 Bug 1319860 - mozboot: Prompt to add rust to PATH after install. r=nalexander
We were checking for success installing rust with the same code
we checked for upgrade success, but in the case of a clean install
this will likely fail because the binaries installed by rustup
won't be in path. Instead, print the help message about adding
them after installation completes.

MozReview-Commit-ID: xa5PKIDKzZ
2016-11-25 14:09:38 -08:00
Ralph Giles
5885ed4e11 Bug 1286799 - mozboot: Fix rust detection on windows. r=gps
WindowsBootstrapper overrides BaseBootstrapper.which() to append
the Windows 'exe' filename extension, so which() finds rustc.exe
and rustup.exe properly. However, our other code which constructs
the program name in _parse_version or looks for the files in
CARGO_HOME didn't take this into account, making the script think
it couldn't find rust.

Don't use os.path.join to construct urls, since on windows this
inserts the backslash '\' path separator instead of the normal
forward slash.

MozReview-Commit-ID: HWJjwCDHuNK

--HG--
extra : rebase_source : c9a295a22c06dcbfa60637ff6d56d6f1ca269e83
2016-11-21 11:18:59 -08:00
Ralph Giles
067cedbf09 Bug 1286799 - mozboot: Use requests to download rustup manifest. r=gps
Python urllib2 doesn't validate https origins in all versions.
During actual bootstrap the static hash values act as an out-of-bound
validatation channel.

However, that doesn't help when doing the initial download and hash
generation when invoked as `python rust.py [--update]`. Fortunately
we don't expect to be called this way in standalone mode, so we can
use the in-tree requests module to fetch things properly.

MozReview-Commit-ID: KZTtIXDfWTB

--HG--
extra : rebase_source : 14c505797a74de16a7e9bec1f791c0b4659d2932
2016-11-18 13:02:25 -08:00
Ralph Giles
430aad83b5 Bug 1286799 - mozboot: Unbuffer stdout. r=gps
Reopen sys.stdout in unbuffered mode so we can correctly print
'Checking foo... Result' in two parts without calling sys.stdout.flush()
everywhere.

Although we import print_function from the future, the python 2 version
does not support the python 3 flush=True argument.

MozReview-Commit-ID: SjliWeoSa3

--HG--
extra : rebase_source : e16905ac4045e80060d6f248cae0ec731dd0d1c5
2016-11-17 15:21:39 -08:00
Ralph Giles
1116fe76e9 Bug 1286799 - mozboot: Add a script to fetch rust installer hashes. r=gps
Make the mozboot.rust module invokable as a utility. E.g.

  python rust.py --update

When called with the --update option it downloads and generates
checksums for the latest version of the installer on supported
platforms, suitable for updating the values coded in the script.

When invoked without the --update option, it verifies the
current version and checksums against the server.

MozReview-Commit-ID: 2NVFf0ptvbM

--HG--
extra : rebase_source : 5e8b650a9b3c6e1d2b8bfdc90d02faa194f1aa04
2016-11-17 14:23:41 -08:00
Ralph Giles
f9bab2207d Bug 1286799 - mozboot: Install or upgrade rust. r=gps
Download and run a known-good rustup-init installer for the host
system. Once installed, use it to upgrade the latest toolchain.

NB: I expect the MozillaBuildBootstrapper to run its installer
first, but this will take care of Mac, Linux, and FreeBSD.

MozReview-Commit-ID: BKDm1UcLxQS

--HG--
extra : rebase_source : 4e4489d55ad658166a7e4b20c53185532c041204
2016-11-17 12:06:29 -08:00
Ralph Giles
c9139105f6 Bug 1286799 - mozboot: Ensure an up-to-date rust toolchain. r=gps
Add a check to `mach bootstrap` that a compatible version of
the rust toolchain is installed and in path. Note that we use
a separate minimum version from the one checked at configure
time, defined in build/moz.configure/rust.configure, because
this script may be running stand-alone.

If we don't find `rustc` in PATH, we check for it in CARGO_HOME
and suggest adding that to PATH.

If we don't find `rustc` but find a `rustup`, we call it with
the --version switch and report if that fails. This will detect
the older `rustup.rs` script.

MozReview-Commit-ID: EPfQhLz4Dvo

--HG--
extra : rebase_source : 2ea4acdfbfdc2a436f386eae7bc3cbcbc485aa1b
2016-11-16 09:27:32 -08:00
Ralph Giles
37961988e7 Bug 1286799 - mozboot: Use a helper for mercurial version detection. r=gps
Also use the abstracted helper method for reading the current
mercurial version too. This changes the regex from what was in
use before, but should work for normal version numbers.

MozReview-Commit-ID: IZfC65Jg6T8

--HG--
extra : rebase_source : d61a73b7b1b438d8c846523e5e1f639950fe5473
2016-11-15 17:18:21 -08:00
Ralph Giles
9416a38fd9 Bug 1286799 - mozboot: Abstract version checking. r=gps
Move version parsing to a helper method so it can be used
for more than one executable.

MozReview-Commit-ID: 4gOgdgYFbFx

--HG--
extra : rebase_source : 944f562c0d5a6a105a0c27af6f4d7dfc214f3c01
2016-11-15 14:31:59 -08:00
Chris Manchester
0723aadf51 Bug 1313379 - Fix mach bootstrap for Windows desktop artifact mode. r=gps
MozReview-Commit-ID: JqQ52K89q3H

--HG--
extra : rebase_source : b0580f19d8d53d4cf14f0016f7ecda8adeca2a66
2016-10-28 21:45:43 -07:00
Leo Schwarz
33768e74f6 Bug 1312290 - Force package extension when building AUR packages on Arch Linux. r=gps
Previously if an Arch Linux user had a different package extension configured
in `/etc/makepkg.conf` building AUR packages during bootstrap would fail.
Forcing the extension by providing it as an environment variable makes sure
building doesn't fail regarding of a user's configuration.

MozReview-Commit-ID: 4aryYS0XVr7

--HG--
extra : rebase_source : 4c466e49f729de625e814a92325c6d38e6d1e0b4
2016-10-25 10:28:59 +02:00
Andrew Halberstadt
817237ca57 Bug 1292674 - Properly set up Firefox for Android dependencies on Fedora, r=gps
This patch solves 3 problems on Fedora when trying to bootstrap Firefox for Android:

1) Installs java
2) Adds a call to android.ensure_android_packages()
3) Uses build-tools-23.0.1 which seems to be the latest on Fedora

I'm not sure why the Android specific packages are only being installed on Fedora
and not CentOS, but as I don't have CentOS distribution to play around with figured
it was best to leave that for another bug.

MozReview-Commit-ID: 19sD6tYj4V

--HG--
extra : rebase_source : eaf17bc05d606d3010b11927f27a482680266992
2016-08-26 16:04:08 -04:00
Mike Hommey
411867285a Bug 1299661 - Use hg --template flag instead of -T. r=gps
Versions of mercurial older than 3.0 don't support the -T shorthand for
the --template option. While most people should be using something
newer, it can still happen that some run an older version, and it's
still trivial to support them by using the long option.

--HG--
extra : rebase_source : 1507aea436779495045df48b044a58f4af1382be
2016-09-01 07:43:38 +09:00
Nathan Hakkakzadeh
6e14fdc87d Bug 1292715 - Added installer source code for MSYS2 and ConEmu. r=gps
Also, is a ConEmu preferences file which automatically points a newly installed ConEmu to the newly installed MSYS2.

MozReview-Commit-ID: FBeMat4SYjK

--HG--
extra : rebase_source : 83d8f03a6cc011215fe58745c93afdf90162dc58
2016-08-10 15:30:07 -07:00
Timothy Guan-tin Chien
20b7d72944 Bug 1252976 - Follow up, Update Note on Artifact Mode, r=nalexander
Contains a few sentences copied from MDN.

MozReview-Commit-ID: 2wgcCNiWkWw

--HG--
extra : transplant_source : %7B%A2%10%88%83k%AC%AE%D3%A4H/pL%E6%B9%BE-9%5E
2016-08-08 17:54:24 +08:00
Sambuddha Basu
76f610476a Bug 1252976 - Offer |mach artifact| builds in |mach bootstrap| for non-Fennec builds r=nalexander
MozReview-Commit-ID: 2lbrORiTjwH

--HG--
extra : transplant_source : %97%1C%12N%1D%B8eQ%94%F2%A1%26%AA%3F%24X%AA2%AC%12
2016-08-08 17:30:37 +08:00
Jan Beich
534b53feca Bug 1290647 - FreeBSD bootstrap: Drop pkg_add(1) support as it reached EOL downstream. r=glandium
MozReview-Commit-ID: 36Yn6n5bOeQ

--HG--
extra : transplant_source : %C8E%AC%85%A4%A4%A4%7D%DDMz%95%02%FE%D7_%973%04%16
2016-07-30 06:09:54 +00:00
Jan Beich
138edf609e Bug 1290647 - FreeBSD bootstrap: Add watchman (kqueue) for fsmonitor like bug 1231989. r=glandium
MozReview-Commit-ID: 36Yn6n5bOeQ

--HG--
extra : transplant_source : %E0%8Fbb%1AX8%A0%FE%80%0Db%C4%F3%85%C9%E6%C8%15z
2016-07-30 06:09:54 +00:00
Jan Beich
a562e7c4ec Bug 1290647 - FreeBSD bootstrap: Prefer GCC if base Clang is too old after bug 1286204. r=glandium
MozReview-Commit-ID: 36Yn6n5bOeQ

--HG--
extra : transplant_source : FT%8F%90%1D%F86%81%A6%A1%E0%8CM%12%A6%F6%17_%CF%E7
2016-07-30 06:09:54 +00:00
Jan Beich
fb7e6844d2 Bug 1290647 - FreeBSD bootstrap: Allow non-interactive install after bug 1151834. r=glandium
MozReview-Commit-ID: 36Yn6n5bOeQ

--HG--
extra : transplant_source : I%D4%D3%19%F9%ABv%1B%08%C4%B0F%D7%1C%BB%DA%18%0A%5C%C7
2016-07-30 06:09:54 +00:00
Jan Beich
c705130fec Bug 1290647 - FreeBSD bootstrap: GNU tar is required for ./mach package. r=glandium
MozReview-Commit-ID: 36Yn6n5bOeQ

--HG--
extra : transplant_source : %9F0%B0%84%F2%EC1%E4M%0E%AA%B7%05U0.x%A6%E4%3D
2016-07-30 06:09:54 +00:00
Jan Beich
a5309daec2 Bug 1290647 - DragonFly bootstrap: Recent versions have unzip(1) in base system. r=glandium
MozReview-Commit-ID: 36Yn6n5bOeQ

--HG--
extra : transplant_source : %27h%3A%82%F0%28%5E%00%1F%8D%C3%B5%95%A1%E4%C7t4%E5%1F
2016-07-30 06:09:54 +00:00
Jan Beich
7b316204ad Bug 1290647 - Add gconf2 to more platforms with bootstrap after bug 1167201. r=glandium
MozReview-Commit-ID: 36Yn6n5bOeQ

--HG--
extra : transplant_source : %B5%1F%06MW%DF%A8%FA%D8%7B%E5%20%E8%DC%B1%24%D2%AF%7B%ED
2016-07-30 06:09:54 +00:00
Paul Adenot
8af86d2428 Bug 1287486 - Add libx11-xcb-dev to the list of required packages to build on Ubuntu, and sort the list. r=gps
MozReview-Commit-ID: GqSSpfT3vlm

--HG--
extra : rebase_source : 70eeb4090bd1bfb7f10a2d91c68bfc829ebc363a
2016-07-18 17:52:53 +02:00
Nathan Hakkakzadeh
5aa1fe6bf4 Bug 1177128 - Added bootstrapper for MozillaBuild that installs rustup. r=gps
MozReview-Commit-ID: D4DuE0Z35Cd

--HG--
extra : rebase_source : 8bb18d459a5f60ed7083e5b591558e241a89175c
2016-07-07 16:26:48 -07:00
Gregory Szorc
d46f71b8c0 Bug 1279564 - Return a 2-tuple from get_state_dir(); r=glandium
This matches the implementation from mach_bootstrap.py.

MozReview-Commit-ID: 8kZCKuIsAMQ

--HG--
extra : rebase_source : 59b1f3d595e1663603363bb712da9cb74c3ba0e0
extra : amend_source : e95774ade1c7d28ba1d880b6b9ef1d64eaa618a8
2016-06-10 09:39:29 -07:00
Gregory Szorc
95de7f06e8 Bug 1279564 - Move get_state_dir() to own module; r=glandium
We'll be consolidating code from mach_bootstrap.py and mozboot.
We don't want mach_bootstrap.py to import bootstrap.py because it
imports nearly every module under mozboot. So establish a standalone
module with minimal dependencies to hold utility code. Move
get_state_dir() there.

MozReview-Commit-ID: Hw5VB5OZGCi

--HG--
extra : rebase_source : e083f9a5d2fabea308b7b884e9830f800758ae17
extra : amend_source : 0a7b5f42a937430170fdc16909c559f720085668
2016-06-10 09:33:14 -07:00
Gregory Szorc
a8add2ef97 NO BUG - Reference hg.mozilla.org/mozilla-unified instead of /firefox
DONTBUILD (NPOTB)

MozReview-Commit-ID: CnM3AEtRjVj

--HG--
extra : rebase_source : 7c3c873beaa8355c7055ae828dee0b0d0e4ed795
2016-06-27 13:54:15 -07:00