Re: IFRequirementDicts doesn't work properly from metapkg in Tiger
Re: IFRequirementDicts doesn't work properly from metapkg in Tiger
- Subject: Re: IFRequirementDicts doesn't work properly from metapkg in Tiger
- From: Christopher Ryan <email@hidden>
- Date: Fri, 10 Jun 2005 17:16:00 -0700
I talked with Rich offline, and he is correct, there is actually a
bug in the Tiger Installer causing the IFRequirement to not actually
fail the package the first time you click the volume. If you select
another volume and reselect the volume it then works as expected.
We know about this bug and will try to get it fixed as soon as we can.
Chris
Mac OS X Installation & Setup Team
Rich,
On my system with Xcode 2.1, the first package is not enabled, but
the second is, so it does indeed work.
Can you send me your packages in whole that have this problem?
Chris
At 10:58 AM -0700 6/10/05, Christopher Ryan wrote:
Chris,
I placed the comments in to hilight the use of the operator. In
the actual script, these comments are not present.
Interestingly, I'm hearing that the same problem happens for the
"file" SpecType, but if I use a SpecType of "gestalt", things
works and the appropriate script is not selected.
Rich
Rich,
Your comments in the Info.plist are not legal xml comments.
Because of this, the Installer is not reading the Info.plist
correctly and it is ignoring the IFRequirements.
The Installer should not let you open these packages at all, but
that is another issue.
If you want to put a comment in the xml plist file, you can do
something like:
<!-- NOTE LESS THAN OPERATOR -->
Anyways, removing the comment will give you the correct behavior.
Chris
Mac OS X Installation & Setup Team
I have a metapackage which has 2 packages. Each package has an
IFRequirementDicts script.
In one package I check for the presence of XCode 1.2 (really
less than 2.0)
<key>IFRequirementDicts</key>
<array>
<dict>
<key>Level</key>
<string>requires</string>
<key>SpecType</key>
<string>bundle</string>
<key>SpecArgument</key>
<string>/Developer/Applications/
Xcode.app</string>
<key>SpecProperty</key>
<string>CFBundleVersion</string>
<key>TestOperator</key>
<string><</string> // NOTE LESS
THAN OPERATOR
<key>TestObject</key>
<string>500</string>
</dict>
</array>
In the other, I check that the version of XCode is 2.0.
<key>IFRequirementDicts</key>
<array>
<dict>
<key>Level</key>
<string>requires</string>
<key>SpecType</key>
<string>bundle</string>
<key>SpecArgument</key>
<string>/Developer/Applications/
Xcode.app</string>
<key>SpecProperty</key>
<string>CFBundleVersion</string>
<key>TestOperator</key>
<string>>=</string> // NOTE Greater
than/equal
<key>TestObject</key>
<string>500</string>
</dict>
</array>
When I run this metapackage under OS X 10.4.1, both packages
are selectable. Is there a better way to do this, other than
using a Distribution Script.
thanks
--Sincerely,
Rich Kubota
email@hidden
(408) 974-6212
--
Sincerely,
Rich Kubota
email@hidden
(408) 974-6212
_______________________________________________
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