Re: Guidance on use of Application Support folder
Re: Guidance on use of Application Support folder
- Subject: Re: Guidance on use of Application Support folder
- From: "Paul Sanders" <email@hidden>
- Date: Fri, 12 Feb 2010 18:37:51 -0000
Elaborate on the bugs? Well, we're getting a bit off topic for this list but it's mainly to do with relocation which we want to disable because it does things like update a copy of the application that has been dragged to the Trash and other such nonsense. PM also throws a wobbly (with no useful error message) if things like the postinstall script have the uchg flag set. That probably won't bother most people but I like to write-protect my release tree after making the final (we hope!) build in case of finger trouble.
The way I deal with the relocation issue, apart from turning it off in Package Maker itself (which you have to do every time you save your package definition because PM keeps turning it back on when you're not looking) is to run the following inscrutable 3 lines of shell script after building your package (where $mpkg is the folder containing the built package):
awk '/IFPkgPathMappings/ { sub ("IFPkgPathMappings", "xIFPkgPathMappings", $0); print $0; next } // { print $0 }' <"$mpkg/Contents/Packages/vinylstudio.pkg/Contents/Info.plist" >/tmp/no_reloc
mv /tmp/no_reloc "$mpkg/Contents/Packages/vinylstudio.pkg/Contents/Info.plist"
rm "$mpkg/Contents/Packages/vinylstudio.pkg/Contents/Resources/TokenDefinitions.plist"
The third line is only needed for Snow Leopard. Mr Google dug it up for me, I forget where. Saved my life.
I also hand-edit the various xml files in the .pmdoc folder to remove any absolute references and to delete, in fact, the BOM, with the exception of the top-level folder(s) to be packaged up (PM normally records all the files below that, for some strange reason, but it is evidently redundant information and it made me nervous having stuff recorded in there that might be added to, or removed, after PM had last seen it). This lets me carry my .pmdoc folder essentially unchanged over from one version of the software to the next. I don't let Package Maker near it after that (apart from building the package from the command line). Things like the readme file are kept out-of--line so that they can be edited in TextEdit.
In other words, I now have a carefully hand-crafted .pmdoc folder safely checked into version control. When things like the version number change, I just hand-edit the relevant file. I hope never to let PM change these files again.
Finally, to get PM to build your package from the command line, you have to specify the --id flag, otherwise it crashes, something like:
/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker --id uk.co.alpinesoft.vinylstudio-installer --doc VinylStudio-Installer.pmdoc --out "$mpkg"
Like you, I nearly gave up, but, as of this moment, I think I have the beast under control.
Paul Sanders
http://www.alpinesoft.co.uk
----- Original Message -----
From: "Sean McBride" <email@hidden>
To: "Kyle Sluder" <email@hidden>; "Paul Sanders" <email@hidden>
Cc: "Stuart Malin" <email@hidden>; <email@hidden>
Sent: Friday, February 12, 2010 6:02 PM
Subject: Re: Guidance on use of Application Support folder
Could you elaborate? We have been thinking to switch AWAY from PackageMaker because it is such a buggy monstrosity.
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden