Convert resetProfile.dtd to resetProfile.ftl. Modify dependencies for resetProfile.xul, safeMode.xul, aboutSupport.xhtml.
Differential Revision: https://phabricator.services.mozilla.com/D17416
--HG--
extra : moz-landing-system : lando
Sometimes we want to store state that only applies to a particular srcdir, but
there isn't a standard directory where this lives. Let's add an argument to
'get_state_dir()' to provide an "official" place.
The new API to get the local state dir is 'get_state_dir(srcdir=True)'. Like
the global state dir, this directory is not guaranteed to exist. A reference to
this value can also be obtained via 'self._mach_context.local_state_dir' from
within a mach command (in this case it will be created automatically if it
doesn't exist).
Note: we should probably just make sure both exist at mach startup, but it felt
outside the scope of this change.
Differential Revision: https://phabricator.services.mozilla.com/D15724
--HG--
extra : moz-landing-system : lando
mozboot.util.get_state_dir() returns a tuple of (<path>, <bool). The bool
denotes whether or not the state dir came from an environment variable.
But this value is only used in a single place, and is very easy to test for
anyway. It's not worth the added complexity it imposes on all other consumers
of this function. Let's just make this function return the path.
Differential Revision: https://phabricator.services.mozilla.com/D15723
--HG--
extra : moz-landing-system : lando
Also use armv7a as the default when no target is given at all.
Also change bootstrap to create a simpler mozconfig. The downside is
that the resulting mozconfig would not work when building older
revisions.
Add unit tests for this as well as the simplications added in bug
1523341.
Differential Revision: https://phabricator.services.mozilla.com/D17906
--HG--
extra : moz-landing-system : lando
I always forget to run clang-format before-hand. This allows me to run it on a
particular commit of my tree where the formatting doesn't match the canonical
one.
Differential Revision: https://phabricator.services.mozilla.com/D17955
--HG--
extra : moz-landing-system : lando
We can't run dump_syms without the DIA SDK binary directory in $PATH
because dump_syms requires the DIA dll from there.
Obviously, the corresponding test can't run if the DIA SDK binary
directory is not known (rather than when the dia2.h header is not found,
since the build system currently relies on WIN_DIA_SDK_BIN_DIR being
given manually).
Differential Revision: https://phabricator.services.mozilla.com/D17892
--HG--
extra : moz-landing-system : lando
In fact, "simply" use whatever python configure does to find a shell to
execute config.guess and config.sub, and get both the mozconfig content
and the real, canonicalized target alias. This has the side effect of
making builds with --target=$cpu use a complete obj-$cpu-$os default
objdir instead of obj-$cpu. This will also allow to change the
host-guessing logic without having to duplicate code.
Differential Revision: https://phabricator.services.mozilla.com/D17618
--HG--
extra : moz-landing-system : lando
android.test.* is no longer part of the main framework, so as per
https://developer.android.com/training/testing/set-up-project,
- we must no longer declare them as a *required* dependency in our manifests
- we must explicitly include a dependency on them in our build config
This will temporarily break running tests depending on android.test.* (i.e.
mainly Robocop) on devices using P or newer until we also start targeting P as
well.
Differential Revision: https://phabricator.services.mozilla.com/D16422
--HG--
extra : moz-landing-system : lando
We reject MSVC compilers < 2017 already, there's no point checking for
smaller versions after that.
Differential Revision: https://phabricator.services.mozilla.com/D17770
--HG--
extra : moz-landing-system : lando
First step in moving Thunderbird mozharness unittest configurations out of
M-C. This merges the comm/mozharness directory into the mozharness test
archive's mozharness/configs/ so that the comm config files can be accessed
later by desktop_unittest.py. This inclusion is conditional and will only happen
when building Thunderbird; there are no changes to the mozharness.zip file when
building Firefox.
Differential Revision: https://phabricator.services.mozilla.com/D16374
--HG--
extra : moz-landing-system : lando
***
bug 1517519 - fixed syntactical errors, r?flob r?gijs r?jaws
***
Fixed line endings (CRLF to LF). Fixed changed Placeholder to data-l10n-id. Added: ', Part {index}.' to migration script.
***
Fixed indentation & removed some testing text :)
***
removed part of doctype & fixed line breaks
Differential Revision: https://phabricator.services.mozilla.com/D16789
--HG--
extra : moz-landing-system : lando
The only use in configure itself is for a MSVC version check that is now
always true (we don't accept versions < 19.15 anymore).
The only uses in the build system are in code that could just use
CC_TYPE instead.
Differential Revision: https://phabricator.services.mozilla.com/D17207
--HG--
extra : moz-landing-system : lando
The only use in configure itself is for a MSVC version check that is now
always true (we don't accept versions < 19.15 anymore).
The only uses in the build system are in code that could just use
CC_TYPE instead.
Differential Revision: https://phabricator.services.mozilla.com/D17207
--HG--
extra : moz-landing-system : lando
All directories are part of the langpack that is being merged in, but
when the langpack includes the english dictionary, it is not handled
at the same time as other dictionaries, because it is also part of the
original application.
Instead of trying to catch all places where a dictionary might be added
to the final repack, we wrap the formatter so that it tracks all of them
wherever they're added from, and updates the built_in_addons.json file
accordingly.
Differential Revision: https://phabricator.services.mozilla.com/D16785
--HG--
extra : moz-landing-system : lando
Make option(..., when='--foo') equivalent to
option(..., when=depends('--foo')(lambda x: x)).
Differential Revision: https://phabricator.services.mozilla.com/D16795
--HG--
extra : moz-landing-system : lando
We're seeing all sorts of problems with the NDK toolchain compilers
and the various versions of the NDK. In automation we build with r17b
and our own toolchain clang; let's try to standardize on that.
This patch is ugly because of the evolution of mozboot. Long ago, we
passed arguments around and interpolated strings into function names
rather than setting members with the application name and whether
we're in artifact mode. The places I needed to modify didn't have the
right data at the right time so I added it to the bootstrap instance.
I don't have the time or energy to use the instance variables
through-out: that'll have to be future follow-up.
Differential Revision: https://phabricator.services.mozilla.com/D16138
--HG--
extra : moz-landing-system : lando
What is happening is that distribution JRE and JDK packages roll
forward, installing a different version of Java than what is expected.
We don't check the version installed, so sadness ensues.
Right now, we require Java 1.8 to build, but in the near future, after
Android-Gradle plugin 3.2.1+, we'll be free to use later Java
versions.
However, Android's `sdkmanager` itself requires exactly Java 1.8. We
only require `sdkmanager` to install `emulator`, really -- everything
else will be fetched by Gradle -- but I don't want to unravel that
right now.
So let's just provide decent error messages and try to prevent the
worst of the footguns.
Differential Revision: https://phabricator.services.mozilla.com/D16137
--HG--
extra : moz-landing-system : lando
This is part of the larger shift toward GeckoView and away from
Firefox for Android. We need GV to "show up" in these kind of
onboarding tools; here's a small first step.
Differential Revision: https://phabricator.services.mozilla.com/D16136
--HG--
extra : moz-landing-system : lando
That way we avoid massive rebuilds due to errors that are recoverable and that
would make the file generation succeed with the same contents as before.
Differential Revision: https://phabricator.services.mozilla.com/D16858
--HG--
extra : moz-landing-system : lando
Because the sandbox has its own environment from which it initializes,
os.environ should reflect that in the sandbox. And the few obvious
things that use os.environ too, i.e. subprocess.*.
Depends on D16667
Differential Revision: https://phabricator.services.mozilla.com/D16668
--HG--
extra : moz-landing-system : lando
This change simply moves a check for the "no debugger found" situation out
of a conditional so it will catch more cases.
Differential Revision: https://phabricator.services.mozilla.com/D16476
--HG--
extra : moz-landing-system : lando
This fixes an issue from bug 1518586.
It stemmed from the fact that I misunderstood how the 'parser' attribute
was being used in mach commands and didn't do enough testing. This patch
fixes things such that we check that 'parser' is not None, as well as
add the completion targets from 'handler.arguments'.
Differential Revision: https://phabricator.services.mozilla.com/D16501
--HG--
extra : moz-landing-system : lando
When doing cross-compiles for Desktop, system pkg-config is going to be
looking for .pc files for the host, but systems setup for cross-compiles
come with a toolchain-prefixed pkg-config, which we should be looking
for.
Differential Revision: https://phabricator.services.mozilla.com/D16318
--HG--
extra : moz-landing-system : lando
Since we're calling into a mach command for the current completion
implementation anyway (and incurring python startup penalties), we
might as well move all the bash logic into the mach command.
The new 'mach-completion' command was created in case there are
scripts relying on the current behaviour of 'mach-commands'.
Depends on D16254
Differential Revision: https://phabricator.services.mozilla.com/D16255
--HG--
extra : moz-landing-system : lando
I was looking for a good place to put documentation for enabling the
bash completion script when I realized that the 'mach' documentation
is targeted at tool developers rather than users.
Seeing as this is the main 'mach' documentation and we want to make
'firefox-source-docs' the place to go for contribution information,
we should endeavour to target end users with this documentation.
This adds a very basic usage page which should be expanded upon, but
is better than nothing.
I changed the headers in 'index.rst' to use raw:: html so that they
don't show up in the nav bar to the left (and subsequently block the
*actually important* things from appearing).
Differential Revision: https://phabricator.services.mozilla.com/D16254
--HG--
extra : moz-landing-system : lando
This disables NSS_ALLOW_SSLKEYLOGFILE in beta in release in order to avoid shutdown hangs until the NSS project has time to fix the root cause of the issue.
--HG--
extra : rebase_source : 51c84d4841308d283f993a7fda576031d7c4f449
It turns out that Python's `datetime.isoformat` method will leave off the
fractional component of seconds if it would be all zeroes, but the voluptuous
`Datetime` validator wants it to be present, so it's possible to hit an error
if you run mach at exactly an integer second.
This patch switches from `isoformat` to `strftime` with an explicit format
string instead.
Differential Revision: https://phabricator.services.mozilla.com/D15981
--HG--
extra : moz-landing-system : lando
This only affects the compiler version in the build system; not the
version reported by the compiler.
--HG--
extra : histedit_source : 37fc1a2090d872ca5e95d022e9f93b620b2d8dbb
This aggregates a list of all static component manifests in the tree, and
writes them out to a `manifests-lists.json` file, which is read by the codegen
scripts in the next patch.
It slightly abuses the IDL lists machinery, given that these aren't
technically IDL files. But the semantics are similar enough that it seemed
like the best option.
Differential Revision: https://phabricator.services.mozilla.com/D15034
--HG--
extra : rebase_source : f1e1e1c9497ab8c18c25a106316a1af57237b99f
extra : source : f500020a273a27c66bf2166505a0e97bbc34a214
All that is really required for this ticket is to invoke |mach android
archive-geckoview| after |mach package| in the right place.
But it's actively unhelpful to have this magic in mozharness --
especially since the documentation in `locales.rst` is subtly
incorrect (the environment variables and Make variables don't quite
work as written). So this commit adds a Mach command to do the actual
work and replaces most of the mozharness magic with that command.
Since the l10n Make targets check out the l10n HG repositories
locally, this basically Just Works without the mozharness checkout
steps when developing locally.
Differential Revision: https://phabricator.services.mozilla.com/D12455
--HG--
extra : moz-landing-system : lando
When running `mach help`, mozconfig is loaded multiple times, and even
with an almost empty mozconfig, this makes mach help take close to 10
seconds on my Windows machine.
With some memoization, the time to run mach help gets down to 2s.
Differential Revision: https://phabricator.services.mozilla.com/D15186
--HG--
extra : moz-landing-system : lando
There are multiple fixes contained in this patch:
- fixes for Android/mobile support
- adding extra strings to the ftl file that were never defined before, and previously the ID was just printed to the page
- update test_l10n.py to not rely on about:support anymore
- changing Troubleshoot.jsm to return and ID and args for the strings that should be displayed, so it is compatible with the Fluent API
- misc. fixes so strings that are not localized don't go through the Fluent codepath
Differential Revision: https://phabricator.services.mozilla.com/D15437
--HG--
extra : moz-landing-system : lando
We remove --disable-libjpeg-turbo because that's only useful when Yasm
is too old, and the required version is now almost 8 years old, so we
can reasonably require people to upgrade rather than workaround with a
--disable option.
The valid_yasm_version function can seem overkill, but that's because
future moves of other things to python configure will pile up.
Differential Revision: https://phabricator.services.mozilla.com/D15184
--HG--
extra : moz-landing-system : lando
Now that we're not even building host static libraries, we don't need
variables for the tools used to build them.
Ironically, we weren't even running HOST_RANLIB.
Depends on D15172
Differential Revision: https://phabricator.services.mozilla.com/D15173
--HG--
extra : moz-landing-system : lando
The build system has skipped creating target static libraries for very
long, except in very specific cases.
We can actually do the same for host static libraries, for which we
don't even need the escape hatch to still allow to create static
libraries.
Depends on D15171
Differential Revision: https://phabricator.services.mozilla.com/D15172
--HG--
extra : moz-landing-system : lando
It turns out all the changes related to --help linting in lint.py make
them unnecessary, and we still can detect missing --help arguments
without them, per test_lint.py. On the flip side, keeping those
need_help_dependency arguments makes some functions executed twice
because some memoized functions end up being called for both cases
need_help_dependency=True and need_help_dependency=False.
Differential Revision: https://phabricator.services.mozilla.com/D15054
--HG--
extra : moz-landing-system : lando
When running `mach help`, mozconfig is loaded multiple times, and even
with an almost empty mozconfig, this makes mach help take close to 10
seconds on my Windows machine.
With some memoization, the time to run mach help gets down to 2s.
Differential Revision: https://phabricator.services.mozilla.com/D15186
--HG--
extra : moz-landing-system : lando
Fixing this unveils an issue in TestRecursiveMake::test_linkage that
was happening locally but not on automation, due to the Binary()
template never being invoked on automation.
Differential Revision: https://phabricator.services.mozilla.com/D15162
--HG--
extra : moz-landing-system : lando
We only need to quote strings that would be treated specially by the
shell, and "foo~bar" doesn't get any sort of expansion, while "~foo"
gets a user expansion, and to avoid that expansion, those latter strings
need to be quoted, but not the former.
Differential Revision: https://phabricator.services.mozilla.com/D15065
--HG--
extra : moz-landing-system : lando
We only need to quote strings that would be treated specially by the
shell, and "foo~bar" doesn't get any sort of expansion, while "~foo"
gets a user expansion, and to avoid that expansion, those latter strings
need to be quoted, but not the former.
Differential Revision: https://phabricator.services.mozilla.com/D15065
--HG--
extra : moz-landing-system : lando
XZ supports rewritting addresses in executable code, which is architechture
specific. The updater is compiled with support for the target architecture
only, so we can't always compress updates passing `--x86` to XZ. This threads
the architecture through to the repackage steps, so we can pass the appropraite
flags to the update packaging scripts.
Differential Revision: https://phabricator.services.mozilla.com/D14601
--HG--
extra : moz-landing-system : lando
This was always an accident of history: we forced export tier without
avoiding it in the libs tier.
Differential Revision: https://phabricator.services.mozilla.com/D14893
--HG--
extra : moz-landing-system : lando
Eventually, workers will provide these variables directly
(https://bugzilla.mozilla.org/show_bug.cgi?id=1460015). But for now, this
ensures that TASKCLUSTER_ROOT_URL is set everywhere, and TASKCLUSTER_PROXY_URL
is set wherever the proxy is active.
The setup for the mach commands defaults to https://taskcluster.net for user
convenience. When the production instance's URL changes, we can simply change
that default.
This changes the docker build process to propagate TASKCLUSTER_ROOT_URL into
the docker images, and for good measure includes some code to use that value to
generate debian repo paths.
Differential Revision: https://phabricator.services.mozilla.com/D14196
--HG--
extra : moz-landing-system : lando
The build system no longer invokes these directly: they're all fetched
and invoked by Gradle and its plugins.
Differential Revision: https://phabricator.services.mozilla.com/D14287
--HG--
extra : moz-landing-system : lando
_imports is cleared of functions at runtime, and that can cause
the `func in self._imports` test to return False in cases where the
function *does* have imports.
Make the lint track which functions has imports on its own.
This fortunately didn't cause mistakes not being caught by the lint in
the current python configure code, but causes problems with upcoming
changes.
Depends on D14124
Differential Revision: https://phabricator.services.mozilla.com/D14125
--HG--
extra : moz-landing-system : lando
1) Creates a temp directory
2) Copy the files
3) Run clang-format on then
4) Diff the files
Differential Revision: https://phabricator.services.mozilla.com/D13708
--HG--
extra : moz-landing-system : lando
The following python-test paths are being moved out of 'make check' and into their own task:
- python/mozlint
- testing/mozbase
- tools/lint
The following python-test paths previously did not run on Windows:
- python/mozterm
- testing/marionette
- testing/raptor
- tools/tryselect
Differential Revision: https://phabricator.services.mozilla.com/D10759
--HG--
extra : moz-landing-system : lando