Closed Bug 674352 Opened 9 years ago Closed 9 years ago
Precompile startup cache for Thunderbird
+++ This bug was initially created as a clone of Bug #655678 +++ From bug 655678 comment 2: > The seamonkey and thunderbird folks should be interested, too. (with the > patch, you only need to add GENERATE_CACHE=1 before including packager.mk to > benefit from startupcache, if you're omnijar'ed)
When I do this, make installer fails adding: greprefs.js (172 bytes security) (deflated 74%) can't open ../../../toolkit/mozapps/installer/precompile_cache.js: No such file or directory -e:1: ReferenceError: populate_startupcache is not defined If I had to guess as to the cause, I'd say it was because we put the mozilla tree under the source directory, so the correct path would be: ../../mozilla/toolkit/mozapps/installer/precompile_cache.js I'll see if we can control this somehow in our Makefile.
I'm going to try this change to packager.mk to see if it fixes the issue: diff --git a/toolkit/mozapps/installer/packager.mk b/toolkit/mozapps/installer/p ackager.mk --- a/toolkit/mozapps/installer/packager.mk +++ b/toolkit/mozapps/installer/packager.mk @@ -386,17 +386,17 @@ ifdef MOZ_OMNIJAR ifdef GENERATE_CACHE ifneq (1_,$(if $(CROSS_COMPILE),1,0)_$(UNIVERSAL_BINARY)) ifdef RUN_TEST_PROGRAM _ABS_RUN_TEST_PROGRAM = $(call core_abspath,$(RUN_TEST_PROGRAM)) endif GENERATE_CACHE = \ - $(_ABS_RUN_TEST_PROGRAM) $(LIBXUL_DIST)/bin/xpcshell$(BIN_SUFFIX) -g "$$PWD" -a "$$PWD" -f $(topsrcdir)/toolkit/mozapps/installer/precompile_cache.js -e 'pop ulate_startupcache("omni.jar", "startupCache.zip");' && \ + $(_ABS_RUN_TEST_PROGRAM) $(LIBXUL_DIST)/bin/xpcshell$(BIN_SUFFIX) -g "$$PWD" -a "$$PWD" -f $(MOZILLA_DIR)/toolkit/mozapps/installer/precompile_cache.js -e 'p opulate_startupcache("omni.jar", "startupCache.zip");' && \ rm -rf jsloader && \ $(UNZIP) startupCache.zip && \ rm startupCache.zip && \ $(ZIP) -r9m omni.jar jsloader endif endif GENERATE_CACHE ?= true
Yeah, MOZILLA_DIR is what we'll need there.
sadly, that didn't help: adding: greprefs.js (172 bytes security) (deflated 74%) can't open ../../../mozilla/toolkit/mozapps/installer/precompile_cache.js: No su ch file or directory -e:1: ReferenceError: populate_startupcache is not defined make: *** [make-package] Error 3 make: Leaving directory `/c/builds/tbirdrel/objdir-tb/mail/installer' make: *** [all] Error 2 /c/builds/tbirdrel/objdir-tb/mail/installer $ ls ../../../mozilla/toolkit/mozapps/installer/precompile_cache.js ../../../mozilla/toolkit/mozapps/installer/precompile_cache.js which is weird, because the path did change, and does seem to contain the file.
MOZILLA_SRCDIR produced the same error.
The issue is as follows, as best I can tell from looking at the make output. The packaging is run from <objdir>/mozilla/dist/thunderbird, i.e., cd ../../mozilla/dist && (cd thunderbird MOZILLA_SRCDIR is set to ../../../mozilla which is not the mozilla src dir, but rather the mozilla sub-dir of the objdir, in the Thunderbird build system. && rm -f omni.jar components/binary.man ifest && grep -h '^binary-component' components/*.manifest > binary.manifest ; f or m in components/*.manifest; do sed -e 's/^binary-component/#binary-component/ ' $m > tmp.manifest && mv tmp.manifest $m; done; zip -r9m omni.jar chrome chrome .manifest components/*.js components/*.xpt components/*.manifest modules res def aults greprefs.js jsloader -x defaults/messenger/mailViews.dat chrome/icons/\* defaults/pref/channel-prefs.js res/cursors/\* res/MainMenu.nib/\* && c:/builds /tbirdrel/objdir-tb/mozilla/dist/bin/xpcshell.exe -g "$PWD" -a "$PWD" -f ../../. ./mozilla/toolkit/mozapps/installer/precompile_cache.js -e 'populate_startupcach e("omni.jar", "startupCache.zip");' && rm -rf jsloader && unzip startupCache.zip && rm startupCache.zip && zip -r9m omni.jar jsloader && c:/mozilla-build/python I'm not sure why MOZILLA_SRCDIR is wrong for me, but I'll poke at it some more. I suspect it's because we're running the packaging from an unexpected directory, as far as our building the installer is concerned.
My mozconfig was specifying an objdir - once I took that out, I didn't see the build errors anymore. I'll push to try a patch with just the package change and see if that works.
Thunderbird needs this in order to be able to precompile the startup cache. MOZILLA_SRCDIR is not topdir for Thunderbird builds. Firefox should be OK with this change, but I'm trying it as well.
Assignee: nobody → dbienvenu
Attachment #550448 - Flags: review?(khuey)
the prev moz-central patch seemed to break firefox's build of the installer. This one seems to work for both ffox and tb, though I'm not sure what the difference between MOZILLA_DIR and MOZILLA_SRCDIR is.
Comment on attachment 550523 [details] [diff] [review] fix that seems to work for ffox and tb Ah MOZILLA_SRCDIR is a comm-central only thing, so MOZILLA_DIR is the right thing to use.
Comment on attachment 550523 [details] [diff] [review] fix that seems to work for ffox and tb r=me
Attachment #550523 - Flags: review?(khuey) → review+
Comment on attachment 550523 [details] [diff] [review] fix that seems to work for ffox and tb Checked into mozilla-inbound: http://hg.mozilla.org/integration/mozilla-inbound/rev/1762d5d119fb
Attachment #550450 - Flags: review?(mbanner) → review+
fixed on trunk - http://hg.mozilla.org/comm-central/rev/e1ae2ddb930c Kyle, thx for your help. I'm not sure if we've done the merge or not, so I've set the TFV to 9...
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → Thunderbird 9.0
This made the merge on mozilla-central. I wasn't sure whether or not there was more to do here on the c-c side so I left it open.
(In reply to Kyle Huey [:khuey] (email@example.com) from comment #16) > This made the merge on mozilla-central. I wasn't sure whether or not there > was more to do here on the c-c side so I left it open. You did the right thing - I was referring to the c-c part of the work, which I just landed.
Target Milestone: Thunderbird 9.0 → Thunderbird 8.0
You need to log in before you can comment on or make changes to this bug.