Closed Bug 503469 Opened 16 years ago Closed 16 years ago

Support packaging WinCE Firefox builds as zip, complete.mar

Categories

(Firefox Build System :: General, defect)

x86
Windows CE
defect
Not set
normal

Tracking

(status1.9.2 beta1-fixed)

VERIFIED FIXED
mozilla1.9.3a1
Tracking Status
status1.9.2 --- beta1-fixed

People

(Reporter: nthomas, Assigned: nthomas)

References

Details

(Whiteboard: [nv])

Attachments

(3 files, 3 obsolete files)

Need to be able to create dist/firefox from dist/bin, then use that to create the cab, zip and complete.mar files for nightly builds.
Blocks: 485109
Attached patch WIP - gets as far as a zip (obsolete) — Splinter Review
This expands some ifdef conditions from just WINNT to WINNT and WINCE, and includes the WinCE specific file in windows/packages-static. There are several warnings about missing files (eg mozcrt19.dll, crashreporter.*, softokn3.chk, freebl3.dll) that need looking at and confirming as OK. Others are expected, eg missing updater.*, AccessibleMarshall.dll, from --disable's in the mozconfig. Example build, http://staging-stage.build.mozilla.org/pub/mozilla.org/firefox/tinderbox-builds/mozilla-central-wince/1247199251/ on MPT-VPN. That location has a fairly short life, 1 day I think. This doesn't do anything towards creating a cab file. I had a shot at borrowing http://hg.mozilla.org/mobile-browser/file/tip/installer/Makefile.in#l115 with tweaks but hit issues, mostly because it's tangled in browser/installer/windows/Makefile.in. Ted ! Help !
Whiteboard: [nv]
There's a couple of extra Makefile changes here, relaxing OS_ARCH tests to include WINCE so that we get xpt files named correctly (and hence getting picked up by the manifest during make package). Remaining warnings on 'make package' are: bin/defaults/existing-profile-defaults.js - OK, we hit this on win32 too bin/uninstall/helper.exe - OK, no installer bin/mozcrt19.dll - in libxul, not built ? bin/plugins/npnul32.dll - ? bin/AccessibleMarshal.dll - OK, accessibility disabled in mozconfig(and the next two) bin/components/accessibility.xpt bin/components/accessibility-msaa.xpt bin/components/layout_printing.xpt - ? bin/components/migration.xpt - ? bin/components/proxyObject.xpt - ? bin/components/browserdirprovider.dll - ? bin/softokn3.chk - ? bin/freebl3.chk - ? bin/nssdbm3.dll - ? bin/crashreporter.exe - OK, disabled in mozconfig (and the next two) bin/crashreporter.ini bin/crashreporter-override.ini
Attachment #387827 - Attachment is obsolete: true
Attachment #388838 - Flags: review?(ted.mielczarek)
Attachment #388838 - Attachment is patch: true
Attachment #388838 - Attachment mime type: application/octet-stream → text/plain
mozcrt19.dll is jemalloc, only around #ifdef MOZ_MEMORY
Updated manifest checks: bin/defaults/existing-profile-defaults.js - OK, we hit this on win32 too bin/uninstall/helper.exe - from --disable-installer in mozconfig bin/mozcrt19.dll - MOZ_MEMORY is defined, but WinCE folds jemalloc into mozce_shunt.dll - packages-static adjusted in this patch bin/plugins/npnul32.dll - Not built because of $(OS_ARCH) == WINNT test at http://mxr.mozilla.org/mozilla-central/source/modules/plugin/Makefile.in#63 Do we want the default plugin anyway ? bin/AccessibleMarshal.dll bin/components/accessibility.xpt bin/components/accessibility-msaa.xpt - --disable-accessibility in mozconfig bin/components/layout_printing.xpt - from --disable-printing in mozconfig bin/components/migration.xpt - explicitly disabled for WinCE at http://mxr.mozilla.org/mozilla-central/source/browser/components/Makefile.in#76, packages-static updated here bin/components/proxyObject.xpt - from http://mxr.mozilla.org/mozilla-central/source/xpcom/proxy/public/Makefile.in#46 - adjusted in this patch bin/components/browserdirprovider.dll - from http://mxr.mozilla.org/mozilla-central/source/browser/components/dirprovider/Makefile.in#47 - updated in this patch bin/softokn3.chk - bin/freebl3.chk - both from http://mxr.mozilla.org/mozilla-central/source/toolkit/mozapps/installer/packager.mk#184 - we seem to disable the chk files when cross compiling. Do we need them ? bin/nssdbm3.dll - from --disable-dbm in mozconfig bin/crashreporter.exe bin/crashreporter.ini bin/crashreporter-override.ini - "#define MOZ_CRASHREPORTER 1" is missing from mozilla-config.h, from http://mxr.mozilla.org/mozilla-central/source/configure.in#5716, ie not a supported platform, packages-static updated for this Also adds .NOTPARALLEL to build/wince/shunt/Makefile.in because I was hitting spurious errors about missing vs90.pdb when using make -j4.
Assignee: nobody → nthomas
Attachment #388838 - Attachment is obsolete: true
Status: NEW → ASSIGNED
Attachment #391048 - Flags: review?(ted.mielczarek)
Attachment #388838 - Flags: review?(ted.mielczarek)
Comment on attachment 391048 [details] [diff] [review] Fix or suppress a bunch more packaging warnings Oops, I wasn't going to set r? until I had a chance to test the resulting build on a device, and verify that the other platforms weren't regressed with a try build.
Attachment #391048 - Flags: review?(ted.mielczarek)
Summary: Support packaging WinCE Firefox builds as zip, cab, complete.mar → Support packaging WinCE Firefox builds as zip, complete.mar
This is a slight tweak on attachment 391048 [details] [diff] [review], correcting the test for packaging the crashreporter (which the try server caught). Unit tests were all green. The Makefile.in changes to XPIDL_MODULE affect WinMo too.
Attachment #391048 - Attachment is obsolete: true
Attachment #391278 - Flags: review?(ted.mielczarek)
Comment on attachment 391278 [details] [diff] [review] Package crashreporter on desktop builds [Checkin: Comment 11] +#ifndef WINCE ; [Crash Reporter] bin\crashreporter.exe bin\crashreporter.ini bin\crashreporter-override.ini +#endif I'd rather this was ifdef MOZ_CRASHREPORTER, since we will probably eventually ship Breakpad on wince. diff --git a/toolkit/mozapps/installer/packager.mk b/toolkit/mozapps/installer/packager.mk Have you verified that the changes to packager.mk don't break packaging of Windows Mobile builds? I'm particularly worried about adding the INSTALLER_DIR bits there. Looks fine otherwise.
Attachment #391278 - Flags: review?(ted.mielczarek) → review+
(In reply to comment #7) > (From update of attachment 391278 [details] [diff] [review]) >> +#ifndef WINCE >> ; [Crash Reporter] > I'd rather this was ifdef MOZ_CRASHREPORTER, since we will probably eventually > ship Breakpad on wince. I'll fix this on checkin. > diff --git a/toolkit/mozapps/installer/packager.mk > b/toolkit/mozapps/installer/packager.mk > > Have you verified that the changes to packager.mk don't break packaging of > Windows Mobile builds? I'm particularly worried about adding the INSTALLER_DIR > bits there. I ran the patch + fix from above through the try server and compared the logs from WinMo's 'make package' and 'make installer' to another try server run, and to the main mozilla-central builds. The only difference appears to be the order in which files are copied out of dist/bin. I also checked that the fennec and xulrunner zip files contain the same set of files; can't really do that for the cab since of the semi-random way the files get renamed. Anything else I could do to put your mind at rest ?
Might just get someone to try installing the cab you produced on a WinMo device or emulator and ensure that it works, I think that would fully satisfy me.
Aki reports that the try server WinMo build runs fine, and the file list is the same as the regular builds.
Status: ASSIGNED → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
I've hit this bogus vc90.pdb error in the other build/wince sub-directory now: e:/builds/slave/mozilla-central-wince-nightly/build/build/wince/tools/arm-wince-res.c : fatal error C1033: cannot open program database 'e:\builds\slave\mozilla-central-wince-nightly\build\obj-firefox\build\wince\tools\vc90.pdb' Google hits imply this is mspdbsrv's fault, and the workaround is to disable parallel builds. Since we build the rest of the tree -j4 normally I'm hoping this will be enough.
Attachment #394251 - Flags: review?(ted.mielczarek)
Attachment #394251 - Flags: review?(ted.mielczarek) → review+
The branding dirs copy splash.bmp into dist/bin ifdef on MOZ_SPLASHSCREEN, so this just adds it to the packaging list on the same condition. That var defaults to undefined so this is safe for desktop Firefox. The only thing I don't follow is how the WinMo builds are getting splash.bmp now, as it appears they're using the stage-package from toolkit's packager.mk.
Attachment #395026 - Flags: review?(ted.mielczarek)
Attachment #395026 - Flags: review?(ted.mielczarek) → review+
Mass change: adding fixed1.9.2 keyword (This bug was identified as a mozilla1.9.2 blocker which was fixed before the mozilla-1.9.2 repository was branched (August 13th, 2009) as per this query: http://is.gd/2ydcb - if this bug is not actually fixed on mozilla1.9.2, please remove the keyword. Apologies for the bugspam)
Keywords: fixed1.9.2
Blocks: 534664
Target Milestone: --- → mozilla1.9.3a1
Attachment #395026 - Attachment description: Package splash.bmp if MOZ_SPLASHSCREEN is defined → Package splash.bmp if MOZ_SPLASHSCREEN is defined [Checkin: Comment 15]
Attachment #394251 - Attachment description: Disable parallel make in build/wince/tools too → Disable parallel make in build/wince/tools too [Checkin: Comment 13]
Attachment #391278 - Attachment description: Package crashreporter on desktop builds → Package crashreporter on desktop builds [Checkin: Comment 11]
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: