Commit Graph

144 Commits

Author SHA1 Message Date
Gregory Szorc
c67e0b8843 Bug 1277406 - Offer to configure Mercurial during bootstrap; r=glandium
If a state directory is available and we're running in interactive mode
(or have been told otherwise), we now configure Mercurial during
bootstrap.

This consists of cloning version-control-tools to the state directory
(mimicking code in `mach mercurial-setup` today) and running the
config wizard from version-control-tools.

Code for cloning/updating repositories has been stolen from
tools/mercurial/hgsetup.

As the inline TODO notes, I'd like to eventually support
configuring Git during bootstrap. Since Mercurial is the canonical VCS
for Firefox and since we already have a Mercurial setup wizard (and
don't have a Git one yet), I don't think we should block on implementing
Git support.

MozReview-Commit-ID: 1FZyWIlHZNy

--HG--
extra : rebase_source : c727017bbdc703399fa67e1d831280441026614b
extra : histedit_source : fdb124447b4e80277cfd70fb65a24e0947c89c60
2016-06-01 18:15:17 -07:00
Gregory Szorc
903cb58073 Bug 1277406 - Prompt to create the state directory; r=glandium
Currently, on first run of `mach` it prompts you to create a state
directory. The hand-off between bootstrap and `mach` has always
bothered me because bootstrap is supposed to get your system in a good
state.

In this commit, we teach the bootstrap tool to create the state
directory when not present. This duplicates functionality from `mach`.
The justification for the duplication is explained by inline comment.

In future commits, we'll build on this work to have the bootstrapper
run the Mercurial config wizard, which needs this state directory.

MozReview-Commit-ID: CPKVuRJ3peM

--HG--
extra : rebase_source : 085b67183ec4fda8a23ead3328130c962c95617d
extra : histedit_source : 3ba31232521f624bcf9d0cc5a99033083c1f3657
2016-06-01 18:33:13 -07:00
Gregory Szorc
517e7b2b60 Bug 1277406 - Move mach mercurial-setup implementation into bootstrap; r=glandium
This begins the consolidation of `mach mercurial-setup` into
`mach bootstrap`. The first step is to move the content of the
mach_commands.py file into the bootstrapper's.

I'm not crazy about adding the sys.path entry for tools/mercurial.
I intend to clean this up later.

MozReview-Commit-ID: Cq56wPG8sO1

--HG--
extra : rebase_source : 48d6d2631760c9333bf99285673430948085630e
extra : histedit_source : e062f6fbc0ae9678347801b4a1f1c9b6912afd52
2016-06-01 17:06:01 -07:00
Nathan Hakkakzadeh
db1f388642 Bug 1275437 - Moved installing of Python into an install_python method in the windows bootstrapper; r=gps
The correct version of Python will get installed from the install_python method instead of with the system packages.

This is more in-line with how a bootstrapper *should* extend from the base bootstrapper.

MozReview-Commit-ID: JIMGF7XKL02

--HG--
extra : rebase_source : dc70bdf555afe0a0dfb253e01381b5e6fa52eee3
2016-05-31 17:15:31 -07:00
Nathan Hakkakzadeh
452a80bc35 Bug 1275437 - Fixed some offending version checks that were inhereted from the BaseBootstrapper r=gps
Overrode BaseBootstrapper.which to append '.exe' to any which checks since (hopefully) anything the bootstrapper looks for, must be a windows executable.

Changed base bootstrapper class to use str instead of unicode to avoid a bug in the MinGW version of Python where subprocces.Popen will not accept environment variables that are in unicode instead of str.

MozReview-Commit-ID: 4m8xNifawYS

--HG--
extra : rebase_source : 455b518b099fdba347626ab93b85ddbd44f1f977
2016-05-31 11:20:34 -07:00
Nathan Hakkakzadeh
ee6484c3fa Bug 1275437 - Added installing of Mercurial to Windows boostrapper. r=gps
Added convenience method for installing from pip.

Windows bootstrapper implements upgrade_mercurial to install mercurial from pip.

MozReview-Commit-ID: ClqNA2NmQcc

--HG--
extra : rebase_source : 8107bbca70b0e1e6208cc37f114ad524472174b8
2016-05-26 10:38:58 -07:00
Nathan Hakkakzadeh
3567dafbb6 Bug 1275437 - Windows bootstrapper installs necessary system and browser packages that come from pacman. r=gps
Windows bootstrapper checks if pacman is installed before continuing.

Added a convenience method similar to BaseBootstrapper.which that works with the mingw version of python in msys2.

MozReview-Commit-ID: 6AG2c18KF0U

--HG--
extra : rebase_source : a76fecf19d81d05e1515647b60f118c590dd3518
2016-05-26 09:53:14 -07:00
Nathan Hakkakzadeh
a1591449e7 Bug 1275437 - Added methods for interacting with pacman. r=gps
These new convenience methods let the bootstrapper update the local package list, upgrade all installed packages, and install new packages.

MozReview-Commit-ID: KZPyBl0OU6Z

--HG--
extra : rebase_source : 6a345b5e0cce7c0095dc1213d6609c1ca6a58920
2016-05-26 09:50:02 -07:00
Nathan Hakkakzadeh
7bfde45213 Bug 1275437 - Added placeholder for Windows bootstrapper. r=gps
Created a WindowsBootstrapper class that raises a NotImplementedError when initialized.

As WindowsBootstrapper is implemented, set $MOZ_WINDOWS_BOOTSTRAP to '1' in your environment to test it.

Bootstrapper now detects if the system is being run on Windows, and if it is dispatches to the WindowsBootstrapper.

MozReview-Commit-ID: 3x6PDPuLtzs

--HG--
extra : rebase_source : 250232493a19f20cf3c2218618373cd9ae4b966f
2016-05-25 16:32:09 -07:00
Sebastian Kaspari
8a40b11133 Bug 1247047 - Update build tools to 23.0.3 and Google Play Services to 8.4.0. r=ahunt
MozReview-Commit-ID: 3KZfrc4SL2D

--HG--
extra : rebase_source : bb9844047b01909ac5e9972db844732042389635
2016-05-23 17:46:06 +02:00
Gregory Szorc
dd8c6db496 Bug 1267781 - Bump modern Mercurial version to 3.7.3; r=smacleod
These variables specify a version of Mercurial that is considered
modern and won't trigger giant warnings about being out of date.

We bump to 3.7.3 because 3.7.3 contains security fixes and it is
important for as many users as possible to get these security fixes.

We also update the messaging to indicate security issues with older
releases.

MozReview-Commit-ID: H4utKINrW0V

--HG--
extra : rebase_source : 5247fec94d7df351ef3c7bb2aa60396bb19a6196
extra : amend_source : 70b9aa52cde71d11e2b6d65a1a83567b8a0c7965
2016-04-26 12:11:29 -07:00
Nathan Hakkakzadeh
eeb05c1181 Bug 1257095 - Bootstrapper now checks if Python interpreter is version 2.6 or 2.7 so users get a readable error instead of a stack trace. r=gps
Should be a stopgap until bootstrapper is ported to Python 3.

MozReview-Commit-ID: 2NNC3jMftr9

--HG--
extra : rebase_source : 9d903dc0830369a84206c56136fb90006f9ad842
2016-05-24 15:49:49 -07:00
Nathan Hakkakzadeh
6a2720b1c2 Bug 1042068 - Added terminal-notifier to the list of packages that should be installed with homebrew. r=gps
Before, ./mach build would try to use terminal-notifier after building, but would not be able to since it isn't installed.

MozReview-Commit-ID: 4oBAVfOdcNs

--HG--
extra : rebase_source : 0930e9d4dc038e59f18beb85b4911552c76c0eed
2016-05-23 16:13:38 -07:00
Nathan Froyd
be0c08d89e Bug 1260208 - part 4 - update mozboot's android NDK URL for r11b and above; r=nalexander 2016-05-03 09:13:49 -04:00
Nathan Froyd
276caac476 Bug 1260749 - quiet unpacking of Android SDK and NDK downloads; r=nalexander
We send the output to /dev/null or equivalent, but there's no need to
generate a bunch of extraneous output and consume cycles unnecessarily.
2016-03-30 10:46:14 -04:00
Timothy Guan-tin Chien
ebce64ec9e Bug 1257783 - mach-bootstrap: ask git user to clone hg.mozilla.org with git-cinnabar. r=gps
MozReview-Commit-ID: 8lkPECJCpEz

--HG--
extra : rebase_source : 835b76638071d8410ac0ed22709092e31cb8bb4f
2016-03-22 11:05:50 +08:00
Jeff Walden
c3119c2802 Bug 1254908 - ./mach bootstrap doesn't work on CentOS/Fedora when it attempts to upgrade Mercurial. r=gps
--HG--
extra : rebase_source : f50e41ad8ea90e74ff3e20b176113061f36057c6
2016-03-10 14:55:34 -08:00
Nick Alexander
c531d30275 Bug 1221200 - Post: Change formatting and ordering. r=me
On a CLOSED TREE because DONTBUILD NPOTB

MozReview-Commit-ID: 56vyz2CRJsU

--HG--
extra : amend_source : 4ec60bc95019147225479c32b6982dc33c649cc4
extra : histedit_source : c3dc78da75a8f5b3985024a7d73ac92ab80628c2
2016-03-07 12:47:34 -08:00
Sambuddha Basu
3c21ec1304 Bug 1221200 - Offer Fennec artifact builds in |mach bootstrap|. r=nalexander
MozReview-Commit-ID: D2dw6qfPa5k

--HG--
extra : rebase_source : aab9128e2db247260777d32fe420ea06223e05bc
extra : histedit_source : de59158bcbf80671a03f534eafb4ac607e91ae37
2016-02-27 17:01:31 +05:30
Quentin Headen
bdcc3ae825 Bug 1251810 - Update Arch pacman -U command in bootstrap to handle --no-interactive; r=gps
DONTBUILD (NPOTB)

MozReview-Commit-ID: GsFS39CNx8V

--HG--
extra : rebase_source : 864fea86975a3fb145a0001733b1d690f2a2b528
2016-02-29 13:32:18 -08:00
Quentin Headen
04c99c53de Bug 1251352 - Respect --no-interactive during Arch bootstrap; r=gps
--HG--
extra : amend_source : 903d7946eb28476c1e05c329b204852d008cf75c
2016-02-25 11:47:58 -08:00
Sambuddha Basu
cc602702aa Bug 1169089 - Merge CentOS and Fedora bootstrap code; r=gps
DONTBUILD (NPOTB)

MozReview-Commit-ID: 6WDykc20TKf

--HG--
extra : rebase_source : 90c43d31e8f27a6bff9df6c76113e9b038185d99
2016-02-25 11:11:39 -08:00
Gregory Szorc
e1090839ad Bug 1245684 - Download bootstrap files via a zip archive; r=mshal
This will perform a single HTTP request that completes in <1s. Contrast
with before when we performed multiple HTTP requests and the process
took several seconds.

DONTBUILD (NPOTB)

MozReview-Commit-ID: DjX3LBdSOIk

--HG--
extra : commitid : Li155pLmmc
extra : rebase_source : b098d506fbfaab2b4a7946af48fd49700b1845dc
extra : amend_source : b4142e5de891160593853ea79dd14ea1d64f03ba
2016-02-09 14:41:32 -08:00
Phil Ringnalda
e3869be7d0 Merge m-c to f-t 2016-02-05 19:45:14 -08:00
Gregory Szorc
460386b9c1 Bug 1246040 - Change architecture detection on CentOS; r=glandium
This fails under Docker otherwise. platform.architecture() uses the
architecture of the Python executable, which should be fine assuming the
system-installed Python is being used. Even if the user installed their
own Python, running a 32-bit Python on a 64-bit system feels like
something that would be extremely rare.

DONTBUILD (NPOTB)

--HG--
extra : commitid : HowMKbWsoTt
extra : amend_source : 9c6fd75da6d521845d561e04350b2e82dccf2b38
2016-02-05 10:51:41 -08:00
Gregory Szorc
a43c47c0da Bug 1246025 - Install python2-devel package on Fedora; r=mshal
We need this package to build psutil and other Python packages with C
extensions.

Fedora 23 offers Python 3 as the default package and the package name
changed from python-devel to python2-devel. Fedora 22 does appear to
support python2-devel as an alias. So we use the same name everywhere.

DONTBUILD (NPOTB)

--HG--
extra : histedit_source : 7f0f9930c84f1cff396595309d47e1d600ed2609
extra : rebase_source : 544bcaa84b52ed036e76ba2a44a6074c761790cc
extra : commitid : IgEon98g61O
extra : source : 515c94229a9150246dc88318e92216d3a6d68a39
extra : amend_source : 88f419a5374ff7324dbf5f9a4a33ed313e2e2470
2016-02-05 12:33:13 -08:00
Gregory Szorc
e86222cccd Bug 1246033 - Reference unambiguous git package on Gentoo; r=mshal
"git" is ambiguous between dev-ruby/git and dev-vcs/git.

--HG--
extra : histedit_source : 4d38547125f11114ee6f5a20f859c475aaa942a9
extra : rebase_source : 9ded586dd5e79953e15849e3aa27c57084fb4de0
extra : commitid : KDg9b0sFs5p
extra : source : d2cfa7eb10fc6139091de6530fa92e763eafd077
extra : amend_source : c8318134a0c8dc16d339e4943f737392e917c4eb
2016-02-05 12:31:52 -08:00
Panos Astithas
d2848915ff Bug 1143698 - Selecting macports on Yosemite fails out. r=gps 2016-01-20 00:00:41 +02:00
Panos Astithas
37abe588ff Bug 1114382 - Implement |mach bootstrap| for mobile/android on OS X with macports package manager. r=nalexander 2016-01-19 14:19:55 +02:00
Jim Chen
5cf0d899cd Bug 1240082 - Remove ant requirements; r=nalexander
--HG--
extra : commitid : LWw4uI6LnMf
extra : rebase_source : 714f77af63279a92fc6c015bea36c814fbe1589e
2016-01-13 13:19:23 -05:00
Gregory Szorc
6b9b8a3ac3 Bug 1232580 - Install py27-readline on MacPorts; r=Yoric
See https://trac.macports.org/ticket/48807. Without it, reading
input can break terminals.

--HG--
extra : rebase_source : 7eab1e60d6a6279fdaf25a4789598cf96e2b8d6c
2016-01-12 12:25:52 -08:00
Gregory Szorc
1ee2112c8f Bug 1234954 - Use LooseVersion for parsing Mercurial version; r=me
StrictVersion is strict about version strings, insisting on whatever
convention Python uses. LooseVersion is not as strict but is strict
enough for our use cases.

DONTBUILD (NPOTB)

--HG--
extra : commitid : 17lNEAJhaV0
extra : rebase_source : 0a0cefa47b4558401cb85c6e9b237c0d6cf0e7fb
extra : amend_source : c7360d1a2f934338ec04d5f384d4530e3e9ebbc5
2015-12-31 16:14:20 -08:00
Gregory Szorc
29bbc52ac7 Bug 1235921 - Update modern Mercurial version to 3.5.2; r=me
3.5.2 is what is listed in `mach mercurial-setup`. These should match.
Add a comment to each file saying to change both.

--HG--
extra : commitid : FebjTovmqGk
extra : rebase_source : 50490c1896a4c402f27cf4154b155932614da558
extra : amend_source : 73ae0ddc9f2770351d2ee2aaf5121656fb7e5750
2015-12-31 16:01:48 -08:00
Jean-Yves Avenard
42c92612f4 Bug 1234092: P3. Remove dependencies on gstreamer packages. r=glandium 2015-12-23 01:14:23 +11:00
Brian Murray
52931434b2 Bug 1232715 - Bootstrap ignores --no-interactive flag when using dnf groupinstall; r=gps
DONTBUILD (NPOTB)

--HG--
extra : commitid : F1laIL5bUHN
extra : amend_source : a21757bd9a69cd7ddadb16e49ab89cdd45841b03
2015-12-15 13:59:23 -08:00
Brian Murray
4bbd072a06 Bug 1232486 - Implement |mach bootstrap| for Fennec on Fedora. r=nalexander
DONTBUILD NPOTB

--HG--
extra : commitid : 8vOjqwGEMbK
extra : amend_source : 4175892eff7aa506471734946c8d74a24ab8f0ab
2015-12-14 17:20:09 -08:00
Gregory Szorc
aa64dfaae7 Bug 1231989 - Install watchman via Homebrew and MacPorts; r=ahal
This is needed to support hgwatchman.

--HG--
extra : commitid : 8D2A8YPNimB
extra : rebase_source : 7d5932aa049dfb352b93a87c2c8087dd7b324aab
extra : histedit_source : 9863189f265eca9e0b9363e13c59a7d55f5c633d
2015-12-11 12:40:41 -05:00
Nick Alexander
3a8bea8ad4 Bug 1227600 - Fix |mach bootstrap| bustage on Mac OS X. r=me,gps
DONTBUILD NPOTB on a CLOSED TREE

--HG--
extra : commitid : 4gi9M7J0IaR
extra : amend_source : 32ba3af05db20027dfb1776a30a1040bf25494f7
2015-11-25 11:11:39 -08:00
Harshit Bansal
56588c2af2 Bug 1217039 - Created a function android_ndk_url() in android.py and used it in all other sub-modules to calculate the URL. r=mshal 2015-11-15 14:49:08 +01:00
A-deLuna
57f72c864a Bug 1220480 - Reference proper variable in Arch Linux bootstrapper; r=gps
DONTBUILD (NPOTB)

--HG--
extra : commitid : FF82L5ToIR1
extra : amend_source : 113a8d10ba1fdf385e2a1dac1aaae262f23b3568
2015-11-03 11:00:02 -08:00
Nick Alexander
098c3bcfb6 Bug 1114718 - Make |mach bootstrap| support 'mobile/android' builds on Arch Linux. r=mcomella
--HG--
extra : commitid : BvjdL3Hn144
extra : rebase_source : a2f1819f436f1cf64a7068840c4f69cb6c81d8c7
2015-10-19 16:36:00 -07:00
Sebastian Kaspari
9fc8b6b2bb Bug 1210755 - mozboot/android: Install non-preview version of platform-tools. r=trivial
--HG--
extra : commitid : Hc8dtU2ezcm
extra : rebase_source : 340acc1b9e30609bccc42ac006789a22094fc955
2015-10-06 16:10:01 +02:00
Sebastian Kaspari
f95aacebb1 Bug 1210755 - Mach build: Compile with SDK version 23 and use build tools 23.0.1. r=nalexander
--HG--
extra : commitid : KSzxhqJn0iI
extra : rebase_source : ccd59642dc6025fd2fec574ef9502a15670fb43e
2015-10-05 15:01:23 +02:00
Nick Alexander
faa87abc9b Bug 1194365 - Bump Andoid NDK to r10e; manually install Android SDK and NDK on Mac OS X. r=mcomella
This bumps the NDK version to r10e.

Previously, we used brew to install android-sdk and a custom version
of android-ndk.  That makes it hard to control the installed versions.
This installs from downloaded archives, which unifies the Mac OS X
approach with the straight-forward Linux approach.

--HG--
extra : commitid : E7hEqsyy8Gw
extra : rebase_source : 9ea27e7d2ae3fbaaa3efbabdd701521981bec877
extra : histedit_source : c07c80c50ac066dc6808e7ccf96f0bc14dc09df2
2015-09-22 13:56:17 -07:00
Nick Alexander
4fd10538cf Bug 1171232 - Depend on platform-tools-preview; don't check for missing and failing Android packages. r=mcomella
The 'tools' package depends on 'platform-tools-preview' now.  Roll
with it until Google breaks us back again.

The behaviour of the |android| tool has changed; recent versions don't
reveal what packages are installed.  That means we can't skip already
installed packages; and we can't really tell if our installation
attempts succeeded.  But we have faith!

--HG--
extra : commitid : 341NxbHTJXC
extra : rebase_source : 945e8018effc0b417fc3fedb7220455fabeaedb3
extra : histedit_source : e42fb06e176d5b9e9ebb6553af7045f3a061105f
2015-09-22 13:54:17 -07:00
Nick Alexander
14f61c3434 Bug 1204260 - Post: remove platforms/android-* from |mach bootstrap|. r=glandium
--HG--
extra : commitid : 8ty9AOUtBe2
extra : rebase_source : 3eb41ec78617f82c80da194d709053ada16afc78
extra : histedit_source : 565b7dbf6a1014c70e2251616471f3bb072c5036
2015-09-22 11:40:06 -07:00
Gregory Szorc
84631939a9 Bug 1174037 - Support installing Mercurial from pip; r=glandium
Previously, we used a PPA on Ubuntu to install Mercurial. The PPA has
proved to be unreliable. Furthermore, we didn't have a mechanism for
installing a modern Mercurial on Debian and other derived distros.

In this commit, we remove the PPA from Ubuntu. We add the ability to
install Mercurial from pip to the Debian bootstrapper. However, since
some people may not want <not apt> installing package-like things,
we add a prompt explaining the situation and giving users a choice.
We recommend installing a modern Mercurial via pip. But we also given
the option to install a likely legacy version via apt. And, for Git
users, we give the option to not install Mercurial at all.

Since the new version of the Ubuntu bootstrapper is empty, it doesn't
need to exist, so it has been removed.

DONTBUILD (NPOTB)

--HG--
extra : commitid : 1n8D8hTG6Fm
extra : rebase_source : 666d9945650c0ce27a32353d98886e2336628a36
extra : amend_source : bb9e7538157fdac0203e2ecc3165185f95717098
2015-09-04 10:37:29 -07:00
Aaron Raimist
2ed988f853 Bug 1171783 - Fix bootstrap.py by using DNF instead of Yum if possible; r=mshal
DONTBUILD (NPOTB)

--HG--
extra : commitid : KbAGQkESbla
extra : rebase_source : b171bdb997ae94905254a111cd550431e680d3f4
extra : amend_source : 2b2354cb623688359d0dfb1f6b548a19140551d6
2015-08-19 12:56:22 -07:00
Niels De Graef
582ad89c13 Bug 1195182 - Fixed broken AUR link for uuid; r=gps
DONTBUILD (NPOTB)

--HG--
extra : commitid : GVD1noGQI0w
extra : amend_source : 3e46667094f8bb51bdd74cc2615443bc4db3d0ba
2015-08-18 09:26:37 -07:00
Mike Hommey
d450691e52 Bug 1186229 - Enable Gtk+3 builds by default. r=gps
Note Gtk+3 builds need both Gtk+2 *and* Gtk+3.
2015-07-23 10:24:31 +09:00