Commit Graph

3875 Commits

Author SHA1 Message Date
assiya
d61184c99d Bug 1468328 - Make import statement Python3 compatible. r=marco
MozReview-Commit-ID: 6NPlMjT6K8J

--HG--
extra : rebase_source : 77d195514c5bee921a7086037d3738e01096c631
2018-06-14 07:32:58 -07:00
Chris Manchester
30f730a545 Bug 1319228 - Build dependentlibs.list in the tup backend, create a group for shared libraries to be used as its input. r=mshal
MozReview-Commit-ID: 5nDZpTcqVfv

--HG--
extra : rebase_source : faa44a40404b24f753ba25962397a1ca484de3fe
2018-06-13 22:33:23 -07:00
Chris Manchester
c70aa1dec3 Bug 1319228 - Link libxul in the Tup backend. r=mshal
MozReview-Commit-ID: sqCdlqP9pj

--HG--
extra : rebase_source : beb539cd174d173b745287bd659d4659f976b2b1
2018-06-13 22:33:23 -07:00
Chris Manchester
76dfb7be41 Bug 1319228 - Generate rules for rust in the Tup backend via cargo --build-plan. r=ted
MozReview-Commit-ID: FoCBN9ywIuQ

--HG--
extra : rebase_source : b6b2fdda19492dec13840223ac650507f4648f18
2018-06-13 22:33:22 -07:00
Chris Manchester
82c138c9bf Bug 1319228 - Use pass_thru=True when running config.status to expose error messages from sub-commands. r=mshal
MozReview-Commit-ID: 3eWOM6bZOmA

--HG--
extra : rebase_source : 1989de96cb0af9ae1716f31c68a0c96f446f4565
2018-06-13 22:33:22 -07:00
shindli
11cbcef059 Backed out 6 changesets (bug 1319228) for Btup bustages on Linux x64 on a CLOSED TREE
Backed out changeset 2eedbab9137b (bug 1319228)
Backed out changeset 6ba05238789f (bug 1319228)
Backed out changeset badf116dde30 (bug 1319228)
Backed out changeset a218f97e1b48 (bug 1319228)
Backed out changeset d3c835477d11 (bug 1319228)
Backed out changeset 3f3fa38b1a5f (bug 1319228)
2018-06-14 00:46:46 +03:00
Chris Manchester
25a7f13729 Bug 1319228 - Build dependentlibs.list in the tup backend, create a group for shared libraries to be used as its input. r=mshal
MozReview-Commit-ID: 3nvHaS5ZcIg

--HG--
extra : rebase_source : 4d9d4379a07eee5b7ee6ffde0e60d156c8c88333
2018-06-13 13:00:24 -07:00
Chris Manchester
bef973d8b9 Bug 1319228 - Link libxul in the Tup backend. r=mshal
MozReview-Commit-ID: AyhoaPIZJ6I

--HG--
extra : rebase_source : 494683bd65779e791e81f42b379946ea72ec902b
2018-06-13 13:00:24 -07:00
Chris Manchester
20ec9d69d8 Bug 1319228 - Generate rules for rust in the Tup backend via cargo --build-plan. r=ted
MozReview-Commit-ID: 9m0Prz3AvmC

--HG--
extra : rebase_source : f8b810036f39c056c5e312388d8238eaa1ee5d0a
2018-06-13 13:00:13 -07:00
Chris Manchester
0080bc4f66 Bug 1319228 - Use pass_thru=True when running config.status to expose error messages from sub-commands. r=mshal
MozReview-Commit-ID: DLlMAgrwHgc

--HG--
extra : rebase_source : a064a2bad9c9c2101dc2e2b64cd55535ddcd7f6d
2018-06-12 13:48:38 -07:00
Peter Simonyi
542cefeac8 Bug 1445383 - update ccache stats parser for ccache 3.4 and 3.5 r=froydnj
MozReview-Commit-ID: KTr9RhkJN5B

--HG--
extra : rebase_source : b384a7e79f2e349a29942cf85f52aa306ddaa3c8
2018-06-09 14:55:46 -04:00
Sofia Carillo
61c1056c0e Bug 1464235 - option to upload tup db r=mshal
MozReview-Commit-ID: JkzWTu0g41X

--HG--
extra : rebase_source : 1bd8c2dc9f99879ca05dade9c9471cec167f319a
2018-06-06 14:04:47 -07:00
Mike Hommey
5a727099da Bug 1467462 - Adjust test_developer_options after bug 1467041. r=froydnj
Bug 1467041 changed the default for --enable-release such that it is
affected by the milestone. Test both possible cases for milestones.

--HG--
extra : rebase_source : 5bfeadf4cd1e8c672cf78e4922ebb91bdafecad8
2018-06-08 07:11:42 +09:00
Gregory Szorc
6026d2721c Bug 1467605 - Disable processing of fetch dependencies; r=glandium
90dca0906337 accidentally broke `mach artifact toolchain --from-build`
because that code is attempting to load toolchain tasks in isolation.
The new "use_fetches" transform added to toolchain tasks requires
that "fetch" tasks are already processed and their references are
available to toolchain tasks.

This commit adds a mechanism to effectively disable the "use_fetches"
transform when called by `mach artifact toolchain`. It is a hack. I
suspect future planned work around artifacts/fetches will necessitate
additional changes to the `mach artifact toolchain` code. But this
can be deferred to a later day: this commit unbusts `mach artifact
toolchain` and isn't super hacky, so it seems more reasonable than
backing out fetch tasks completely.

Differential Revision: https://phabricator.services.mozilla.com/D1588
2018-06-07 23:05:58 +00:00
Ciure Andrei
ac7b2634a4 Backed out 1 changesets (bug 1445383) for Windows 2012 build bustages on a CLOSED TREE
Backed out changeset c4cf68b6b73f (bug 1445383)
2018-06-05 19:54:59 +03:00
Peter Simonyi
2d8ec89bb9 Bug 1445383 - update ccache stats parser for ccache 3.4 and 3.5 r=froydnj
MozReview-Commit-ID: KTr9RhkJN5B

--HG--
extra : rebase_source : 118c23aea9fd640cac6b850d5ae795a2582dd8b1
2018-06-05 00:09:13 -04:00
Nick Alexander
8bf87f6f0e Bug 1465836 - Make MOZ_AUTOMATION artifact builds pull host binaries (mar,mbsdiff). r=chmanchester
This populates $OBJDIR/dist/host/bin as part of |mach artifact install|.

Conceptually, the mar and mbsdiff utilities should be grouped (in the
same way that the test-related binaries are grouped).  However, it's
difficult to achieve that with the current structure of the code, so
this fetches mar and mbsdiff and produces $HASH-mar.processed.jar and
$HASH-mbsdiff.processed.jar files.

MozReview-Commit-ID: 3ks5xsUEKp5

--HG--
extra : rebase_source : 5fcf186decc95537cbaa90ffedb86774eab050d2
2018-05-31 11:12:26 -07:00
Andrew Halberstadt
bf87aca534 Bug 1437526 - [docs] Upgrade doc dependencies to their latest versions, r=davehunt
This upgrades sphinx to version 1.7.5, which contained a couple backwards
incompatible changes that needed fixing.

This also leaves sphinx-js at version 2.1 as upgrading that to 2.5 seems to
introduce an intermittent in the Doc task.

MozReview-Commit-ID: FRUTcXs5yzb

--HG--
extra : rebase_source : e874a2e9c637b7cec710203f75f4dd989a5681a1
2018-06-01 10:19:01 -04:00
Andreea Pavel
4ced6e8b2d Merge mozilla-central to autoland. a=merge 2018-06-03 07:27:01 +03:00
Csoregi Natalia
e2f48890e1 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-06-02 01:05:17 +03:00
Chris Manchester
17335b2c5a Bug 1444597 - Stringify exception when logging harmless errors in post-build step to avoid confusing stacktrace. r=nalexander
MozReview-Commit-ID: 6B4WCUfjESE

--HG--
extra : rebase_source : b9d753e401688375f809bcf8326582a5f39a87f2
2018-05-31 21:21:41 -07:00
Francesco Lodolo (:flod)
499ae06373 Bug 1464029 - Remove Fluent migration recipes for Firefox 60 and older r=Pike
MozReview-Commit-ID: ICRYkrW7nmy

--HG--
extra : rebase_source : 3f00d54b64787aa0b46fd4b36bdbf5453c915a06
2018-05-30 08:46:18 +02:00
Chris AtLee
8e5587759f Bug 1237182: Get rid of buildprops.json r=tomprince,sfraser
Differential Revision: https://phabricator.services.mozilla.com/D1443

--HG--
extra : rebase_source : 1683b76377e27fdaa5292e1781573ddc4e61afa8
2018-05-25 17:35:43 -04:00
Chris Manchester
dbbf582ded Bug 1462489 - Re-generate the build backend when a build backend output is missing. r=mshal
MozReview-Commit-ID: CDO3bTGB4tj

--HG--
extra : rebase_source : 9bf580435d78a5048d05f7a37d8eff76b16f6ac9
2018-05-30 15:25:22 -07:00
Chris Manchester
508b393aa6 Bug 1462489 - Put packaged test addons in the test package with the test packager rather than Makefile.in r=mshal
MozReview-Commit-ID: 56Ah9HQc9TT

--HG--
extra : rebase_source : d1af6d7c92aece08932e93e7a1f1b43a78292410
2018-05-30 15:24:09 -07:00
Chris Manchester
a5459b456c Bug 1462489 - Process some chrome manifest entries from dist/xpi-stage from the tup backend. r=mshal
MozReview-Commit-ID: 7X5Mi60j4cw

--HG--
extra : rebase_source : 8fb5220b4ac71618cde34d1b5dba504c46a4915b
2018-05-30 15:21:26 -07:00
Dave Hunt
c65268bd7a Bug 1388013 - Support running |mach python-test| against Python 3 using pipenv; r=ahal
This patch allows executing |mach python-test| against Python 3 by specifying the optional |--three| command line option. When this option is present, pipenv will be used to manage a virtual environment using Python 3 and attempt to run the tests. When it is not present, pipenv will not be used, and everything will work as it did before this patch.

My original plan was to use pipenv regardless of the target version of Python, however I encountered several issues running some of the tests against our Python packages. Once all tests have been patched to run against Python 3, then we should be able to use pipenv when running them against Python 2.

Note that this patch allows tests to run against Python 3, but there are plenty of issues preventing them from passing. With this patch in place we can start to add Python 3 support to our packages and have the tests running in CI to ensure we don't regress back to just supporting Python 2.

MozReview-Commit-ID: BuU5gZK83hL


IHG: changed taskcluster/ci/source-test/python.yml

--HG--
extra : rebase_source : ca2b15d905f7a5c895a2fd8916144841f5d205de
2018-05-03 10:34:22 +01:00
Andreea Pavel
dd5cd1d832 Backed out 3 changesets (bug 1388013) for build bustages e.g. ../python/mozbuild/mozpack/test/test_files.py on a CLOSED TREE
Backed out changeset eea857170a41 (bug 1388013)
Backed out changeset c55bfefbd4e1 (bug 1388013)
Backed out changeset 3a163da2b21b (bug 1388013)
2018-05-31 11:48:19 +03:00
Dave Hunt
18568a8c94 Bug 1388013 - Support running |mach python-test| against Python 3 using pipenv; r=ahal
This patch allows executing |mach python-test| against Python 3 by specifying the optional |--three| command line option. When this option is present, pipenv will be used to manage a virtual environment using Python 3 and attempt to run the tests. When it is not present, pipenv will not be used, and everything will work as it did before this patch.

My original plan was to use pipenv regardless of the target version of Python, however I encountered several issues running some of the tests against our Python packages. Once all tests have been patched to run against Python 3, then we should be able to use pipenv when running them against Python 2.

Note that this patch allows tests to run against Python 3, but there are plenty of issues preventing them from passing. With this patch in place we can start to add Python 3 support to our packages and have the tests running in CI to ensure we don't regress back to just supporting Python 2.

MozReview-Commit-ID: BuU5gZK83hL


IHG: changed taskcluster/ci/source-test/python.yml

--HG--
extra : rebase_source : e1a64c0ffa8fe5cce71a041579601d4a72e37779
2018-05-03 10:34:22 +01:00
Mike Hommey
81cf850f82 Bug 1253064 - Prefer Clang to GCC in local developer builds. r=gps
For Android targets, we just ignore plain clang, it's unlikely to work.

--HG--
extra : rebase_source : 2ba19ea608921acc2739055115082291bb8996f4
2018-05-31 10:16:10 +09:00
Dorel Luca
308f075972 Backed out 4 changesets (bug 1462489) for breaking mochitest on testing/mochitest/tests/python/test_basic_mochitest_plain.py
Backed out changeset 41cf0d53a95c (bug 1462489)
Backed out changeset daa33716b140 (bug 1462489)
Backed out changeset 3cd6a8ee8f66 (bug 1462489)
Backed out changeset dfed23857cea (bug 1462489)
2018-05-31 02:51:41 +03:00
Chris Manchester
1b8f9ac1a6 Bug 1462489 - Re-generate the build backend when a build backend output is missing. r=mshal
MozReview-Commit-ID: CDO3bTGB4tj

--HG--
extra : rebase_source : dfbd0e6bc3fa9bcdbd96de38e85e38dc945275bc
2018-05-30 15:25:22 -07:00
Chris Manchester
adac97a0fe Bug 1462489 - Put packaged test addons in the test package with the test packager rather than Makefile.in r=mshal
MozReview-Commit-ID: 56Ah9HQc9TT

--HG--
extra : rebase_source : cc74b4e385cc98036d24e120732cf4c30e73f962
2018-05-30 15:24:09 -07:00
Chris Manchester
37d56be9a8 Bug 1462489 - Process some chrome manifest entries from dist/xpi-stage from the tup backend. r=mshal
MozReview-Commit-ID: 7X5Mi60j4cw

--HG--
extra : rebase_source : 8fb5220b4ac71618cde34d1b5dba504c46a4915b
2018-05-30 15:21:26 -07:00
byron jones
af12ec3053 Bug 1454868: create mach vendor manifest --verify r=gps
Creates a standard library for working with moz.yaml files, and adds a `mach
vendor manifest --verify` command that loads and verifies manifest schema.

The list of permitted licenses is one I derived from about:license, pending an
authoritative list from legal.

Differential Revision: https://phabricator.services.mozilla.com/D1208
2018-05-26 00:00:27 +00:00
Mike Hommey
8b091c97fd Bug 1464522 - Count static initializers from the crash reporter symbol files. r=froydnj
The crash reporter symbol files are the easiest cross-platform way to
find static initializers. While some types of static initializers (e.g.
__attribute__(constructor) functions) don't appear there in a notable
way, the static initializers we do care the most about for tracking do
(static initializers from C++ globals). As a matter of fact, there is
only a difference of 2 compared to the currently reported count of 125
on a linux64 build, so this is a good enough approximation. And allows
us to easily track the count on Android, OSX and Windows builds, which
we currently don't do.

The tricky part is that the symbol files are in
dist/crashreporter-symbols/$lib/$fileid/$lib.sym, and $fileid is hard to
figure out. There is a `fileid` tool in testing/tools, but it is a
target binary, meaning it's not available on cross builds (OSX,
Android).

So the simplest is just to gather the data while creating the symbol
files, which unfortunately requires to go through some hoops to make it
happen for just the files we care about.

--HG--
extra : rebase_source : 458fed1ffd6f9294eefef61f10ff7a284af0d986
2018-05-29 08:48:47 +09:00
Chris Manchester
82729d6f6e Bug 1464954 - Print buildstatus messages when building in the top source directory. r=gps
MozReview-Commit-ID: F28u8k2Z24f

--HG--
extra : rebase_source : bcf77bdcfb37c5a43261e773d9b444c5844ae4d8
2018-05-29 15:23:39 -07:00
Kris Maglione
9b633c92ac Bug 1457321: Part 4 - Update built-in add-ons manifst during l10n repack. r=ted f=pike
This is slightly ugly, but is unfortunately necessary due to do the nature of
l10n repacks. Hopefully this can go away once we move to bundling lancpack
add-ons rather than repacking in the future.

MozReview-Commit-ID: JZUblVsEbZI

--HG--
extra : rebase_source : 60c9ced2184a52f52c7f2a8820021b14b1a66abf
2018-05-08 01:04:01 -07:00
Kris Maglione
e2fecdd542 Bug 1457321: Part 2 - Add dictionaries to omnijar. r=ted
MozReview-Commit-ID: 4zqD8Di7Imb

--HG--
extra : rebase_source : 2fdf8d1429ed1de6c86fc9dc880af2aadcc2b84b
2018-04-27 15:43:38 -07:00
Nick Alexander
72a9479310 Bug 1464128 - Migrate bookmarks.html.in to LOCALIZED_GENERATED_FILES. r=ted.mielczarek
This one looks to be pretty straight-forward.  It irritates me that
the jar.mn entry doesn't explicitly say that the result is coming from
the object directory, like

locale/browser/bookmarks.html (!bookmarks.html)

but that's for another day.

MozReview-Commit-ID: Cw8E0VJhSxv

--HG--
extra : rebase_source : a1045a5b564b0094b562729bc7234e69ec7a786d
2018-05-24 11:28:47 -07:00
Nick Alexander
4b45f41d0e Bug 1440435 - Remove final remnant of Java JAR building from Makefiles. r=ted
MozReview-Commit-ID: 2IrNI8a15Jh

--HG--
extra : rebase_source : 30a29c163de24128e367469fb68f3f207229a7b0
2018-05-18 11:23:00 -07:00
Dave Hunt
6e1c508542 Bug 1346026 - Unvendor pathlib2 as it is no longer a dependency for pipenv; r=ted
MozReview-Commit-ID: EYQqIDuu5p

--HG--
extra : rebase_source : 4cfa71a95bf333e99aec32431c8db5113bfa6cb4
2018-05-10 09:52:37 +01:00
Dave Hunt
5152485bdc Bug 1346026 - Add ability to vendor Python modules using mach; r=ahal,erik,ted
To vendor a Python package, run ``mach vendor python [PACKAGE]``, where
``[PACKAGE]`` is one or more package names along with a version number in the
format ``pytest==3.5.1``. The package will be installed, transient dependencies
will be determined, and a ``requirements.txt`` file will be generated with the
full list of dependencies. The requirements file is then used with ``pip`` to
download and extract the source distributions of all packages into the
``third_party/python`` directory.

If you're familiar with ``Pipfile`` you can also directly modify this in the in
the top source directory and then run ``mach vendor python`` for your changes
to take effect. This allows advanced options such as specifying alternative
package indexed (see below), and
`PEP 508 specifiers <https://www.python.org/dev/peps/pep-0508/>`_.§

MozReview-Commit-ID: CRWoFamUy7V

--HG--
extra : rebase_source : e71ab6ecc74a168faa9df7cc4c2273cd8bf9e0d2
2018-05-09 16:11:40 +01:00
Dorel Luca
d6a248d5cd Backed out 3 changesets (bug 1346026) for Bugzilla linting
Backed out changeset 95410b5cdecc (bug 1346026)
Backed out changeset 705e8cb185d4 (bug 1346026)
Backed out changeset f293475f462d (bug 1346026)
2018-05-23 19:42:13 +03:00
Dave Hunt
5c137d2989 Bug 1346026 - Unvendor pathlib2 as it is no longer a dependency for pipenv; r=ted
MozReview-Commit-ID: EYQqIDuu5p

--HG--
extra : rebase_source : 956148b1ff1fab4b12442206afa501523445d46d
2018-05-10 09:52:37 +01:00
Dave Hunt
4f9d65989d Bug 1346026 - Add ability to vendor Python modules using mach; r=ahal,erik,ted
To vendor a Python package, run ``mach vendor python [PACKAGE]``, where
``[PACKAGE]`` is one or more package names along with a version number in the
format ``pytest==3.5.1``. The package will be installed, transient dependencies
will be determined, and a ``requirements.txt`` file will be generated with the
full list of dependencies. The requirements file is then used with ``pip`` to
download and extract the source distributions of all packages into the
``third_party/python`` directory.

If you're familiar with ``Pipfile`` you can also directly modify this in the in
the top source directory and then run ``mach vendor python`` for your changes
to take effect. This allows advanced options such as specifying alternative
package indexed (see below), and
`PEP 508 specifiers <https://www.python.org/dev/peps/pep-0508/>`_.§

MozReview-Commit-ID: CRWoFamUy7V

--HG--
extra : rebase_source : e71ab6ecc74a168faa9df7cc4c2273cd8bf9e0d2
2018-05-09 16:11:40 +01:00
Mike Hommey
5c6ce84a4c Bug 1464084 - Don't export std:🧵:_M_start_thread symbols with --enable-stdcxx-compat. r=froydnj
This relies on the fact that providing multiple --version-script
combines them all, so we effectively create a new symbol version
that has no global symbol, but hides the std:🧵:_M_start_thread
symbols.

This version script trick happens to work with BFD ld, gold, and lld.

The downside is that when providing multiple --version-script's, ld
doesn't want any of them to have no version at all. So for the libraries
that do already have a version script (through SYMBOLS_FILE), we use a
version where there used to be none, using the library name as the
version. Practically speaking, this binds the libraries a little closer
than they used to be, kind of non-flat namespace on OSX (which is the
default there), meaning the dynamic linker will actively want to use
symbols from those libraries instead of a system library that might
happen to have the same symbol name.

--HG--
extra : rebase_source : a7f672c35609d993849385ddb874ba791b34f929
2018-06-01 08:10:25 +09:00
Gurzau Raul
7e4f5e7dc6 Backed out changeset 838c0ab9cbdb (bug 1464084) for Linux static bustage on a CLOSED TREE 2018-06-02 02:42:52 +03:00
Mike Hommey
3a629b5eac Bug 1466054 - Enable STL wrapping in gn and gyp processed code. r=froydnj
We wrap STL headers so as to ensure our inline infallible operator new
definitions are used, but for some reason, STL wrappers were disabled
in whatever code we used gyp for first, and that ended up spreading as
more things used gyp, and now with gn, whose handling cargo culted
STL disabling from the gyp code.

We remove all this disabling, because it turns out it causes no build
problem anymore.

--HG--
extra : rebase_source : 0dd5dc3dbf613a519db74072ebda04d05ea1214c
2018-06-01 17:20:51 +09:00
Mike Hommey
cc7ff037ab Bug 1464084 - Don't export libstdc++ symbols with --enable-stdcxx-compat. r=froydnj
This relies on the fact that providing multiple --version-script
combines them all, so we effectively create a new symbol version
that has no global symbol, but hides as much std::* stuff as possible.

The added symbol script could use `extern "C++"` syntax and demangled
symbols but there is no guarantee the demangled symbols won't change.
Plus, it's not possible to match demangled symbols that have a return
type: they contain a space, and the only way to match that is to use
double quotes, which doesn't allow globs at the same time.

This version script trick happens to work with BFD ld, gold, and lld.

The downside is that when providing multiple --version-script's, ld
doesn't want any of them to have no version at all. So for the libraries
that do already have a version script (through SYMBOLS_FILE), we use a
version where there used to be none, using the library name as the
version. Practically speaking, this binds the libraries a little closer
than they used to be, kind of non-flat namespace on OSX (which is the
default there), meaning the dynamic linker will actively want to use
symbols from those libraries instead of a system library that might
happen to have the same symbol name.

--HG--
extra : rebase_source : 78adb64b90e75ebad203b8a647b305c9d7198d16
2018-06-01 08:10:25 +09:00