• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Upgrading to pm 3.x makes my package relocatable
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Upgrading to pm 3.x makes my package relocatable


  • Subject: Upgrading to pm 3.x makes my package relocatable
  • From: "Graham J Lee" <email@hidden>
  • Date: Tue, 7 Apr 2009 03:58:27 -0700 (PDT)

Hi all,

I have a project, which until recently was built with Xcode 2.5, and a
"run script" action which invoked packagemaker like this to build an
installer package:

"${SYSTEM_DEVELOPER_DIR}/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker"
-build -p "/path/to/package.pkg" -f "${DSTROOT}/Root" -i
"Installer/GUI-Info.$$.plist" -d "Installer/GUI-Description.plist" -r
"${DSTROOT}/Resources" -ds

the Info.plist used as input sets IFPkgDefaultLocation="/",
IFPkgFlagRelocatable=false and IFPkgFlagRootVolumeOnly=true. This produced
a non-relocatable package. BTW, the Resources folder just contains the
scripts such as preflight, preinstall etc.

I upgraded to Xcode 3.1.2, and now the package seems to be relocatable on
installation - at least, this is how I interpret the fact that the app
gets installed over my build/Release/ folder. Having read the list
archives and searched online, I found only recommendations to switch off
the relocatable flag in the PM document - but I'm not using one. I tried
re-casting the packagemaker invocation using the new-style arguments:

"${SYSTEM_DEVELOPER_DIR}/usr/bin/packagemaker" --root "${DSTROOT}/Root"
--info "Installer/GUI-Info.$$.plist" --scripts "${DSTROOT}/Resources"
--root-volume-only --verbose --version "${app_version}" --out
"/path/to/package.pkg"

however, this doesn't change the behaviour - the payload is still
relocated by the installer. I notice that packagemaker has added the
following stanza to the Info.plist in the package:

	<key>IFPkgPathMappings</key>
	<dict>
		<key>./Applications/AppName.app</key>
		<string>{pkmk-token-2}</string>
	</dict>

but has left the other keys alone, including the default location and
relocatable keys. So now, I'm stumped :-/. Can I change this command-line
invocation to make the payload non-relocatable, or must I create a pmdoc?

On a somewhat related note, is it possible to specify a Description.plist
in the new-style packagemaker invocation?

Thanks for your help,

Graham.
--
Graham J Lee
http://thaesofereode.info

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Installer-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • RE: Upgrading to pm 3.x makes my package relocatable
      • From: Francois L'Archeveque <email@hidden>
  • Prev by Date: Re: "Could not update existing receipt" error
  • Next by Date: RE: Upgrading to pm 3.x makes my package relocatable
  • Previous by thread: Re: Admin Authorization?
  • Next by thread: RE: Upgrading to pm 3.x makes my package relocatable
  • Index(es):
    • Date
    • Thread