Commit Graph

3067 Commits

Author SHA1 Message Date
Carsten "Tomcat" Book
198430bca2 merge mozilla-inbound to mozilla-central a=merge 2017-07-26 11:11:40 +02:00
Mike Hommey
c933b5b6e7 Bug 1382571 - Remove support for tooltool manifest filtering in mach artifact toolchain. r=gps
--HG--
extra : rebase_source : 341a586213fa0267fe8a7987cf7033f4302871e0
2017-07-26 14:41:53 +09: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
Mike Hommey
2f3e242dc0 Bug 1382569 - Make mach artifact toolchain --from-build use the toolchain-artifact info from bug 1374940. r=gps
--HG--
extra : rebase_source : 7737d6576191592b75e56f9729691c404cee6797
2017-07-26 14:15:33 +09:00
Philip Chimento
fb83555684 Bug 1379537 - Fix InstallManifestNoSymlinks to not install symlinks. r=glandium 2017-07-21 20:13:34 -07:00
Mike Hommey
4b822dd9f0 Bug 1382502 - Remove ${var}_IS_SET variables. r=ted
In bug 1181040, we added ${var}_IS_SET variables for
mk_add_options-defined variables. In the two years since, that has never
been used for anything else than MOZ_PGO_IS_SET, and the only use for
that has now been removed, so remove those ${var}_IS_SET variables.

--HG--
extra : rebase_source : 2fc9abe0c3badbf06f3858fcf326237e67891fee
2017-07-20 14:22:11 +09:00
Mike Hommey
7decc31f76 Bug 1383996 - Add an argument to mach artifact toolchain to store a manifest for chain-of-trust validation. r=gps
Chain of trust validation will require to know what the inputs for a
given build are, and mach artifact toolchain fetches such inputs.

So we make it output a manifest that the chain of trust validation
process will be able to use and correlate with other information, such
as the one from bug 1383993.

At the same time, we make the produced manifest contain information
about tooltool-downloaded packages, which will allow to track the
progress in the migration from tooltool to TC artifacts.

--HG--
extra : rebase_source : 5b3fc32a9fd641cc7edc57865d2b60aaa6ffcbed
2017-07-20 17:52:56 +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
Alex Gaynor
18571165c2 Bug 1382739 - Added support for hardlinks to mozbuild; r=gps
MozReview-Commit-ID: 7DcOAVNsr3c

--HG--
extra : rebase_source : 633a1c1af5ae92c16ab17bcf22f2403001003069
2017-07-20 14:04:05 -04:00
Tom Prince
6e592ea68d Bug 1385539 - Re-add accidentally deleted documentation of mozbuild.configure.ConfigureSandbox.include_file; r=glandium
The code was deleted in Bug 1256571.

MozReview-Commit-ID: JgWoxOyMQ8z

--HG--
extra : rebase_source : 5f37e281096b946e94dd77182c8704beee8eeecf
2017-07-29 00:31:17 -06:00
Mike Hommey
09db7d4793 Bug 1382564 - Use the information from bug 1374940 with mach artifact toolchain. r=gps
Bug 1374940 adds a MOZ_TOOLCHAINS environment variable with a list of
path@task-id strings, where task-id is corresponding to the (possibly
optimized) toolchain job, and path corresponding to the
toolchain-artifact defined for that toolchain job.

We want to use that to pull artifacts instead of tooltool packages.

--HG--
extra : rebase_source : 277daa2c83d6d197975cb4ef36ee131176afa992
2017-06-21 15:18:33 +09:00
Gregory Szorc
e4480eabc7 Bug 1377216 - Use configure-derived VCS info to find repository; r=glandium
For reasons I can't explain, Windows builds are failing intermittently
because they are unable to locate the `hg` binary when running
some SpiderMonkey test processes. These processes use
mozversioncontrol.get_repository_from_env() to locate the
current repository.

We now store VCS info in configure. This makes it available to anything
running in a build system context.

This commit teaches mozversioncontrol.get_repository_from_env()
to import the "buildconfig" module to locate VCS info. If the module
can be imported, it is the sole source of VCS info. Otherwise, we
fall back to the existing detection mechanisms.

This should get rid of the intermittent failure. If it doesn't,
it is still a step in the right direction because it will allow
build system processes to consistently use a well-defined VCS
binary.

MozReview-Commit-ID: DMxXheJLRqH

--HG--
extra : rebase_source : a9c599934c8c08da1fbb92a9105f5c7cba0867b3
2017-07-18 15:46:47 -07:00
Gregory Szorc
ab7253fb0b Bug 1377216 - Use substs for resolving path to Mercurial and Git; r=glandium
We now store HG or GIT in substs. We don't need to search for
binary paths.

MozReview-Commit-ID: 8sSgPNLok9M

--HG--
extra : rebase_source : bc51087bcb9f2a723e27f240dd06a88540f6d8a8
2017-07-14 17:23:34 -07:00
Gregory Szorc
4ed711f732 Bug 1377216 - Use substs for determining checkout type; r=glandium
We now have a variable in config.status for recording the checkout
type. These helper functions for determining if we're Mercurial or Git
can now be one-liners.

As a bonus, we no longer do I/O as part of this function.

MozReview-Commit-ID: HT9sbOhDEkf

--HG--
extra : rebase_source : 8b53b5f50d14c0bdd4ef3dc7b190314af80a76f0
2017-07-14 17:22:14 -07:00
Ryan VanderMeulen
741a7a5ea3 Backed out 6 changesets (bug 1377216) for SM(pkg) bustage on a CLOSED TREE.
Backed out changeset b5701f3ce506 (bug 1377216)
Backed out changeset 1f37aebe0f43 (bug 1377216)
Backed out changeset c8931588f674 (bug 1377216)
Backed out changeset ded5328ba74c (bug 1377216)
Backed out changeset 6cb234539746 (bug 1377216)
Backed out changeset ce836965fd58 (bug 1377216)
2017-07-19 22:14:03 -04:00
Gregory Szorc
2e6b49383d Bug 1377216 - Use configure-derived VCS info to find repository; r=glandium
For reasons I can't explain, Windows builds are failing intermittently
because they are unable to locate the `hg` binary when running
some SpiderMonkey test processes. These processes use
mozversioncontrol.get_repository_from_env() to locate the
current repository.

We now store VCS info in configure. This makes it available to anything
running in a build system context.

This commit teaches mozversioncontrol.get_repository_from_env()
to import the "buildconfig" module to locate VCS info. If the module
can be imported, it is the sole source of VCS info. Otherwise, we
fall back to the existing detection mechanisms.

This should get rid of the intermittent failure. If it doesn't,
it is still a step in the right direction because it will allow
build system processes to consistently use a well-defined VCS
binary.

MozReview-Commit-ID: DMxXheJLRqH

--HG--
extra : rebase_source : a9c599934c8c08da1fbb92a9105f5c7cba0867b3
2017-07-18 15:46:47 -07:00
Gregory Szorc
1e4d4f7e0f Bug 1377216 - Use substs for resolving path to Mercurial and Git; r=glandium
We now store HG or GIT in substs. We don't need to search for
binary paths.

MozReview-Commit-ID: 8sSgPNLok9M

--HG--
extra : rebase_source : bc51087bcb9f2a723e27f240dd06a88540f6d8a8
2017-07-14 17:23:34 -07:00
Gregory Szorc
d32f8a188a Bug 1377216 - Use substs for determining checkout type; r=glandium
We now have a variable in config.status for recording the checkout
type. These helper functions for determining if we're Mercurial or Git
can now be one-liners.

As a bonus, we no longer do I/O as part of this function.

MozReview-Commit-ID: HT9sbOhDEkf

--HG--
extra : rebase_source : 8b53b5f50d14c0bdd4ef3dc7b190314af80a76f0
2017-07-14 17:22:14 -07:00
Ryan VanderMeulen
0cfb1d8460 Merge inbound to m-c. a=merge
CLOSED TREE
2017-07-19 10:00:35 -04:00
Rok Garbas
8c33261168 Bug 1364650 - retry on ChunkedEncodingError; r=gps DONTBUILD CLOSED TREE
MozReview-Commit-ID: 5F9ZwOvFG2V

--HG--
extra : histedit_source : 2bc1174c8c359d97ac60c48d60863ce1e4c95298
2017-07-18 23:02:29 +01:00
Gregory Szorc
0226f806c0 Bug 1381353 - Set RUST_BACKTRACE=1 during mach run; r=ted
Having Rust dump a stack on panic seems like a useful on-by-default
feature.

MozReview-Commit-ID: ABYTArsMTFh

--HG--
extra : rebase_source : 7d15f44a9ffd14db475db9e5c2964aca31bf0f70
2017-07-17 13:57:50 -07:00
Andrew Halberstadt
2f253251a9 Bug 1381802 - [mach] Allow subcommands to use the 'parser' argument, r=gps
This allows subcommands to use external argument parsers.

MozReview-Commit-ID: 7TkbTff0Tv8

--HG--
extra : rebase_source : a1c245efa7ac7b28b974534b4cd2727c96f9219d
2017-07-18 08:53:13 -04:00
Andrew Halberstadt
f64710a364 Bug 1381802 - [mach] Ensure subcommand help is displayed whenever a subcommand and --help are specified, r=gps
After this patch, the following will all display the subcommand help where they previously displayed
the command help:

    $ mach help <command> <subcommand>
    $ mach <command> --help <subcommand>
    $ mach <command> <subcommand> --help

The command help will still be shown for:

    $ mach help <command>
    $ mach <command> --help

MozReview-Commit-ID: 7EsVblnCaFM

--HG--
extra : rebase_source : 2a1d289d56164366ce140fa653adec93f56be067
2017-07-18 08:42:41 -04: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
Haik Aftandilian
ce8f59e85d Bug 1380132 - Part 2 - Set MOZ_DEVELOPER_OBJ_DIR before launching Firefox. r=gps
MozReview-Commit-ID: CvSUt2KueHr

--HG--
extra : rebase_source : 7d621a1dc7ced33a2c00e906970401e152a70189
2017-07-12 17:01:56 -07:00
Greg Mierzwinski
f87b1eda07 Bug 1378533 - Make the keys for linked-map-files.json entries absolute paths. r=marco
This patch changes the name of the keys that are in the 'linked-files-map.json' that is produced in the code coverage build and are used to map symbolic links to their source files. The new key names (which are the paths to the symbolic links) are now the entire absolute path to each of the files.

MozReview-Commit-ID: 4x1dfk9h2Ov

--HG--
extra : rebase_source : 7d424bbbf1d026ea67c66b743c8c43ea75185733
2017-07-06 10:14:00 -04:00
Mike Shal
29be674102 Bug 1380381 - Set rust debuginfo=1 for cross-OSX builds; r=glandium a=kwierso to reopen this CLOSED TREE
This is similar to bug 1301751, where something in rust seems to trigger errors
running dsymutil to generate debug symbols in OSX. We can set debuginfo=1 for
these builds as a temporary workaround for now, while we work on a more
permanent solution in rust and/or dsymutil. debuginfo=1 still gives us enough
info for stack traces, although without line info. debuginfo=2 would be useful
for debugging, but is irrelevant to crash reports.

MozReview-Commit-ID: DdA00GzVfWg

--HG--
extra : amend_source : 47d3573042098194a07f9b473e4a02c86a1eba7c
2017-07-13 18:49:10 -04:00
Rail Aliiev
50b3d12911 Bug 1380297 - Mac nightly repackage fails trying to read CodeName r=mshal
MozReview-Commit-ID: LauJRihWxJ0

--HG--
extra : rebase_source : 049bac5545891052fcfb20a05b589cdcba828f18
extra : source : 18d843860f83a219e8fbc70b7e6295857d1d70f0
2017-07-12 09:30:41 -04:00
Sebastian Hengst
41ec10ec9c Backed out changeset ad2fdd0912ed (bug 1347582) for breaking taskcluster jobs, or not scheduling them. r=backout on a CLOSED TREE 2017-07-12 21:45:30 +02:00
Swapnesh Kumar Sahoo
b73d585ecd Bug 1347582 - Add option to force file mode during tar creation; r=dustin
MozReview-Commit-ID: HeDq4EwAfVS

--HG--
extra : rebase_source : 027c1b9067f9d28921d18c2a2653cea4eabac46d
2017-07-12 22:59:26 +05:30
Marco Castelluccio
9c81bb27c1 Bug 1379955 - Use longest prefix match when rewriting lcov entries. r=chmanchester
--HG--
extra : rebase_source : 614fb7c1edd4b5e3a86e8e3edad53ed315f6f9df
2017-07-11 16:22:43 +02:00
Carsten "Tomcat" Book
31311070d9 merge mozilla-inbound to mozilla-central a=merge 2017-07-11 12:51:59 +02:00
Andi-Bogdan Postelnicu
139730a55e Bug 1328454 - add footer for static analysis job. r=gps
MozReview-Commit-ID: GqGSPDccHDU
2017-07-11 10:37:49 +03:00
Gregory Szorc
e0c0104c60 Bug 1379298 - Relax __eq__ for empty OptionValue; r=nalexander,rillian
The rigid type comparison added in 51a92a22d6d1 (bug 1375231) was
too rigid. This broke at least one consumer that was comparing an
empty PositiveOptionValue/NegativeOptionValue against a string.

Since comparisons against empty OptionValue are convenient and
don't violate the spirit of the type checking previously added,
this commit relaxes the type equivalence check in cases where the
OptionValue is empty.

MozReview-Commit-ID: UllTrzCjj

--HG--
extra : rebase_source : 2c41428d1be667edecdab0947d006a1a6a533569
2017-07-10 11:21:37 -07:00
Gregory Szorc
675b7da4ed Bug 1375231 - Make OptionValue.__eq__ more type aware; r=glandium
OptionValue and its derived classes are exposed to moz.configure
files. As the previous bug fix showed, it is really easy to
accidentally assume the type is a simple string value and do a
string compare against it.

To prevent this class of bugs, this commit adds additional type
awareness to OptionValue.__eq__.

We first check that the argument is a tuple (including any OptionValue
types). If not, we raise a TypeError because the comparison is
invalid. This is arguably a violation of __eq__. But since OptionValue
is exposed to the moz.configure sandbox and typing '==' will invoke
__eq__, we have to do something to prevent this foot gun.

The change also changes the comparison logic.

If we compare against a non-derived tuple instance, we do a tuple
compare. Otherwise, we fall back to the previous logic of
requiring an identical type then doing a tuple compare.

MozReview-Commit-ID: 7IVSL2Asg9j

--HG--
extra : rebase_source : edab573834da240df9ad7c2fc78c85d6159a6ef9
2017-07-06 17:53:45 -07:00
Wes Kocher
bbb26fe90e Merge inbound to central, a=merge
MozReview-Commit-ID: 2nFzji7su8C
2017-07-06 16:10:49 -07:00
Nathan Froyd
6447359f2a Bug 1378443 - add missing argument to forget_add_remove_files; r=rillian,f=jdm
Leaving off this argument makes `mach vendor rust` with large files fall
over with a Python error.  While the user still gets a semi-useful error
message prior to this failing, it would be better to not fail here at all.
2017-07-06 12:07:17 -04:00
Andrew Halberstadt
6e2032d8c4 Bug 1361972 - [mozlint] Add ability to only lint staged changes to --workdir with git r=standard8
MozReview-Commit-ID: DUxCKN2fiag

--HG--
extra : rebase_source : 11bb7808c7d0f1c02eaea93dc61723d17e921eeb
2017-06-30 18:29:31 -07:00
Wes Kocher
288405ee34 Merge inbound to m-c a=merge
MozReview-Commit-ID: LpxvieHR7VH
2017-07-05 17:10:43 -07:00
Nathan Froyd
c4db85fbe1 Bug 1378440 - part 2 - add mach cargo check; r=rillian
Cargo recently introduced the `cargo check` command for shortening the
edit-compile cycle when working on large programs.  Since we don't
really support invoking `cargo` directly, let's wire up this command to
`mach`.  Gecko developers can then `mach cargo check` to ensure their
changes typecheck.
2017-07-05 14:19:31 -04:00
Nathan Froyd
2bed06130d Bug 1377971 - part 1 - make C++ linking for Linkable ignore shared libraries; r=glandium
We have a flag set on all Linkables, cxx_link, denoting whether there's
anything being linked into them that requires C++.  We do this even when
we link against shared libraries that required C++.  But if these
libraries don't export C++ interfaces, there's no reason that the things
linking against them should require C++.  Therefore, ignore shared
libraries when making the determination of whether an object requires
C++ or not.
2017-07-05 14:05:10 -04:00
Greg Mierzwinski
1a2d6fd412 Bug 1378239 - Change mozinfo 'coverage' flag to 'ccov' to avoid ambiguity. r=ahal
This patch renames the mozinfo flag 'coverage' to 'ccov' to avoid ambiguity in whether a test is being skipped for linux64-ccov or for linux64-jsdcov. It also removes the 'runtests.py' mozinfo hack and renames all occurrences of 'coverage' that are used for skipping tests in linux64-ccov.

MozReview-Commit-ID: IF2640bDQP7

--HG--
extra : rebase_source : 614020325e30d1ca9e01aaf08479b8a4ffaec888
2017-07-04 21:18:19 -04: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
Phil Ringnalda
22cb9f77bb Merge m-c to m-i
MozReview-Commit-ID: H6zGgEm7oOM
2017-07-04 20:32:07 -07:00
Carsten "Tomcat" Book
75c2b6acd0 Merge mozilla-central to mozilla-inbound 2017-07-04 11:09:13 +02:00
Greg Mierzwinski
3daf739be1 Bug 1377876 - Disable 'test_crash.py' when running on linux64-ccov. r=whimboo
This patch adds a flag to the 'mozinfo.json' that can be used to disable tests when they are running on linux64-ccov. Then, this flag is used to prevent the marionnette test 'test_crash.py' from running on linux64-ccov.

MozReview-Commit-ID: 9IHMiZHxcMK

--HG--
extra : rebase_source : ec690cb3ffa27d3e88d2c0b8c5d510e72a5c5079
2017-06-30 16:30:59 -04:00
Andi-Bogdan Postelnicu
45a6d9565c Bug 1328454 - Add full file path to compilation database. r=glandium
MozReview-Commit-ID: 7H1HvYE9umf
2017-06-21 17:58:24 +03: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
Kartikaya Gupta
b9179e9d33 Bug 1336528 - Run cargo-vendor on all the lockfiles together. r=froydnj
MozReview-Commit-ID: BBuizrn3z5k

--HG--
extra : rebase_source : f9ab70d5edeec0e03c51cf4a75e67fc8e24ebe9b
2017-07-04 11:16:40 -04:00
Sylvestre Ledru
8fe8f9a2ae Bug 1375823 - Improve the error message when using the wrong type in ConfigEnvironment r=glandium
MozReview-Commit-ID: 1XF8jpS3i8Q

--HG--
extra : rebase_source : 8ecb169dd86f9ed2be8e48f36fa5171f3e416b2b
2017-06-23 13:58:53 +02:00
Christian Holler
b8ee76ebd8 Bug 1373256 - Changes to support -fsanitize=integer in the codebase. r=froydnj
The -fsanitize=integer analysis from UBSan can be helpful to detect signed and unsigned integer overflows in the codebase. Unfortunately, those occur very frequently, making it impossible to test anything with it without the use of a huge blacklist. This patch includes a blacklist that is broad enough to silence everything that would drain performance too much. But even with this blacklist, neither tests nor fuzzing is "clean". We can however in the future combine this with static analysis to limit ourselves to interesting places to look at, or improve the dynamic analysis to omit typical benign overflows.

It also adds another attribute that can be used on functions. It is not used right now because it was initially easier to add things to the compile-time blacklist to get started.

Finally, it includes a runtime suppression list and patches various parts in the test harnesses to support that. It is currently empty and it should not be used on frequent overflows because it is expensive. However, it has the advantage that it can be used to differentiate between signed and unsigned overflows while the compile-time blacklist cannot do that. So it can be used to e.g. silence unsigned integer overflows on a file or function while still reporting signed issues. We can also use this suppression list for any other UBSan related suppressions, should we ever want to use other features from that sanitizer.

MozReview-Commit-ID: C5ofhfJdpCS

--HG--
extra : rebase_source : 952043a441b41b2f58ec4abc51ac15fa71fc142f
2017-04-09 12:59:26 +02:00
Gabriele Svelto
f71d6d9b09 Bug 1376922 - Make mach's '--enable-crash-reporter' option work on debug builds; r=glandium
MozReview-Commit-ID: Et8452Rfh1F

--HG--
extra : rebase_source : cbfa349cbe0d7763cae8987da4e18fd4c848def4
2017-06-28 22:46:03 +02:00
Sebastian Hengst
d787a096f5 merge mozilla-central to autoland. r=merge a=merge 2017-06-29 03:21:05 +02:00
Justin Wood
acdc65c932 Bug 1376550 - Support tar.gz (mac) regeneration of complete.mar r=mshal
Support OSX Signed nightlies (in the complete.mar too)

MozReview-Commit-ID: HXiFGE14wYJ

--HG--
extra : rebase_source : 1d02b4714c8fafe6cdcd74e6d9b5612c44dcb3b4
2017-06-27 14:00:52 -07:00
Andrew Swan
e9b0926a4a Bug 1369517 Make automation work with legacy extensions disabled r=rhelmer
- Set the extensions.legacy.enabled pref for mochitests etc
- Skip a plugin-inside-xpi test for now if legacy extensions
  are force-disabled.  That test can just be removed once we
  get to 57.

MozReview-Commit-ID: As9LtkQTcTS

--HG--
extra : rebase_source : fcc84daef95c453e893cc3b98498fdb87f54b1bb
2017-06-01 21:20:08 -07:00
Carsten "Tomcat" Book
259377b6ab merge mozilla-inbound to mozilla-central a=merge 2017-06-26 13:25:51 +02:00
Marco Castelluccio
7fdfd7350d Bug 1374348 - Rewrite paths from JAR files. r=chmanchester
--HG--
extra : rebase_source : 53222218bb4f831e677c6e9727b832ee615b0679
2017-06-23 17:02:07 +01:00
Carsten "Tomcat" Book
d5969fcdf2 Backed out changeset ececd1d2c875 (bug 1374348) for bustage 2017-06-23 15:00:28 +02:00
Marco Castelluccio
37b556de07 Bug 1374348 - Rewrite paths from JAR files. r=chmanchester
--HG--
extra : rebase_source : 941a70b5e1d4dcbcd6b01c9866fb97cb3fe44435
2017-06-23 12:01:42 +01:00
Mike Hommey
35931ba727 Bug 1354581 - Add unit tests for DEVELOPER_OPTIONS. r=chmanchester
MozReview-Commit-ID: JXNICUdzWzD
2017-06-22 22:05:31 -07:00
Phil Ringnalda
d36c89dea2 Backed out changeset f1288dc02384 (bug 1354581) for test_toolkit_moz_configure.py bustage 2017-06-22 19:30:32 -07:00
Mike Hommey
7cccfe94be Bug 1354581 - Make automation builds imply --enable-release at the configure level. r=cmanchester+432261
--HG--
extra : rebase_source : b6be454ec3b6aad7a1b60905ffe65e1891d4bb22
2017-06-21 11:33:30 +09:00
Mike Hommey
da18a9b1df Bug 1354581 - Add unit tests for DEVELOPER_OPTIONS. r=cmanchester+432261
--HG--
extra : rebase_source : 4f72f6e89d1873618ddaa93c760a5765cb59496a
2017-06-21 10:55:37 +09:00
Bryce Van Dyk
6b2d7e6552 Bug 1372051 - Remove external media tests from /testing, /build, /python. r=maja_zf
MozReview-Commit-ID: 7X2kYf7HLZY

--HG--
extra : rebase_source : 09421cf96c4d214795362e0f53c51310bff0abba
2017-06-12 10:27:42 +12:00
Mike Hommey
aeeee02009 Bug 1374917 - Convert exception messages from the requests module before logging them. r=gps
--HG--
extra : rebase_source : 4fae04c80efbdb7b444578b27a346007430644e1
2017-06-21 13:53:31 +09:00
Wes Kocher
b17932664d Merge m-c to autoland, a=merge
MozReview-Commit-ID: 1dQBCh5pBY6
2017-06-22 14:21:39 -07:00
Wes Kocher
8075c09d4c Merge inbound to central, a=merge
MozReview-Commit-ID: Gk6AmaPVVbV
2017-06-22 14:01:59 -07:00
Wes Kocher
26f08e883b Backed out 2 changesets (bug 1355625) for causing bustage a=backout
Backed out changeset 0b7af9b62aff (bug 1355625)
Backed out changeset b44a1a078e64 (bug 1355625)

MozReview-Commit-ID: JRmf8nbLFPP
2017-06-22 12:05:56 -07:00
Wes Kocher
d0eddcaa44 Merge m-c to autoland a=merge
MozReview-Commit-ID: 5D2HzsGopzc
2017-06-21 18:13:41 -07:00
Carsten "Tomcat" Book
7177a36cde Merge mozilla-central to mozilla-inbound 2017-06-21 14:55:27 +02:00
Andi-Bogdan Postelnicu
c45c5298f3 Bug 1374561 - Allow to set log level in mach for every class derived from MozbuildObject. r=glandium
MozReview-Commit-ID: KpNRZuHkpFe

--HG--
extra : rebase_source : 74e28b203cd5ea0f7d06c9eaf64032a6cbe3a0e0
2017-06-20 11:31:26 +03:00
Wes Kocher
bad95c3b8d Merge m-c to autoland, a=merge
MozReview-Commit-ID: 22m0q698kw2
2017-06-20 18:33:41 -07:00
Wes Kocher
c0e1236f1a Merge autoland to m-c a=merge
MozReview-Commit-ID: LFtpTAueYrF
2017-06-20 18:24:29 -07:00
Nick Alexander
aaab10e6d3 Bug 1355625 - Part 1: Invoke aapt using py_action. r=mshal
This adds a py_action invocation wrapping aapt and implements a hacky
implementation of the Gradle build system's resource merging
algorithm; once we have the moz.build and Gradle resources identical,
we'll be one big step closer to producing bit-identical builds and
flipping the switch in favour of Gradle.  With this, the R.txt
produced by the aapt invocation is the same as the R.txt produced by
the py_action invocation.

Originally I wrote this to use GENERATED_FILES, but it produced a
world of pain.  Since Android's aapt tool is fundamentally directory
oriented, not file oriented, it required adding support for FORCE to
GENERATED_FILES and required directory crawling and FileAvoidWrite in
the wrapper.  After getting that working I was eventually stymied by
the arcane requirements of the Android re-packaging system, which
interacts with the l10n system.  I would have required support for
building GENERATED_FILES in the libs tier rather than the misc tier.
After that realization I gave up and turned to py_action: the
dependencies on branding are just too entangled with l10n to use
GENERATED_FILES.

And, in the not-so-distant future, all of this moz.build and
Makefile.in chicanery will be deleted in favour of invoking Gradle at
the appropriate points!

MozReview-Commit-ID: 4ueVNa7gzgs

--HG--
extra : rebase_source : dab092a188bc735ef819a4be0ad13387e85c87e2
extra : source : a05bd87b09ee5e4cff20fe84c2e75ac3b2a494a1
2017-06-20 15:35:48 -07:00
Kartikaya Gupta
67df6ec929 Bug 1369156 - Bump the minimum allowed version of cargo-vendor. r=froydnj
MozReview-Commit-ID: 2W7og1U8LBv

--HG--
extra : rebase_source : 2436cbb964087cd62af0787e832951ce721fc980
2017-06-20 16:04:07 -04:00
Andrew Halberstadt
af86c88b2f Bug 1369787 - [mozlint] Add a test for vcs operations, r=bc
Create a test for version control related functionality.

MozReview-Commit-ID: GXd27O69GNg

--HG--
extra : rebase_source : 56ce4a38b591fd62f05fbaed0ff05d56ec127422
2017-06-08 14:28:37 -04:00
Andrew Halberstadt
4761330083 Bug 1369787 - [mozlint] Fix up version control commands, r=standard8
The underlying commands to mozlint's vcs.py had a few problems. This:

    1. Ensures deleted files aren't considered in both hg and git
    2. Automatically determines the default remote repo and branch when using --outgoing with git
    3. Excludes metadata from output of the git command used with --outgoing
    4. Adds --cached to the git command for --workdir, which lints all staged files

MozReview-Commit-ID: EBtM3MCiCDs

--HG--
extra : rebase_source : 982b24acd81c86e383b28b8a71bcd51a041e60f4
2017-06-08 23:31:16 -04:00
Andrew Halberstadt
5fde640164 Bug 1369787 - [mozlint] Refactor vcs.py into separate classes for hg and git, r=bc
The old method had a bunch of 'if vcs == git' statements and the like. This
made it hard to follow code paths for a given vcs system. I think this refactor
makes things cleaner to read. It shouldn't be changing any functionality.

MozReview-Commit-ID: EBtM3MCiCDs

--HG--
extra : rebase_source : 9c0fda3f4f824351bae852af25bcd2240b1b1024
2017-06-08 23:31:02 -04:00
Andrew Halberstadt
91efad9d6d Bug 1369787 - [mozlint] Remove 'rev' option from |mach lint|, r=bc
The rev option is inherently broken. It does let you lint files touched by any
revision, but it doesn't update those files to that revision first.  Instead,
they get linted at whatever the working directory is and their results are
bogus. Even if we did some magic to update the files to the proper revision
with in-memory version control magic, the config files would still be out of
date.

Plus, the new --outgoing option does pretty much the only thing --rev was good
for. Rather than cause confusion, I think it's better to just remove the
option.

MozReview-Commit-ID: 2y2UnfIkvsR

--HG--
extra : rebase_source : 9b5c142270c98905d71ebb89d1620e91914c0b47
2017-06-08 22:54:00 -04:00
Chris Manchester
2ad823acd0 Bug 1371871 - Do not install unnecessary files in an artifact build. r=mshal
This prevents us from redundantly installing httpd.js and httpd.manifest
from the test package during an artifact build, which interferes with
the Tup backend's handling of these files as symlinks.

MozReview-Commit-ID: LuMurUc1P36

--HG--
extra : rebase_source : 1aabd788ff71ae28434a4076d5304f611ada5d92
2017-06-21 16:20:18 -07:00
Chris Manchester
a5c1097837 Bug 1371871 - Do not process XPIDL in the tup backend during an artifact build. r=mshal
MozReview-Commit-ID: AtnXcv6iPRD

--HG--
extra : rebase_source : f0f9699fb16c0f93c01af5fd6099b87b1855af32
2017-06-21 16:20:18 -07:00
Chris Manchester
764bbd5f7c Bug 1371871 - Do not generate or attempt to install unnecessary files in artifact builds in the Tup backend. r=mshal
MozReview-Commit-ID: B2zyhKD4gVt

--HG--
extra : rebase_source : f5d28c6b05ee15a1dcfae94f91f0b41832d34bcc
2017-06-21 16:20:18 -07:00
Chris Manchester
08b8a5b405 Bug 1319225 - Install generated FinalTargetFiles in the Tup backend. r=mshal
MozReview-Commit-ID: 8NLF11upDCn

--HG--
extra : rebase_source : b9c3d3bc25b64a72e31c3b0e739a52f2ee649b06
2017-06-21 16:19:16 -07:00
Chris Manchester
43dec7d716 Bug 1371817 - Handle FinalTargetFiles with wildcards in the Tup backend. r=mshal
MozReview-Commit-ID: KMJJ8vg7g7s

--HG--
extra : rebase_source : a96e30e8060d370f86a2ce59d8a16ef15a683187
2017-06-21 15:35:19 -07:00
byron jones
c191b98031 Bug 1361003 - Use check_call when calling "mach vendor rust". r=ted
As mozprocess doesn't have any special handling of stderr, should cargo
operations fail their output is dropped.  Switch to subprocess.check_call to
ensure cargo errors are displayed to the caller.
2017-06-22 13:52:38 +08:00
Andrew Halberstadt
4b93103061 Bug 1375166 - [mozlint] Don't require leading '.' in extensions, r=standard8
This was a regression from bug 1288432. The 'extensions' config in mozlint required a
leading period, but eslint requires them without the period (and this got copied over
to the linter definition). The result was mozlint filtering out any files (not dirs)
that were passed in.

This just modifies mozlint to strip out the period so both are acceptable.

MozReview-Commit-ID: CbNynYzrbGz

--HG--
extra : rebase_source : 51c740cb1d2febaee3ae46784f83381cda5e5eaa
2017-06-21 13:22:34 -04: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
Sylvestre Ledru
dbfe98bb2d Bug 1375593 - If cannot find ThirdPartyPaths.txt, don't break the build r=gps
MozReview-Commit-ID: KSUCct6Si2I

--HG--
extra : rebase_source : 73166eab662c97687fd51ff0d5e7f8a6a6abd87f
2017-06-23 15:42:19 +02:00
Ted Mielczarek
a1155285c8 bug 1367329 - fix error handling code in mozversioncontrol. r=gps
MozReview-Commit-ID: Bu5FA9PhxJY

--HG--
extra : rebase_source : 4aa19c087cd4f9e03f2fd385e0d0052cca9bc954
2017-06-22 12:54:25 -04:00
Andrew Halberstadt
96fe8190c2 Bug 1375834 - [mozlint] Stop printing vcs command used if command returns non-zero, r=bc
MozReview-Commit-ID: HfG5CqQDIdr

--HG--
extra : rebase_source : 062d201073a13a906e156cee6592ef5251ab39d6
2017-06-23 08:55:04 -04:00