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 protected]>
To: "Kyle Sluder" <[email protected]>; "Paul Sanders" 
<[email protected]>
Cc: "Stuart Malin" <[email protected]>; <[email protected]>
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 protected])

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to