Re: Using AND and OR in package requirements
Re: Using AND and OR in package requirements
- Subject: Re: Using AND and OR in package requirements
- From: Adam Mercer <email@hidden>
- Date: Thu, 21 Jan 2010 16:41:24 -0600
On Thu, Jan 21, 2010 at 16:37, Iceberg-Dev <email@hidden> wrote:
>
> On Jan 21, 2010, at 9:50 PM, Adam Mercer wrote:
>
>> Hi
>>
>> I'm creating an installer for some software that requires either Snow
>> Leopard or Intel Leopard, but will only run on a Snow Leopard system
>> that has a Core 2 Duo processor, (its fine on Core Duo systems running
>> Leopard). I'm trying to work out a way that I can specify this in the
>> requirements section of PackageMaker.app but I can't find a way to
>> build up this requirement.
>>
>> Is something like this possible with PackageMaker? If so how? If not
>> any ideas how I can achieve this another way?
>
> This is possible but you need to write a custom JavaScript function.
>
> I'm not sure a requirement based on a CPU sub family is a good idea. So I
> switched it to 2 cores or more.
I mean on Snow Leopard it'll not run on a Core Duo, i.e. on Snow
Leopard it requires a 64 bit capable machine, but on Intel Leopard
it'll run on a 32bit or 64bit capable machine. The number of cores is
irrelevant.
> That being said, it could look like this:
>
> function complexRequirement()
> {
> if ((system.compareVersions(system.version.ProductVersion, '10.6') >=
> 0)
> {
> // Snow Leopard
>
> if (system.sysctl('hw.ncpu')>=2)
> {
> return true;
> }
> }
> else if ((system.compareVersions(system.version.ProductVersion,
> '10.5') >= 0)
> {
> // Leopard
>
> // Leopard can run on PowerPC so we need to exclude them
>
> if (system.sysctl('hw.cputype')==7)
> {
> if (system.sysctl('hw.ncpu')>=2)
> {
> return true;
> }
> }
>
> }
>
> return false;
> }
>
How do I go about using such a custom function?
Cheers
Adam
_______________________________________________
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