Changed GrowlMail's Installer package to install to a subdirectory of /tmp, and then move these files to the correct place within the user's Home folder, as suggested by Jonathan “Wolf” Rentzsch on Twitter.
authorPeter Hosey <hg@boredzo.org>
Fri Sep 11 05:52:27 2009 -0700 (2009-09-11)
changeset 43936328e4c4dd23
parent 4392 66804e7ecfe3
child 4394 6e6d39bbec43
Changed GrowlMail's Installer package to install to a subdirectory of /tmp, and then move these files to the correct place within the user's Home folder, as suggested by Jonathan “Wolf” Rentzsch on Twitter.

This sucks, but it appears to be the only way to overcome x-radar://problem/7215243, where Installer installs to the base of the volume that the user's Home folder is on instead of to the Home folder itself.
Release/GrowlMail/GrowlMail Installer.pmdoc/01growlmail.xml
Release/GrowlMail/GrowlMail Installer.pmdoc/index.xml
Release/GrowlMail/scripts/postflight.sh
     1.1 --- a/Release/GrowlMail/GrowlMail Installer.pmdoc/01growlmail.xml	Fri Sep 11 05:19:19 2009 -0700
     1.2 +++ b/Release/GrowlMail/GrowlMail Installer.pmdoc/01growlmail.xml	Fri Sep 11 05:52:27 2009 -0700
     1.3 @@ -1,1 +1,1 @@
     1.4 -<pkgref spec="1.12" uuid="F5D2267E-2AE1-464C-82DF-E0E6F8FCFEA4"><config><identifier>com.growl.growlmail.pkg</identifier><version>1</version><description></description><post-install type="none"/><installFrom relative="true" mod="true" includeRoot="true">../../Extras/GrowlMail/build/Release/GrowlMail.mailbundle</installFrom><installTo mod="true">/Library/Mail/Bundles/</installTo><flags><followSymbolicLinks/></flags><packageStore type="internal"></packageStore><mod>scripts.preinstall.path</mod><mod>installTo</mod><mod>scripts.postinstall.path</mod><mod>installFrom.isRelativeType</mod><mod>parent</mod><mod>scripts.scriptsDirectoryPath.path</mod><mod>scripts.preupgrade.path</mod><mod>identifier</mod><mod>scripts.postupgrade.path</mod><mod>requireAuthorization</mod><mod>scripts.preflight.path</mod><mod>extraFiles</mod><mod>installTo.path</mod><mod>installFrom.path</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><contents><file-list>01growlmail-contents.xml</file-list><component id="com.growl.GrowlMail" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/Extras/GrowlMail/build/Release/GrowlMail.mailbundle" version="1.2b1"><component id="com.growl.growlframework" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/Extras/GrowlMail/build/Release/GrowlMail.mailbundle/Contents/Frameworks/Growl.framework" version="1.2b1"/></component><filter>/CVS$</filter><filter>/\.svn$</filter><filter>/\.cvsignore$</filter><filter>/\.cvspass$</filter><filter>/\.DS_Store$</filter></contents><extra-files/></pkgref>
     1.5 \ No newline at end of file
     1.6 +<pkgref spec="1.12" uuid="F5D2267E-2AE1-464C-82DF-E0E6F8FCFEA4"><config><identifier>com.growl.growlmail.pkg</identifier><version>1</version><description></description><post-install type="none"/><installFrom relative="true" mod="true" includeRoot="true">../../Extras/GrowlMail/build/Release/GrowlMail.mailbundle</installFrom><installTo mod="true">/tmp/GrowlMail-Installation-Temp</installTo><flags><followSymbolicLinks/></flags><packageStore type="internal"></packageStore><mod>scripts.preinstall.path</mod><mod>installTo</mod><mod>scripts.postinstall.path</mod><mod>installFrom.isRelativeType</mod><mod>parent</mod><mod>scripts.scriptsDirectoryPath.path</mod><mod>scripts.preupgrade.path</mod><mod>identifier</mod><mod>scripts.postupgrade.path</mod><mod>requireAuthorization</mod><mod>scripts.preflight.path</mod><mod>extraFiles</mod><mod>installTo.path</mod><mod>installFrom.path</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><contents><file-list>01growlmail-contents.xml</file-list><component id="com.growl.GrowlMail" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/Extras/GrowlMail/build/Release/GrowlMail.mailbundle" version="1.2b2"><component id="com.growl.growlframework" path="/Volumes/Home-etc/Users/prh/Projects/@otherpeoplesprojects/growl-boredzo/Extras/GrowlMail/build/Release/GrowlMail.mailbundle/Contents/Frameworks/Growl.framework" version="1.2b2"/></component><filter>/CVS$</filter><filter>/\.svn$</filter><filter>/\.cvsignore$</filter><filter>/\.cvspass$</filter><filter>/\.DS_Store$</filter></contents><extra-files/></pkgref>
     1.7 \ No newline at end of file
     2.1 --- a/Release/GrowlMail/GrowlMail Installer.pmdoc/index.xml	Fri Sep 11 05:19:19 2009 -0700
     2.2 +++ b/Release/GrowlMail/GrowlMail Installer.pmdoc/index.xml	Fri Sep 11 05:52:27 2009 -0700
     2.3 @@ -1,11 +1,11 @@
     2.4 -<pkmkdoc spec="1.12"><properties><title>GrowlMail</title><build>/Volumes/RAM Disk/GrowlMail.pkg</build><organization>com.growl</organization><userSees ui="easy"/><min-target os="3"/><domain user="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"><customLoc>/Library/Mail/Bundles</customLoc><pkgref id="com.growl.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\cocoartf1038
     2.5 +<pkmkdoc spec="1.12"><properties><title>GrowlMail</title><build>/Volumes/RAM Disk/GrowlMail.pkg</build><organization>com.growl</organization><userSees ui="easy"/><min-target os="3"/><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"><customLoc mod="true">/tmp/GrowlMail-Installation-Temp</customLoc><pkgref id="com.growl.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\cocoartf1038\cocoasubrtf110
     2.6  {\fonttbl\f0\fnil\fcharset0 LucidaGrande;}
     2.7  {\colortbl;\red255\green255\blue255;}
     2.8  \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
     2.9  
    2.10  \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.\
    2.11  \
    2.12 -Please quit Mail before continuing; installation will fail if Mail is running.}]]></resource></locale><locale lang="nl"><resource mime-type="text/rtf" kind="embedded" type="welcome"><![CDATA[{\rtf1\ansi\ansicpg1252\cocoartf1038
    2.13 +Please quit Mail before continuing; installation will fail if Mail is running.}]]></resource></locale><locale lang="nl"><resource mime-type="text/rtf" kind="embedded" type="welcome"><![CDATA[{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf110
    2.14  {\fonttbl\f0\fnil\fcharset0 LucidaGrande;}
    2.15  {\colortbl;\red255\green255\blue255;}
    2.16  \deftab720
    2.17 @@ -13,4 +13,4 @@
    2.18  
    2.19  \f0\fs26 \cf0 Dit installatieprogramma zal GrowlMail installeren, welke ondersteuning voor Growl notificaties toevoegt aan Mail.app. Er zal een voorkeurenpaneel worden toegevoegd aan de voorkeuren van Mail voor het instellen van GrowlMail.\
    2.20  \
    2.21 -Stop Mail voordat u doorgaat; de installatie zal mislukken als Mail gestart is.}]]></resource></locale></resources><requirements><requirement id="sosv" operator="ge" value="'10.5.0'"><message-title>Your version of Mac OS X is too old</message-title><message>This Installer package requires Mac OS X 10.5 or later. Please use the other package.</message></requirement></requirements><flags/><item type="file">01growlmail.xml</item><mod>properties.anywhereDomain</mod><mod>properties.title</mod><mod>properties.userDomain</mod><mod>preinstallActions.actions</mod><mod>properties.systemDomain</mod></pkmkdoc>
    2.22 \ No newline at end of file
    2.23 +Stop Mail voordat u doorgaat; de installatie zal mislukken als Mail gestart is.}]]></resource></locale></resources><requirements><requirement id="sosv" operator="ge" value="'10.5.0'"><message-title>Your version of Mac OS X is too old</message-title><message>This Installer package requires Mac OS X 10.5 or later. Please use the other package.</message></requirement></requirements><flags/><item type="file">01growlmail.xml</item><mod>properties.systemDomain</mod><mod>properties.title</mod><mod>properties.userDomain</mod><mod>properties.anywhereDomain</mod><mod>preinstallActions.actions</mod></pkmkdoc>
    2.24 \ No newline at end of file
     3.1 --- a/Release/GrowlMail/scripts/postflight.sh	Fri Sep 11 05:19:19 2009 -0700
     3.2 +++ b/Release/GrowlMail/scripts/postflight.sh	Fri Sep 11 05:52:27 2009 -0700
     3.3 @@ -1,4 +1,10 @@
     3.4  #!/bin/sh
     3.5 +
     3.6 +# Move our temporary installation into the real destination.
     3.7 +mkdir -p ~/Library/Mail/Bundles
     3.8 +rm -R ~/Library/Mail/Bundles/GrowlMail.mailbundle
     3.9 +mv "$2/GrowlMail.mailbundle" ~/Library/Mail/Bundles
    3.10 +
    3.11  ######
    3.12  # Note that we are running sudo'd, so these defaults will be written to
    3.13  # /Library/Preferences/com.apple.mail.plist