1. Perry Metzger
  2. growl

Commits

evands  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.

  • Participants
  • Parent commits 9ae9e7c
  • Branches default

Comments (0)

Files changed (5)

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

View file
-<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>

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

View file
-<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>

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

View file
-<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>

File Release/GrowlMail/scripts/postflight.sh

View file
 #!/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

File Release/GrowlMail/scripts/preflight.sh

View file
 #!/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