Software Dependency

jimmy-swings
Contributor II

Hi All,

We've packaged numerous applications which have a dependency on other packages. I'm just wondering how you might handle this easily? I could resort to scripting, but that adds another dimension of complexity.

example: numerous applications are dependent upon the JRE or VirtualBox. At the moment I simply have these available as a package which is working for most people, but I'd like to streamline the installation of some applications that require these prerequisites to be installed.

Thanks, James.

1 ACCEPTED SOLUTION

bpavlov
Honored Contributor

https://jamfnation.jamfsoftware.com/featureRequest.html?id=3696

I've gone ahead and submitted a feature request for this because Greg is right. No matter how you slice or dice this having to rely on multiple policies and/or smart groups to accomplish this quite adds a lot more work. Whereas having the ability to simply link applications and installers would solve those issues.

View solution in original post

10 REPLIES 10

brad
Contributor

Hi James,

You could make a policy for JRE and other dependencies that runs only on computers that do not have it. So that policy would be scoped to a smart group. Then you could call those policies in the advanced unix command section of the application policy that might require dependencies with a custom trigger supplied in each dependency policy. The trigger(s) can be called with

jamf policy -trigger <jre_custom_triger>;jamf policy -trigger <other_dependency_trigger>

and so forth. The triggers will run the policy only if they are applicable in that policy based on their scope so as to not run unnecessarily.

Hope that might help.

-Brad

davidacland
Honored Contributor II
Honored Contributor II

We usually use a collection of smart groups as well. For example, if the Mac needs app, which in turn needs JRE, we would create a smart group that finds computers that don't have JRE, and scope JRE to it. Then another smart group that has JRE but doesn't have the other app, again deploying the app to that group.

That being said, another approach could be to deploy JRE to all Macs regardless so it is always there if needed. We do this with printer drivers, so if a client is using HP printers, we deploy the HP driver pack, regardless whether we are adding the printers to every Mac. It makes deploying the printer later a much easier task.

Last thought would be to just make a policy that deploys both packages, making sure JRE is first. If it's an isolated requirement, this would be easier than making smart groups etc.

gregneagle
Valued Contributor

Sounds like a candidate for a feature request.

You should be able to tell Casper that pkg Foo requires pkg Bar, so that any time Foo is installed by Casper, it also ensures Bar is installed.

This is where the model of "find machines that match condition X and do Y do them" falls down as a strategy for managing software installations. It's useful in some scenarios, but doesn't fit them all.

bpavlov
Honored Contributor

https://jamfnation.jamfsoftware.com/featureRequest.html?id=3696

I've gone ahead and submitted a feature request for this because Greg is right. No matter how you slice or dice this having to rely on multiple policies and/or smart groups to accomplish this quite adds a lot more work. Whereas having the ability to simply link applications and installers would solve those issues.

mm2270
Legendary Contributor III

Its a great idea, and is very similar to this old request (Under Review now for some time): https://jamfnation.jamfsoftware.com/featureRequest.html?id=83

donmontalvo
Esteemed Contributor III

@gregneagle wrote:

Sounds like a candidate for a feature request. You should be able to tell Casper that pkg Foo requires pkg Bar, so that any time Foo is installed by Casper, it also ensures Bar is installed. This is where the model of "find machines that match condition X and do Y do them" falls down as a strategy for managing software installations. It's useful in some scenarios, but doesn't fit them all.

The "requires" feature in Munki is one of those things I'm going to miss when I leave this gig.

Using a diverse assortment of tools was a great opportunity to identify some areas that need improvement (to each of the tools).

+1 voted up

Don

--
https://donmontalvo.com

sakul
New Contributor III

Six years later I find myself searching for a way define dependencies between pkg's in Jamf Pro and stumbled on this thread.

Any news on this?

Unfortunately the old FeatureRequest links don't work anymore and I can't find anything on the new ideas.jamf.com site.

CalleyO
Contributor III

I think this is the feature request post you're looking for: https://www.jamf.com/jamf-nation/feature-requests/3696

benducklow
Contributor III

Ahhh, one of the old one's that will never get prioritized... I have a'many of those! 😕

ScottyBeach
Contributor

These URLs https://www.jamf.com/jamf-nation/feature-requests/3696 and https://jamfnation.jamfsoftware.com/featureRequest.html?id=83 seem dead for me. It would be nice to know if this feature request is still under consideration or is being permanently ignored at @benducklow suggests. About 7 years now. That looks kinda' bad.