A refactoring in bug 995108 inadvertently disabled background add-on updates by
moving the timer handler to AddonManagerPrivate without fixing the values the
method uses to point to meaningful locations.
Prior to this patch, a Man in the Middle (MITM) attack on SSL could cause GMPInstallManager to fail during the check for updates, which in turn would cause a crash during shutdown. This was observed in the wild by users of recent versions of Avast, which performs such attacks on SSL as part of its "HTTPS scanning" feature. With this patch, errors are handled more gracefully. The attack still prevents any update (including the install of OpenH264) but at least it does not cause a crash anymore.
We modify the environment before running freetype2 configure. When it uses
the same cache file, it stores knowledge about that environment in the cache
file. The cache file is then reused to configure in js/src, with yet again a
different environment, which makes subconfigure.py clear the cache because
of the differences.
The configure in js/src is however invoked with the same environment as the
main configure was invoked with (mostly), so without freetype2 on the way,
reusing the cache for it works as expected. In fact, it works better with the
cache because of things coming from mozconfig that are not exported.
With freetype2 on the way, as mentioned above, the cache is cleared. Without
the cache, js/src/configure does new detections with a possibly different
environment, and stores that in the cache. Until the next build, which then
uses that different cache for the top-level configure.
This results in subtle differences in the HOST_CC/HOST_CXX variables on
android builds because those variables are not exported from mozconfig,
depending on PATH, what the builder was building before, and if the build
is a clobber.
Avoiding the freetype2 subconfigure writing its environment variables change
to the top-level cache makes the cache never invalidate for js/src.
$topsrcdir/gcc/bin was mistakenly added in bug 971841, but is not provided by
anything the tooltool manifest for android builds pulls. It however is a path
that /may/ exist in the source tree when the slave ran a linux build before.
When it does exist, the meaning of non-path-prefixed commands change,
influencing what particular compiler is used in some cases.
========
https://hg.mozilla.org/integration/gaia-central/rev/8a69414eaca6
Author: KWierso <kwierso@gmail.com>
Desc: Revert "Merge pull request #25420 from gaye/bug-821604" for Gu test failures
This reverts commit 3b98c6a903e79ea16a51832fa4be23f817ab5829, reversing
changes made to 4ee0a68bc71b00808313b21ebd7c3b6a60e98d14.
There are, sadly, many combinations of linkage in use throughout the tree.
The main differentiator, though, is between program/libraries related to
Gecko or not. Kind of. Some need mozglue, some don't. Some need dependent
linkage, some standalone.
Anyways, these new templates remove the need to manually define the
right dependencies against xpcomglue, nspr, mozalloc and mozglue
in most cases.
Places that build programs and were resetting MOZ_GLUE_PROGRAM_LDFLAGS
or that build libraries and were resetting MOZ_GLUE_LDFLAGS can now
just not use those Gecko-specific templates.
This hack has actually not been actively used since sqlite, nss and nspr are
all folded together, because no shared library is actually linked in
db/sqlite3/src.