commit ec0b55bdfb638c63f30116b19583456632ad708d Author: Chris AtLee catlee@mozilla.com Date: Tue Apr 4 09:26:25 2017 -0400
Bug 1351071: Get rid of pre-generated startup cache r=glandium
MozReview-Commit-ID: BcWcqEKwGBv
--HG-- extra : rebase_source : 4bd21805a89359a5a2ed7ffd2ee2b76cf1e9e634 --- python/mozbuild/mozpack/packager/formats.py | 7 +- python/mozbuild/mozpack/packager/unpack.py | 8 +-- .../mozbuild/mozpack/test/test_packager_formats.py | 2 - toolkit/mozapps/installer/packager.py | 74 ---------------------- 4 files changed, 3 insertions(+), 88 deletions(-)
diff --git a/python/mozbuild/mozpack/packager/formats.py b/python/mozbuild/mozpack/packager/formats.py index c4adaba..be5fafe 100644 --- a/python/mozbuild/mozpack/packager/formats.py +++ b/python/mozbuild/mozpack/packager/formats.py @@ -23,11 +23,6 @@ from mozpack.copier import ( Jarrer, )
-STARTUP_CACHE_PATHS = [ - 'jsloader', - 'jssubloader', -] - ''' Formatters are classes receiving packaging instructions and creating the appropriate package layout. @@ -321,4 +316,4 @@ class OmniJarSubFormatter(PiecemealFormatter): 'greprefs.js', 'hyphenation', 'update.locale', - ] or path[0] in STARTUP_CACHE_PATHS + ] diff --git a/python/mozbuild/mozpack/packager/unpack.py b/python/mozbuild/mozpack/packager/unpack.py index fa2b474..3f6633e 100644 --- a/python/mozbuild/mozpack/packager/unpack.py +++ b/python/mozbuild/mozpack/packager/unpack.py @@ -23,10 +23,7 @@ from mozpack.copier import ( FileCopier, ) from mozpack.packager import SimplePackager -from mozpack.packager.formats import ( - FlatFormatter, - STARTUP_CACHE_PATHS, -) +from mozpack.packager.formats import FlatFormatter from urlparse import urlparse
@@ -188,8 +185,7 @@ def unpack_to_registry(source, registry): finder = UnpackFinder(source) packager = SimplePackager(FlatFormatter(registry)) for p, f in finder.find('*'): - if mozpath.split(p)[0] not in STARTUP_CACHE_PATHS: - packager.add(p, f) + packager.add(p, f) packager.close()
diff --git a/python/mozbuild/mozpack/test/test_packager_formats.py b/python/mozbuild/mozpack/test/test_packager_formats.py index 1af4336..ca141b0 100644 --- a/python/mozbuild/mozpack/test/test_packager_formats.py +++ b/python/mozbuild/mozpack/test/test_packager_formats.py @@ -408,8 +408,6 @@ class TestFormatters(unittest.TestCase): self.assertTrue(is_resource(base, 'greprefs.js')) self.assertTrue(is_resource(base, 'hyphenation/foo')) self.assertTrue(is_resource(base, 'update.locale')) - self.assertTrue( - is_resource(base, 'jsloader/resource/gre/modules/foo.jsm')) self.assertFalse(is_resource(base, 'foo')) self.assertFalse(is_resource(base, 'foo/bar/greprefs.js')) self.assertTrue(is_resource(base, 'defaults/messenger/foo.dat')) diff --git a/toolkit/mozapps/installer/packager.py b/toolkit/mozapps/installer/packager.py index f2dc3fa..1a1b335 100644 --- a/toolkit/mozapps/installer/packager.py +++ b/toolkit/mozapps/installer/packager.py @@ -30,7 +30,6 @@ from argparse import ArgumentParser import os from StringIO import StringIO import subprocess -import platform import mozinfo
# List of libraries to shlibsign. @@ -125,60 +124,6 @@ class LibSignFile(File): errors.fatal('Error while signing %s' % self.path)
-def precompile_cache(registry, source_path, gre_path, app_path): - ''' - Create startup cache for the given application directory, using the - given GRE path. - - registry is a FileRegistry-like instance where to add the startup cache. - - source_path is the base path of the package. - - gre_path is the GRE path, relative to source_path. - - app_path is the application path, relative to source_path. - Startup cache for all resources under resource://app/ are generated, - except when gre_path == app_path, in which case it's under - resource://gre/. - ''' - from tempfile import mkstemp - source_path = os.path.abspath(source_path) - if app_path != gre_path: - resource = 'app' - else: - resource = 'gre' - app_path = os.path.join(source_path, app_path) - gre_path = os.path.join(source_path, gre_path) - - fd, cache = mkstemp('.zip') - os.close(fd) - os.remove(cache) - - try: - extra_env = {'MOZ_STARTUP_CACHE': cache} - if buildconfig.substs.get('MOZ_TSAN'): - extra_env['TSAN_OPTIONS'] = 'report_bugs=0' - if buildconfig.substs.get('MOZ_ASAN'): - extra_env['ASAN_OPTIONS'] = 'detect_leaks=0' - if launcher.launch(['xpcshell', '-g', gre_path, '-a', app_path, - '-f', os.path.join(os.path.dirname(__file__), - 'precompile_cache.js'), - '-e', 'precompile_startupcache("resource://%s/");' - % resource], - extra_linker_path=gre_path, - extra_env=extra_env): - errors.fatal('Error while running startup cache precompilation') - return - from mozpack.mozjar import JarReader - jar = JarReader(cache) - resource = '/resource/%s/' % resource - for f in jar: - if resource in f.filename: - path = f.filename[f.filename.index(resource) + len(resource):] - if registry.contains(path): - registry.add(f.filename, GeneratedFile(f.read())) - jar.close() - finally: - if os.path.exists(cache): - os.remove(cache) - - class RemovedFiles(GeneratedFile): ''' File class for removed-files. Is used as a preprocessor parser. @@ -389,25 +334,6 @@ def main(): if key in log: f.preload(log[key])
- # Fill startup cache - if isinstance(formatter, OmniJarFormatter) and launcher.can_launch() \ - and buildconfig.substs['MOZ_DISABLE_STARTUPCACHE'] != '1': - gre_path = None - def get_bases(): - for b in sink.packager.get_bases(addons=False): - for p in (mozpath.join('bin', b), b): - if os.path.exists(os.path.join(args.source, p)): - yield p - break - for base in sorted(get_bases()): - if not gre_path: - gre_path = base - omnijar_path = mozpath.join(sink.normalize_path(base), - buildconfig.substs['OMNIJAR_NAME']) - if formatter.contains(omnijar_path): - precompile_cache(formatter.copier[omnijar_path], - args.source, gre_path, base) - copier.copy(args.destination)
tbb-commits@lists.torproject.org