[BUG?] IFRequirementDicts does not work as it should?
[BUG?] IFRequirementDicts does not work as it should?
- Subject: [BUG?] IFRequirementDicts does not work as it should?
- From: Stéphane Sudre <email@hidden>
- Date: Sat, 6 Mar 2004 16:59:28 +0100
I tend to believe there's a bug in the way Installer.app is handling
the IFRequirementDicts values in Mac OS X 10.3 (If you don't like the
word "bug", let's name it a wrong "engineering specification").
Requirements are a new feature of Mac OS X 10.3 which allows you to
specify requirements (how surprising) for your .pkg or .mpkg. The idea
is clever, the documentation a bit less in some paragraphs and the
implementation a bit strange or buggy in the following case.
Let's say I have the following requirement which I run on Mac OS X
10.3.2 via a .pkg:
SpecType: plist
SpecArgument: /System/Library/CoreServices/SystemVersion.plist
SpecProperty: ProductBuildVersion
TestObject: "7D24"
TestOperator: <
(1) When this requirement is run on Mac OS X 10.3.2, the installation
can't run and the Installer.app is displaying the TitleKey and
MessageKey information even if you have some volume with an earlier
version of Mac OS X (namely a 10.2.6).
(2) If you replace the TestOperator with <=, the Installation can run
and all volumes are available. Strange since some volumes have no OS on
them but not not surprising if the lack of the SpecArgument means the
Requirement is matched (this is another story or bug).
(3) If you replace the TestOperator with ==, the Installation can run
and only the 10.3.2 volume is available.
(4) If you replace the TestOperator with !=, the installation can't run
and the Installer.app is displaying the TitleKey and MessageKey
information even if you have some volume with a different version of
Mac OS X (namely a 10.2.6).
IMHO, (1), (2) and (4) are buggy in Installer.app.
A plist SpecType is not similar to an InstallationCheck. It's just a
VolumeCheck requirement. This means that it needs to be run against
each volume and if no volume is filling the requirement, then the
Installation can't be run.
In case 1, the behavior is buggy because the installation can't run
whereas we have a volume with a ProductBuildVersion smaller than 7D24
(6L60 is smaller than 7D24 even when you deal with a String).
In case 2, the behavior is buggy, because only the 10.2.6 and 10.3.2 OS
should be available since they are the only volumes with the
SpecArgument file.
In case 4, the behavior is buggy because the 10.2.6 volume match the
requirement. And so the installation should be possible.
So the question is: is this a bug? If the answer is no, why?
_______________________________________________
xcode-users mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/xcode-users
Do not post admin requests to the list. They will be ignored.