-
Notifications
You must be signed in to change notification settings - Fork 38
Packages
Not surprisingly, packages are forwarded on from ParentRecipes seamlessly. However, if you need to specify an os_requirements
setting, there's an input variable for that. The format follows that of the JSS: a comma-delimeted list of acceptable versions, with 'x' as a wildcard, e.g. 10.8.6, 10.9.x
.
Packages accept several other arguments: package_notes
and package_info
for specifying the corresponding fields on the package object, and package_priority
, package_reboot
, and package_boot_volume_required
for controlling various installation settings.
Variable | Description | Default |
---|---|---|
os_requirements |
Comma-delimited list of acceptable versions, using x as a wildcard character |
None |
package_notes |
Notes field on package object | None |
package_info |
Info field on package object | None |
package_priority |
Priority to use for deploying or uninstalling the package. String value between 1 and 20. | "10" |
package_reboot |
Specify whether computers must be restarted after installation. Accepts boolean values. | False |
package_boot_volume_required |
Ensures that the package is installed on the boot volume after imaging. Accepts boolean values. | True |
To save on time spent uploading, the JSSImporter processor only uploads a package to the distribution points when it think it is needed. Specifically, on AFP/SMB DP's, it compares the filename of the package just created with those on the DP, and uploads if it is missing. On a JDS, it only uploads a package if a new package-object was created.
This means that if your package recipe changes, but the output package filename stays the same, AFP/SMB DP's will not get the new package uploaded to them: please manually delete the package from the file shares and re-run your recipe. For JDS DP's, packages are only uploaded if a package-object was created. To re-trigger uploading for the next run, delete the package from the JSS web interface in the Computer Management->Packages section.
If you would like to not upload a package and not add a package install action to a Policy, specify a pkg_path
with a blank value to let JSSImporter know to skip package handling. Chances are extremely good that a previous step in a Parent pkg recipe set pkg_path
, so you need to un-set it. Why would this be useful? Some organizations are using AutoPkg and JSSImporter to automate the creation of multiple policies per product-one to actually install the product, and another to notify the user of an available update. This is a lot of work to go through to try to be Munki, but it may improve the experience for users, since Casper will happily install apps while a user is logged in. Regardless, you can simply specify a second JSSImporter processor in your jss recipe, making sure to set pkg_path
to a blank value (e.g: <string/>
), and crafting the arguments and templates appropriately.
Other questions not addressed here? Join us in the #jss-importer channel on the Mac Admins Slack.