Commits

Anonymous committed 3b0bc3d

Fixed GrowlMail Installer on 10.5, added an instruction to quit Mail before continuing, and enforced qutting of Mail via the preflight script. The quit actions added by 10.5's package maker simply don't work.

Comments (0)

Files changed (5)

Release/GrowlMail/GrowlMail Installer.pmdoc/01growlmail-contents.xml

-<pkg-contents spec="1.12"><f n="GrowlMail.mailbundle" o="evands" g="evands" p="16877" pt="/Users/evands/growl/Extras/GrowlMail/build/Deployment/GrowlMail.mailbundle" m="false" t="file"><f n="Contents" o="evands" g="evands" p="16877"><f n="Frameworks" o="evands" g="evands" p="16877"><f n="Growl.framework" o="evands" g="evands" p="16877"><f n="Growl" o="evands" g="evands" p="41453"/><f n="Headers" o="evands" g="evands" p="41453"><f n="Growl.h" o="evands" g="evands" p="33188"/><f n="GrowlApplicationBridge-Carbon.h" o="evands" g="evands" p="33188"/><f n="GrowlApplicationBridge.h" o="evands" g="evands" p="33188"/><f n="GrowlDefines.h" o="evands" g="evands" p="33188"/><f n="Headers" o="evands" g="evands" p="41453"/></f><f n="Resources" o="evands" g="evands" p="41453"><f n="Info.plist" o="evands" g="evands" p="33188"/></f><f n="Versions" o="evands" g="evands" p="16877"><f n="A" o="evands" g="evands" p="16877"><f n="Growl" o="evands" g="evands" p="33261"/><f n="Headers" o="evands" g="evands" p="16877"><f n="Growl.h" o="evands" g="evands" p="33188"/><f n="GrowlApplicationBridge-Carbon.h" o="evands" g="evands" p="33188"/><f n="GrowlApplicationBridge.h" o="evands" g="evands" p="33188"/><f n="GrowlDefines.h" o="evands" g="evands" p="33188"/><f n="Headers" o="evands" g="evands" p="41453"/></f><f n="Resources" o="evands" g="evands" p="16877"><f n="Info.plist" o="evands" g="evands" p="33188"/></f></f><f n="Current" o="evands" g="evands" p="41453"><f n="Growl" o="evands" g="evands" p="33261"/><f n="Headers" o="evands" g="evands" p="16877"><f n="Growl.h" o="evands" g="evands" p="33188"/><f n="GrowlApplicationBridge-Carbon.h" o="evands" g="evands" p="33188"/><f n="GrowlApplicationBridge.h" o="evands" g="evands" p="33188"/><f n="GrowlDefines.h" o="evands" g="evands" p="33188"/><f n="Headers" o="evands" g="evands" p="41453"/></f><f n="Resources" o="evands" g="evands" p="16877"><f n="Info.plist" o="evands" g="evands" p="33188"/></f></f></f></f></f><f n="Info.plist" o="evands" g="evands" p="33188"/><f n="MacOS" o="evands" g="evands" p="16877"><f n="GrowlMail" o="evands" g="evands" p="33261"/></f><f n="Resources" o="evands" g="evands" p="16877"><f n="Dutch.lproj" o="evands" g="evands" p="16877"><f n="GrowlMailPreferencesPanel.nib" o="evands" g="evands" p="16877"><f n="classes.nib" o="evands" g="evands" p="33188"/><f n="info.nib" o="evands" g="evands" p="33188"/><f n="keyedobjects.nib" o="evands" g="evands" p="33188"/></f><f n="InfoPlist.strings" o="evands" g="evands" p="33188"/><f n="Localizable.strings" o="evands" g="evands" p="33188"/></f><f n="English.lproj" o="evands" g="evands" p="16877"><f n="GrowlMailPreferencesPanel.nib" o="evands" g="evands" p="16877"><f n="classes.nib" o="evands" g="evands" p="33188"/><f n="info.nib" o="evands" g="evands" p="33188"/><f n="keyedobjects.nib" o="evands" g="evands" p="33188"/></f><f n="InfoPlist.strings" o="evands" g="evands" p="33188"/><f n="Localizable.strings" o="evands" g="evands" p="33188"/></f><f n="French.lproj" o="evands" g="evands" p="16877"><f n="GrowlMailPreferencesPanel.nib" o="evands" g="evands" p="16877"><f n="classes.nib" o="evands" g="evands" p="33188"/><f n="info.nib" o="evands" g="evands" p="33188"/><f n="keyedobjects.nib" o="evands" g="evands" p="33188"/></f><f n="InfoPlist.strings" o="evands" g="evands" p="33188"/><f n="Localizable.strings" o="evands" g="evands" p="33188"/></f><f n="German.lproj" o="evands" g="evands" p="16877"><f n="GrowlMailPreferencesPanel.nib" o="evands" g="evands" p="16877"><f n="classes.nib" o="evands" g="evands" p="33188"/><f n="info.nib" o="evands" g="evands" p="33188"/><f n="keyedobjects.nib" o="evands" g="evands" p="33188"/></f><f n="InfoPlist.strings" o="evands" g="evands" p="33188"/><f n="Localizable.strings" o="evands" g="evands" p="33188"/></f><f n="GrowlMail.png" o="evands" g="evands" p="33188"/><f n="Japanese.lproj" o="evands" g="evands" p="16877"><f n="GrowlMailPreferencesPanel.nib" o="evands" g="evands" p="16877"><f n="classes.nib" o="evands" g="evands" p="33188"/><f n="info.nib" o="evands" g="evands" p="33188"/><f n="keyedobjects.nib" o="evands" g="evands" p="33188"/></f><f n="Localizable.strings" o="evands" g="evands" p="33261"/></f><f n="nl.lproj" o="evands" g="evands" p="16877"><f n="GrowlMailPreferencesPanel.nib" o="evands" g="evands" p="16877"><f n="classes.nib" o="evands" g="evands" p="33188"/><f n="info.nib" o="evands" g="evands" p="33188"/><f n="keyedobjects.nib" o="evands" g="evands" p="33188"/></f><f n="InfoPlist.strings" o="evands" g="evands" p="33188"/><f n="Localizable.strings" o="evands" g="evands" p="33188"/></f><f n="pt_BR.lproj" o="evands" g="evands" p="16877"><f n="GrowlMailPreferencesPanel.nib" o="evands" g="evands" p="16877"><f n="classes.nib" o="evands" g="evands" p="33188"/><f n="info.nib" o="evands" g="evands" p="33188"/><f n="keyedobjects.nib" o="evands" g="evands" p="33188"/></f><f n="InfoPlist.strings" o="evands" g="evands" p="33188"/><f n="Localizable.strings" o="evands" g="evands" p="33188"/></f><f n="Swedish.lproj" o="evands" g="evands" p="16877"><f n="GrowlMailPreferencesPanel.nib" o="evands" g="evands" p="16877"><f n="classes.nib" o="evands" g="evands" p="33188"/><f n="info.nib" o="evands" g="evands" p="33188"/><f n="keyedobjects.nib" o="evands" g="evands" p="33188"/></f><f n="InfoPlist.strings" o="evands" g="evands" p="33188"/><f n="Localizable.strings" o="evands" g="evands" p="33188"/></f><f n="zh_CN.lproj" o="evands" g="evands" p="16877"><f n="GrowlMailPreferencesPanel.nib" o="evands" g="evands" p="16877"><f n="classes.nib" o="evands" g="evands" p="33188"/><f n="info.nib" o="evands" g="evands" p="33188"/><f n="keyedobjects.nib" o="evands" g="evands" p="33188"/></f><f n="Localizable.strings" o="evands" g="evands" p="33188"/></f></f></f></f></pkg-contents>
+<pkg-contents spec="1.12"><f n="GrowlMail.mailbundle" o="evands" g="evands" p="16877" pt="/Users/evands/growl/Extras/GrowlMail/build/Deployment/GrowlMail.mailbundle" m="false" t="file"><f n="Contents" o="evands" g="evands" p="16877"><f n="Frameworks" o="evands" g="evands" p="16877"><f n="Growl.framework" o="evands" g="evands" p="16877"><f n="Growl" o="evands" g="evands" p="41453"/><f n="Headers" o="evands" g="evands" p="41453"><f n="Growl.h" o="evands" g="evands" p="33188"/><f n="GrowlApplicationBridge-Carbon.h" o="evands" g="evands" p="33188"/><f n="GrowlApplicationBridge.h" o="evands" g="evands" p="33188"/><f n="GrowlDefines.h" o="evands" g="evands" p="33188"/></f><f n="Resources" o="evands" g="evands" p="41453"><f n="Info.plist" o="evands" g="evands" p="33188"/></f><f n="Versions" o="evands" g="evands" p="16877"><f n="A" o="evands" g="evands" p="16877"><f n="Growl" o="evands" g="evands" p="33261"/><f n="Headers" o="evands" g="evands" p="16877"><f n="Growl.h" o="evands" g="evands" p="33188"/><f n="GrowlApplicationBridge-Carbon.h" o="evands" g="evands" p="33188"/><f n="GrowlApplicationBridge.h" o="evands" g="evands" p="33188"/><f n="GrowlDefines.h" o="evands" g="evands" p="33188"/></f><f n="Resources" o="evands" g="evands" p="16877"><f n="Info.plist" o="evands" g="evands" p="33188"/></f></f><f n="Current" o="evands" g="evands" p="41453"><f n="Growl" o="evands" g="evands" p="33261"/><f n="Headers" o="evands" g="evands" p="16877"><f n="Growl.h" o="evands" g="evands" p="33188"/><f n="GrowlApplicationBridge-Carbon.h" o="evands" g="evands" p="33188"/><f n="GrowlApplicationBridge.h" o="evands" g="evands" p="33188"/><f n="GrowlDefines.h" o="evands" g="evands" p="33188"/></f><f n="Resources" o="evands" g="evands" p="16877"><f n="Info.plist" o="evands" g="evands" p="33188"/></f></f></f></f></f><f n="Info.plist" o="evands" g="evands" p="33188"/><f n="MacOS" o="evands" g="evands" p="16877"><f n="GrowlMail" o="evands" g="evands" p="33261"/></f><f n="Resources" o="evands" g="evands" p="16877"><f n="Dutch.lproj" o="evands" g="evands" p="16877"><f n="GrowlMailPreferencesPanel.nib" o="evands" g="evands" p="16877"><f n="classes.nib" o="evands" g="evands" p="33188"/><f n="info.nib" o="evands" g="evands" p="33188"/><f n="keyedobjects.nib" o="evands" g="evands" p="33188"/></f><f n="InfoPlist.strings" o="evands" g="evands" p="33188"/><f n="Localizable.strings" o="evands" g="evands" p="33188"/></f><f n="English.lproj" o="evands" g="evands" p="16877"><f n="GrowlMailPreferencesPanel.nib" o="evands" g="evands" p="16877"><f n="classes.nib" o="evands" g="evands" p="33188"/><f n="info.nib" o="evands" g="evands" p="33188"/><f n="keyedobjects.nib" o="evands" g="evands" p="33188"/></f><f n="InfoPlist.strings" o="evands" g="evands" p="33188"/><f n="Localizable.strings" o="evands" g="evands" p="33188"/></f><f n="French.lproj" o="evands" g="evands" p="16877"><f n="GrowlMailPreferencesPanel.nib" o="evands" g="evands" p="16877"><f n="classes.nib" o="evands" g="evands" p="33188"/><f n="info.nib" o="evands" g="evands" p="33188"/><f n="keyedobjects.nib" o="evands" g="evands" p="33188"/></f><f n="InfoPlist.strings" o="evands" g="evands" p="33188"/><f n="Localizable.strings" o="evands" g="evands" p="33188"/></f><f n="German.lproj" o="evands" g="evands" p="16877"><f n="GrowlMailPreferencesPanel.nib" o="evands" g="evands" p="16877"><f n="classes.nib" o="evands" g="evands" p="33188"/><f n="info.nib" o="evands" g="evands" p="33188"/><f n="keyedobjects.nib" o="evands" g="evands" p="33188"/></f><f n="InfoPlist.strings" o="evands" g="evands" p="33188"/><f n="Localizable.strings" o="evands" g="evands" p="33188"/></f><f n="GrowlMail.png" o="evands" g="evands" p="33188"/><f n="Japanese.lproj" o="evands" g="evands" p="16877"><f n="GrowlMailPreferencesPanel.nib" o="evands" g="evands" p="16877"><f n="classes.nib" o="evands" g="evands" p="33188"/><f n="info.nib" o="evands" g="evands" p="33188"/><f n="keyedobjects.nib" o="evands" g="evands" p="33188"/></f><f n="Localizable.strings" o="evands" g="evands" p="33261"/></f><f n="nl.lproj" o="evands" g="evands" p="16877"><f n="GrowlMailPreferencesPanel.nib" o="evands" g="evands" p="16877"><f n="classes.nib" o="evands" g="evands" p="33188"/><f n="info.nib" o="evands" g="evands" p="33188"/><f n="keyedobjects.nib" o="evands" g="evands" p="33188"/></f><f n="InfoPlist.strings" o="evands" g="evands" p="33188"/><f n="Localizable.strings" o="evands" g="evands" p="33188"/></f><f n="pt_BR.lproj" o="evands" g="evands" p="16877"><f n="GrowlMailPreferencesPanel.nib" o="evands" g="evands" p="16877"><f n="classes.nib" o="evands" g="evands" p="33188"/><f n="info.nib" o="evands" g="evands" p="33188"/><f n="keyedobjects.nib" o="evands" g="evands" p="33188"/></f><f n="InfoPlist.strings" o="evands" g="evands" p="33188"/><f n="Localizable.strings" o="evands" g="evands" p="33188"/></f><f n="Russian.lproj" o="evands" g="evands" p="16877"><f n="GrowlMailPreferencesPanel.nib" o="evands" g="evands" p="16877"><f n="classes.nib" o="evands" g="evands" p="33188"/><f n="info.nib" o="evands" g="evands" p="33188"/><f n="keyedobjects.nib" o="evands" g="evands" p="33188"/></f><f n="InfoPlist.strings" o="evands" g="evands" p="33188"/><f n="Localizable.strings" o="evands" g="evands" p="33188"/></f><f n="Swedish.lproj" o="evands" g="evands" p="16877"><f n="GrowlMailPreferencesPanel.nib" o="evands" g="evands" p="16877"><f n="classes.nib" o="evands" g="evands" p="33188"/><f n="info.nib" o="evands" g="evands" p="33188"/><f n="keyedobjects.nib" o="evands" g="evands" p="33188"/></f><f n="InfoPlist.strings" o="evands" g="evands" p="33188"/><f n="Localizable.strings" o="evands" g="evands" p="33188"/></f><f n="zh_CN.lproj" o="evands" g="evands" p="16877"><f n="GrowlMailPreferencesPanel.nib" o="evands" g="evands" p="16877"><f n="classes.nib" o="evands" g="evands" p="33188"/><f n="info.nib" o="evands" g="evands" p="33188"/><f n="keyedobjects.nib" o="evands" g="evands" p="33188"/></f><f n="Localizable.strings" o="evands" g="evands" p="33188"/></f></f></f></f></pkg-contents>

Release/GrowlMail/GrowlMail Installer.pmdoc/01growlmail.xml

-<pkgref spec="1.12" uuid="F5D2267E-2AE1-464C-82DF-E0E6F8FCFEA4"><config><identifier>com.growl.growlmail.growlmail.pkg</identifier><version>1</version><description></description><post-install type="none"/><requireAuthorization/><installFrom relative="true" includeRoot="true">../../Extras/GrowlMail/build/Deployment/GrowlMail.mailbundle</installFrom><installTo mod="true">/Library/Mail/Bundles/</installTo><flags><followSymbolicLinks/></flags><packageStore type="internal"></packageStore><mod>parent</mod><mod>scripts.postinstall.path</mod><mod>scripts.preflight.path</mod><mod>scripts.postupgrade.path</mod><mod>installFrom.isRelativeType</mod><mod>installTo.path</mod><mod>scripts.scriptsDirectoryPath.path</mod><mod>installTo</mod></config><scripts><preflight relative="true" mod="true">scripts/preflight.sh</preflight><postinstall relative="true" mod="true">scripts/postflight.sh</postinstall><postupgrade relative="true" mod="true">scripts/postflight.sh</postupgrade><scripts-dir relative="true" mod="true">scripts</scripts-dir></scripts><contents><file-list>01growlmail-contents.xml</file-list><component id="com.growl.GrowlMail" path="/Users/evands/growl/Extras/GrowlMail/build/Deployment/GrowlMail.mailbundle" version="1.1b4"><component id="com.growl.growlframework" path="/Users/evands/growl/Extras/GrowlMail/build/Deployment/GrowlMail.mailbundle/Contents/Frameworks/Growl.framework" version="4335:4357M"/></component><filter>/CVS$</filter><filter>/\.svn$</filter><filter>/\.cvsignore$</filter><filter>/\.cvspass$</filter><filter>/\.DS_Store$</filter></contents></pkgref>
+<pkgref spec="1.12" uuid="F5D2267E-2AE1-464C-82DF-E0E6F8FCFEA4"><config><identifier>com.growl.growlmail.growlmail.pkg</identifier><version>1</version><description></description><post-install type="none"/><requireAuthorization/><installFrom relative="true" includeRoot="true">../../Extras/GrowlMail/build/Deployment/GrowlMail.mailbundle</installFrom><installTo mod="true">/Library/Mail/Bundles/</installTo><flags><followSymbolicLinks/></flags><packageStore type="internal"></packageStore><mod>parent</mod><mod>scripts.postinstall.path</mod><mod>scripts.preflight.path</mod><mod>scripts.preinstall.path</mod><mod>scripts.preupgrade.path</mod><mod>scripts.postupgrade.path</mod><mod>installFrom.isRelativeType</mod><mod>installTo.path</mod><mod>scripts.scriptsDirectoryPath.path</mod><mod>installTo</mod></config><scripts><preinstall relative="true" mod="true">scripts/preflight.sh</preinstall><postinstall relative="true" mod="true">scripts/postflight.sh</postinstall><preupgrade relative="true" mod="true">scripts/preflight.sh</preupgrade><postupgrade relative="true" mod="true">scripts/postflight.sh</postupgrade><scripts-dir relative="true" mod="true">scripts</scripts-dir></scripts><contents><file-list>01growlmail-contents.xml</file-list><component id="com.growl.GrowlMail" path="/Users/evands/growl/Extras/GrowlMail/build/Deployment/GrowlMail.mailbundle" version="1.1.1"><component id="com.growl.growlframework" path="/Users/evands/growl/Extras/GrowlMail/build/Deployment/GrowlMail.mailbundle/Contents/Frameworks/Growl.framework" version="1.1.1"/></component><filter>/CVS$</filter><filter>/\.svn$</filter><filter>/\.cvsignore$</filter><filter>/\.cvspass$</filter><filter>/\.DS_Store$</filter></contents></pkgref>

Release/GrowlMail/GrowlMail Installer.pmdoc/index.xml

-<pkmkdoc spec="1.12"><properties><title>GrowlMail</title><build>/Users/evands/growl/Release/GrowlMail/GrowlMail.mpkg</build><organization>com.growl</organization><userSees ui="easy"/><min-target os="2"/><domain system="true"/></properties><distribution><versions min-spec="1.000000"/><scripts></scripts></distribution><contents><choice title="GrowlMail" id="choice14" starts_selected="true" starts_enabled="true" starts_hidden="false"><pkgref id="com.growl.growlmail.growlmail.pkg"/></choice></contents><resources bg-scale="none" bg-align="topleft"><locale lang="en"/></resources><flags/><preinstall><action id="com.apple.packagemaker.actions.getapplication"><item1-title>com.apple.mail</item1-title></action><action id="com.apple.packagemaker.actions.quitapplication"/></preinstall><item type="file">01growlmail.xml</item><mod>properties.systemDomain</mod><mod>properties.userDomain</mod><mod>properties.title</mod><mod>properties.anywhereDomain</mod><mod>preinstallActions.actions</mod></pkmkdoc>
+<pkmkdoc spec="1.12"><properties><title>GrowlMail</title><build>/Users/evands/growl/Release/GrowlMail/GrowlMail.mpkg</build><organization>com.growl</organization><userSees ui="easy"/><min-target os="2"/><domain system="true"/></properties><distribution><versions min-spec="1.000000"/><scripts></scripts></distribution><contents><choice title="GrowlMail" id="choice14" starts_selected="true" starts_enabled="true" starts_hidden="false"><pkgref id="com.growl.growlmail.growlmail.pkg"/></choice></contents><resources bg-scale="none" bg-align="topleft"><locale lang="en"><resource mime-type="text/rtf" kind="embedded" type="welcome"><![CDATA[{\rtf1\ansi\ansicpg1252\cocoartf929
+{\fonttbl\f0\fnil\fcharset0 LucidaGrande;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f0\fs26 \cf0 This installer will install GrowlMail, which adds Growl notification capabilities to Mail.app.  A preference pane will be added to the Mail preferences for configuring GrowlMail.\
+\
+Please quit Mail before continuing; installation will fail if Mail is running.}]]></resource></locale></resources><flags/><preinstall><action id="com.apple.packagemaker.actions.getapplication"><item1-title>com.apple.mail</item1-title></action><action id="com.apple.packagemaker.actions.quitapplication"/></preinstall><item type="file">01growlmail.xml</item><mod>preinstallActions.actions</mod><mod>properties.userDomain</mod><mod>properties.title</mod><mod>properties.systemDomain</mod><mod>properties.anywhereDomain</mod></pkmkdoc>

Release/GrowlMail/scripts/postflight.sh

 #!/bin/sh
+######
+# Note that we are running sudo'd, so these defaults will be written to
+# /Library/Preferences/com.apple.mail.plist
+#
+# Mail must NOT be running by the time this script executes
+######
 defaults write com.apple.mail EnableBundles -bool YES
-defaults write com.apple.mail BundleCompatibilityVersion -int 2
+
+# Mac OS X 10.5's Mail.app requires bundle version 3 or greater
+defaults write com.apple.mail BundleCompatibilityVersion -int 3

Release/GrowlMail/scripts/preflight.sh

 #!/bin/sh
+#####
+# We politely asked the user to quit Mail in the installer intro.  Now
+# we'll request the same a bit more strongly.
+####
+osascript -e "quit app \"Mail\""
+
+# Delete any old copies of the bundle
 rm -rf ~/Library/Mail/Bundles/GrowlMail.mailBundle
+
+# We're running sudo'd already, so this won't have to prompt for a password.
 sudo rm -rf /Library/Mail/Bundles/GrowlMail.mailBundle