Commit Graph

1477 Commits

Author SHA1 Message Date
Peter Moore
a0f898fc22 Bug 1194767 - use slugid 1.0.6 in ./mach taskcluster-graph command. r=wcosta
This included adding the slugid 1.0.6 python source code in /python since slugid
is now a dependency of the ./mach taskcluster-graph command, as well us updating
references that used it. Previously the implementation was in-tree.
2015-09-04 17:59:34 +02:00
Gregory Szorc
6155e3a3bf 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)
2015-09-04 10:37:29 -07:00
Nick Alexander
595c486984 Bug 1137898 - Migrate to android:versionCode scheme v1. r=rnewman,snorp
Android version codes serve multiple masters.  They indicate newer
versions, yes; but they also break ties between versions with
different features and requirements. High order bits effectively
partition the space of versions and are valuable.  Since Android
version codes are signed Java integers, we have 31 bits to work with.
Mozilla's traditional build ID is YYYYMMDDhhmmss.  This was chopped to
ten characters (YYYYMMDDhh, i.e., hourly build IDs) and then converted
to a decimal.  This took many high order bits.  We will lose another
high order bit in the 36th month of 2015 -- i.e., as soon as the year
rolls over to 2016.  If we waited to lose the next higher order bit,
we'd lose that one in the 46th month of 2017 -- i.e., as soon as the
year rolls over to 2018.

The following patch sacrifices a high order bit to change the version
scheme, winning us roughly 15 years of hourly build IDs before we are
forced to lose another high order bit.  So it's clearly to our
advantage to change the scheme sooner rather than later -- we will
sacrifice 1 bit for 15 years of build IDs, rather than keeping the
current scheme and sacrificing (say) 2 bits for 3 years of build IDs.

The resulting scheme produces build IDs that look like (in binary):

0111 1000 0010 tttt tttt tttt tttt txpg

The meaning of these build IDs is documented in the Python source code
that generates them.
2015-08-26 18:34:48 -07:00
Geoff Brown
8b60b03872 Bug 1164596 - Add mach android-emulator command; r=ahal 2015-09-01 15:07:53 -06:00
Nicholas Nethercote
69d088e45f Bug 1198334 (part 1) - Replace the opt-in FAIL_ON_WARNINGS with the opt-out ALLOW_COMPILER_WARNINGS. r=glandium.
The patch removes 455 occurrences of FAIL_ON_WARNINGS from moz.build files, and
adds 78 instances of ALLOW_COMPILER_WARNINGS. About half of those 78 are in
code we control and which should be removable with a little effort.
2015-08-27 20:44:53 -07:00
Xidorn Quan
da613e7a51 Bug 1188468 - Allow script to force updating a generated file even if the file is actually not changed. r=gps 2015-08-25 10:07:43 +10:00
Birunthan Mohanathas
ab28403e15 Bug 1197527 - Consolidate obtaining hg path into mozversioncontrol.get_hg_path; r=gps
DONTBUILD
2015-08-24 14:37:42 -04:00
Philipp Kewisch
a7a20ee2cb Bug 1167986 - TEST-UNEXPECTED-FAIL | xpcshell-unpack.ini:toolkit/mozapps/extensions/test/xpcshell/test_signed_install.js (and signing failures). r=gps 2015-08-23 11:54:44 +02:00
Wes Kocher
671839131e Merge m-c to inbound, a=merge 2015-08-20 12:51:40 -07:00
Wes Kocher
76933589ec Merge inbound to central, a=merge 2015-08-20 12:42:21 -07:00
Joel Maher
0c66b1092d Bug 1196253 - update in-tree psutil to 3.1.1. r=gps 2015-08-20 08:03:31 -04:00
Wes Kocher
ea542eee34 Merge m-c to fx-team, a=merge CLOSED TREE 2015-08-19 17:13:38 -07:00
Nick Alexander
eeabccdb7e Bug 1195388 - Part 2: Add ANDROID_EXTRA_{PACKAGES,RES_DIRS} moz.build variables. r=gps
This moves a little bit more of mobile/android/base/Makefile.in into
moz.build, and gets closer to moving that aapt invocation into
java-build.mk.

There are no other extra package consumers in the tree.  (There should
be a new one shortly: b2gdroid.)
2015-08-14 18:13:11 -07:00
Nick Alexander
8f3534dd41 Bug 1195388 - Part 1: Make ANDROID_APK_{NAME,PACKAGE} moz.build variables. r=gps
This paves the way for defining additional Android packages in
moz.build, which is a step toward moving the special
mobile/android/base/Makefile.in aapt invocations into the generic
java-build.mk framework.

The new variables are both passthru variables for now: in the future,
we'll roll them into some aggregate Android APK definition.

It's worth noting that references to the variables in Makefile.in
files are only defined after including rules.mk (and thereby
backend.mk).  This only required a few changes in the tree but it
confused me for some time.
2015-08-19 12:34:58 -07:00
Andrew Halberstadt
4ab90a9fb9 Bug 1194415 - Refactor BuildProgressFooter.draw() for minor |mach build| perf improvement, r=gps
Over a 19 minute build, |mach build| was spending ~45s drawing the TIER footer. This brings it down to ~30s.
2015-08-13 14:08:12 -04:00
Niels De Graef
2da80d5c36 Bug 1195182 - Fixed broken AUR link for uuid; r=gps
DONTBUILD (NPOTB)
2015-08-18 09:26:37 -07:00
Aaron Raimist
fd49c03b1e Bug 1171783 - Fix bootstrap.py by using DNF instead of Yum if possible; r=mshal
DONTBUILD (NPOTB)
2015-08-19 12:56:22 -07:00
David Keeler
7640a01369 bug 1190603 - import PyECC library r=gps,gerv
Obtained from https://github.com/amintos/PyECC.git
(commit 1bfd3a41410c3650e57d58f7bd016bb0819af250)
2015-08-03 15:17:00 -07:00
Nathan Froyd
f39bd2711a Bug 1186444 - part 2 - remove MODULE_OPTIMIZE_FLAGS from config.mk; r=mshal 2015-07-22 11:17:49 -04:00
Andrew Halberstadt
c7d9eb66ec Bug 1184696 - Add clobber targets to |mach clobber|; Ability to clobber compiled python files, r=gps
This change adds a 'what' parameter to |mach clobber| which facilitates clobbering other things as well.
E.g, |mach clobber python| now clobbers all .pyc and .pyo files in the tree. Multiple clobber targets can
be specified, e.g |mach clobber objdir python|. By default |mach clobber| without arguments will only
remove the currently active objdir, the same as before.
2015-07-20 14:38:18 -04:00
Ryan VanderMeulen
c94aa4172e Merge fx-team to m-c. a=merge 2015-08-13 11:00:54 -04:00
Nick Alexander
2cb62bed1d Bug 1160563 - Part 2: Make ANDROID_ASSETS_DIRS a moz.build variable. r=gps
We have had singular ANDROID_ASSETS_DIR in Makefile.in for a while.
Fennec itself does not use the existing Makefile.in Android code, for
complicated historical reasons.

This makes the existing variable moz.build-only; generalizes the
existing variable to an ordered list; and adds the equivalent use of
the new list to the Fennec build, with a simple example asset.

This patch also updates the packager to include assets packed into the
gecko.ap_.  Without the packager change, the assets/ directory in the
ap_ gets left out of the final apk.  This whole approach is totally
non-standard but is more or less required to support our single-locale
repack scheme.
2015-08-12 11:04:03 -07:00
Nick Alexander
c2c01b0bb8 Bug 1160563 - Part 1: Make ANDROID_RES_DIRS a moz.build variable. r=gps
This patch does a few things.  First, it adds an AbsolutePath data
type, sibling to SourcePath and ObjDirPath.  (Existing Path consumers
that accept an open set of Path subtypes, and that only use full_path,
should function fine with the new AbsolutePath subtype.)

Second, it moves ANDROID_RES_DIRS to a moz.build list of Paths
(ordered).  We test, but don't use in tree, the new AbsolutePath.
2015-08-12 11:03:44 -07:00
Eric Rahm
ed6cd3b261 Bug 1193914 - Properly check ide type when deciding whether or not to package. r=benwa 2015-08-12 13:59:05 -07:00
Ted Mielczarek
a988d7175d bug 1164816 - Import concurrent.futures into the tree. r=gps 2015-05-12 14:52:06 -04:00
Ted Mielczarek
601251747c bug 1190522 - Rewrite pkg-dmg as a Python script. r=gps 2015-08-03 15:40:04 -04:00
Kyle Huey
b0c9371d90 No bug: Make ./mach clobber work on windows without winrm.exe. r=me 2015-08-11 06:10:46 -07:00
James Graham
5c592b6f8e Bug 1192315 - Support remainder arguments from predefined parsers in mach, r=gps
Mach has special handling for remainder arguments which previously
only worked with the decoration form. Extend this to also work when
a command passes in an explict parser
2015-08-07 18:13:05 +01:00
Allison Naaktgeboren
8189b1a226 Bug 1125280 Part 1 build- Different suggestedsite tiles on first run for kidfox.r=gps 2015-08-07 21:40:41 -07:00
Mike Hommey
9d01dd0c38 Bug 1181040 - Set ${var}_IS_SET variables for mk_add_options-defined variables. r=gps
It is useful to be able, during mozconfig execution, to do tests depending
on what was previously added with mk_add_options. Specifically, there is a
need to do this for MOZ_PGO because developers pushing to try may add it to
mozconfig.common.override.

While, ideally, it would be nice if we just defined the variable itself in
the mozconfig execution environment, that is a tedious task, having to jump
through hoops with eval, and handle all cases of variable assigment properly.

The hacky alternative is to just treat MOZ_PGO specially, but meh.

So instead, we set a ${var}_IS_SET variable to 1, indicating that a
mk_add_options defined ${var} to some value.
2015-08-07 06:51:52 +09:00
Mike Hommey
736747c427 Bug 1191575 - Optimize the RecursiveMakeBackend._check_blacklisted_variables test. r=gps
Bug 1153566 changed the regexp used in that method in such a way that there
has been a big hit in the time spent executing the make backend. On my machine,
with the current code, mach build-backend indicates:
  Backend executed in 5.01s
With the change from bug 1153566 reverted:
  Backend executed in 2.97s
That's a significant regression for a 4-character change.
But we can actually avoid using regexp in most cases, which can make things faster
than they were. With this change, we get down to:
  Backend executed in 2.28s
For reference, making the _check_blacklisted_variables method do nothing at all
ends with:
  Backend executed in 2.20s
2015-08-07 06:51:44 +09:00
Ryan VanderMeulen
64e8cd0fdb Backed out revision bca1ad6cc378 (bug 1190522) for breaking OSX B2G Desktop builds. 2015-08-06 15:43:45 -04:00
Ted Mielczarek
f4167f27a1 bug 1190522 - Rewrite pkg-dmg as a Python script. r=gps 2015-08-03 15:40:04 -04:00
Ted Mielczarek
415ad8450f bug 1191598 - Pass MOZ_CURRENT_PROJECT in environment when running post-build automation steps for universal mac builds. r=gps 2015-08-05 12:11:24 -04:00
Chris Manchester
802d1bc0a9 Bug 1183232 - Allow selecting tests and suites with just a tag from mach try. r=ahal,gps 2015-08-06 10:19:31 -07:00
Carsten "Tomcat" Book
0a07f63219 Merge mozilla-central to mozilla-inbound 2015-08-05 13:19:38 +02:00
Nick Alexander
bae9d3ddfb Bug 1191051 - Use full 40 character hashes in |mach artifact|. r=gps
DONTBUILD NPOTB on a CLOSED TREE
2015-08-04 13:32:00 -07:00
Mike Hommey
bfb376779f Bug 1188224 - Remove stale .pyc files from the source directory at import time. r=gps 2015-08-05 15:45:45 +09:00
Mike Hommey
2c18035129 Backed out changeset 684252f11061 (bug 1188224) for make check bustage. 2015-08-05 13:50:11 +09:00
Mike Hommey
243d18beaf Bug 1188224 - Remove stale .pyc files from the source directory at import time. r=gps 2015-08-05 11:17:03 +09:00
Nick Alexander
ea4353b988 Bug 1189459 - Allow generating geckoview AAR files when MOZ_APP_NAME is not 'fennec'. r=gps
This just allows a little versatility for consumers such as b2gdroid,
which are Fennec-like but don't have MOZ_APP_NAME=fennec.

I elected to pass appname as a parameter rather than modify the
existing distdir because I expect to want to differentiate, in some
way, the output AAR files based on the underlying name.  That is, in
future we might generate geckoview-fennec-VERSION.aar and
geckolibs-b2gdroid-VERSION.aar, or stuff the name into the Ivy version
information, or...

This also fixes a typo in one of the JarFinder instantiations.
2015-07-30 11:50:44 -07:00
Dustin J. Mitchell
fb855bf450 Bug 1188551: treat assertion failures as bad mozconfig; r=mshal 2015-07-29 14:14:05 -04:00
Vladimir Vukicevic
b8e7a478bb Bug 1157420, mach should generate VS2013 project files and use a better dir structure; r=froydnj 2015-07-20 16:21:15 -04:00
Mike Hommey
484986b581 Bug 1187245 - Make .mozconfig.mk environment variables available to mach valgrind-test. r=gps 2015-07-28 08:19:14 +09:00
Mitchell Field
aaf8252b07 Bug 1126228 - Directory (--directory) argument for |mach warnings-list| and |mach warnings-summary|. r=gps 2015-01-27 21:13:28 +11:00
Mike Hommey
1c0e5b0085 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
Mike Hommey
3deb2dd11b Bug 1185671 - Use BytesIO instead of StringIO as backing store for FileAvoidWrite, and handle writing unicode to it explicitly. r=gps 2015-07-23 09:37:33 +09:00
Ben Hearsum
3a2d55b1aa bug 1185530: mach boostrap should ensure that gnutar is installed. r=gps 2015-07-20 14:26:58 -04:00
Supradeep T R
67ed26c2a3 Bug 1184780 - Use command help instead of main help; r=gps 2015-07-17 13:42:12 -07:00
Gregory Szorc
68cb3dd2c3 Bug 1184030 - Avoid implicit unicode <-> str conversion; r=smacleod
CalledProcessError.output and subprocess.check_output's return value
are str types. This file uses unicode_literals. If we do something
like `if 'foo' in e.output`, there will be a mix of str and unicode
types and Python will do implicit conversion. If the strings aren't
ASCII, we'll likely encounter a UnicodeDecodeError.

Use b'' literals around all strings to prevent this coercion from
occurring.
2015-07-17 11:25:49 -07:00