Penelope Developer Page: Difference between revisions

Jump to navigation Jump to search
Added section on building installers
m (Removed some Qualcomm-specific stuff)
(Added section on building installers)
Line 193: Line 193:


or set the MAKEFLAGS environment variable to be <code>-w</code>.
or set the MAKEFLAGS environment variable to be <code>-w</code>.
== Building Installers ==
Once you're done building the application, you also have the option of building the installer.  Instructions are [http://developer.mozilla.org/en/docs/Build_and_Install#Installing_Your_Build here], but they basically just say to cd in to <code>''MOZ_OBJDIR''/mail/installer</code>, and do a <code>make</code> from there (or <code>make install</code> for Windows).  Also for Windows, the instructions note there are some extra tools needed to build the self-extracting installer.  For Mac universal binary builds, do the make from <code>''MOZ_OBJDIR''/ppc/mail/installer</code>.  After building it, the Windows installer can be found in <code>''MOZ_OBJDIR''/dist/install/sea/</code>.  The Mac disk image will be in <code>''MOZ_OBJDIR''/ppc/dist/</code>.
=== Customizing Mac Disk Images ===
The Mac installer is a disk image.  When you open it, it mounts a volume that holds the application.  It first shows a license agreement (EULA) and requires the user to agree to the license before proceeding.  It then shows a folder containing the application, and the user needs to drag the application to the Applications folder in order to install it.  The appearance of that folder is controlled by the <code>.DS_Store</code> file in the folder, just like all folders in the Finder.  <code>.DS_Store</code> holds the window position and size, the size of icons, the arrangement of the files in the folder, the background image, and other properties.  To modify these properties you just have to modify the <code>.DS_Store</code> file.
There are some [http://jwz.livejournal.com/608927.html web sites] out there that mention you can create a dummy disk image, muck with the folder window in it, and the save the resulting <code>.DS_Store</code> file to reuse in another disk image.  Turns out that for compatibility on other machines this doesn't always work.  Evidently the Finder can create <code>.DS_Store</code> files that will not work when moved to a different machine.
What the Mozilla platform uses is a <code>.DS_Store</code> file that was edited by hand and known to be compatible.  This file is named <code>dsstore</code> and is kept along with the branding.  The build process for the disk image copies <code>$(DIST)/branding/dsstore</code> in to the disk image as <code>.DS_Store</code>.
Mark Mentovai is the developer who came up with the Mozilla disk image process, and he reverse-engineered the <code>.DS_Store</code> file format to a fairly complete degree.  His notes for that can be found [[DS_Store File Format|here]].  It's very helpful for figuring out where to make manual changes in the <code>dsstore</code> file.
The path changes so that it looks for the background image in the Eudora volume rather than the Thunderbird volume have already been made, so won't need to be done again.  Note that if you want to change the background image all you have to do is check in a new background.png file, and no changes to the <code>dsstore</code> file will be necessary.  The most likely changes someone will need to make to the <code>dsstore</code> file in the future will be to window size and/or location.
145

edits

Navigation menu