Skip to content

Supported Pkginfo Keys

Greg Neagle edited this page Mar 15, 2024 · 47 revisions

A list of all the supported keys for pkginfo files.

Introduction

This is a list of all the supported keys for pkginfo files. See Pkginfo Files for examples of the proper use of these keys.

Keys

Key Type Notes
additional_startosinstall_options array of strings For macOS installers only. Uses the startosinstall binary in the macOS installer application to specify additional options, like --eraseinstall. More details here.
apple_item boolean Should this item be considered as an Apple update item? See Apple-Software-Updates-With-Munki Defaults to false.
autoremove boolean See Munki and AutoRemove. Defaults to false.
blocking_applications array of strings See Blocking Applications
catalogs array of strings See MunkiCatalogDocumentation
category string Optional. The Category the item should appear under in Managed Software Center.
copy_local boolean Adobe CS5 install items only. Copy update to /tmp before installing. Optional.
description string Description of the item being installed. May contain (escaped) HTML for links (in standard <a href="https://web.link">link</a> format) and/or images
developer string Optional. Used for grouping software by Developer in Managed Software Center.
display_name string "User-facing" display name that is used in Managed Software Center.
force_install_after_date date yyyy-mm-ddThh:mm:ssZ (evaluated in local time)
forced_install boolean This is Deprecated. Use unattended_install
forced_uninstall boolean This is Deprecated. Use unattended_uninstall
icon_name string Specify the name of the icon file to be used. Defaults to value of 'name' key + '.png'.
installable_condition string NSPredicate string that must evaluate true for this item to be allowed to install. Same format as used in Conditional Items, but is used only to filter whether the item can be installed on the client, not to decide whether it will be installed. See here for more details.
installcheck_script string If present, this script is executed to determine if an item needs to be installed. A return code of 0 means install is needed; any other return code causes install to be skipped. More information here
uninstallcheck_script string If present, this script is executed to determine if an item needs to be uninstalled. A return code of 0 means uninstall is needed; any other return code causes uninstall to be skipped.
installed_size integer Size of the installed item in kbytes. Used to determine if there is enough free space before install. Typically generated by makepkginfo/munkiimport.
installer_item_hash string SHA-256 hash of item to ensure integrity at install time. Typically generated by makepkginfo/munkiimport. Can also generate with shasum -a 256 <filepath>
installer_item_location string Relative path (from the pkgs directory) to the installer item. Typically auto generated.
installer_item_size integer Size of the installer item in kbytes. Typically auto generated.
installer_type string This key may be absent, in which case an installer item type of Apple package is assumed. Possible values include AdobeSetup, AdobeUberInstaller, AdobeAcrobatUpdater, AdobeCS5AAMEEPackage, AdobeCS5PatchInstaller, AdobeCCPInstaller, copy_from_dmg, nopkg, profile, startosinstall, and appdmg (deprecated). This key is typically auto-generated.
installs array of dictionaries A list of files/bundles/applications installed by this item. See Installs.
items_to_copy array of dictionaries A list of items to copied from a disk image. See items_to_copy.
installer_choices_xml array of dictionaries See installer_choices_xml.
installer_environment dictionary See installer_environment.
localized_strings dictionary Optional key to localize pkgsinfo strings. See localized_strings
minimum_munki_version string Lowest version of the Munki tools that must be running before attempting to install this item.
minimum_os_version string Lowest OS version with which this item is compatible. Defaults to 10.4.0 for bundle packages and 10.5.0 for flat packages.
maximum_os_version string Highest OS version with which this item is compatible.
name string Mandatory. The single most important key. This is the name for the item, referred to in manifest files and in requires and update_for arrays.
notes string Arbitrary admin notes. Not included in catalogs when built with makecatalogs.
PackageCompleteURL string Optional key to redirect actual package download to arbitrary location. Useful to offload bandwidth from location of munki repo/server
PackageURL string PackageInfo-level key that overrides the value of PackageURL in Munki's global preferences. An alternate way to redirect download of a specific package to an alternate server.
package_path string Relative path to the package from the root of a mounted disk image. Useful if there are multiple packages on a disk image or the package you'd like to install is not located at the root of the mounted disk image.
OnDemand boolean Whether this item should be treated as an "OnDemand" install. More info
postinstall_script string A script to be executed after a successful install.
postuninstall_script string A script to be executed after a successful uninstall.
precache boolean Whether to precache a download for an optional install item. See here for more details.
preinstall_alert dictionary An alert dialog to be shown to the user before an attempted install. More info
preuninstall_alert dictionary An alert dialog to be shown to the user before an attempted uninstall. More info
preupgrade_alert dictionary An alert dialog to be shown to the user before an attempted upgrade. More info
preinstall_script string A script to be executed before an attempted install.
preuninstall_script string A script to be executed before an attempted uninstall.
receipts array of dictionaries A list of package receipts left by this item. See Receipts.
requires array of strings A list of other Munki-managed packages that are required to be installed before this item can be installed. More info
RestartAction string Possible values: RequireShutdown, RequireRestart, RecommendRestart, RequireLogout, None
supported_architectures array of strings Likely values: arm64 or x86_64. Matches are done against the value of os.uname()[4], which should be the same as the value returned by /usr/bin/arch.
suppress_bundle_relocation boolean If true, Munki will attempt to suppress the Apple Installer feature that causes it to update applications and other bundle types that have been moved from their default location. Functional only on bundle-style packages; this option has no effect on flat packages at this time.
unattended_install boolean If true, Munki can attempt to install this item without notifying the user. Note: this is an optional key. Setting it to false is the same as omitting the key altogether.
unattended_uninstall boolean If true, Munki can attempt to uninstall this item without notifying the user. Note: this is an optional key. Setting it to false is the same as omitting the key altogether.
uninstall_method string Possible values: removepackages, remove_copied_items, remove_app, uninstall_script, remove_profile, uninstall_package, one of the "Adobe*" removal methods, or the absolute path to a local script.
uninstall_script string Script that performs an uninstall.
uninstaller_item_location string Used with Adobe removal methods that require an uninstaller package.
uninstallable boolean If true, this item can be successfully uninstalled by Munki.
update_for array of strings List of other Munki-managed packages that this should be considered an update for. More info
version string Version number string. Examples: 1.0, 3.6.10

receipts

Array of dictionaries

Most keys are automatically generated by makepkginfo or munkiimport when importing an Apple package. The only key you might need to add or modify is the "optional" key.

Receipt Key Type Description
filename string
installed_size integer
name string
packageid string
version string
optional boolean If set to true, Munki won't use this receipt to determine installation state, but will use its information (if present) when removing an installed package

installs

Array of dictionaries

Not all keys appear in every entry. Use makepkginfo -f /path/to/item to generate these.

Installs Key Type Description
CFBundleIdentifier string Value for CFBundleIdentifier in a plist or application/bundle type.
CFBundleName string Value for CFBundleName in a plist or application/bundle type.
CFBundleShortVersionString string Value for CFBundleShortVersionString in a plist or application/bundle type.
CFBundleVersion string Value for CFBundleVersion in a plist or application/bundle type.
md5checksum string An MD5 checksum used for version comparison by the file type.
minosversion string Minimum OS version required for an application type item. Derived automatically from the application bundle's Info.plist.
minimum_update_version string Optionally limit matching applications to versions of the app greater than or equal to this version.
path string Path to the item installed.
type string One of 'application', 'bundle', 'plist' or 'file'.
version_comparison_key string When install item is any type but 'file', this is the name of the key to be used for version comparison logic. If unspecified, 'CFBundleShortVersionString' is used. The key and its value must always be included in this install item so that this item can be compared with the version on disk.

items_to_copy

Array of Dictionaries

Used with copy_from_dmg installer_type to tell Munki what and where to copy.

items_to_copy key Type Description
destination_path string Destination directory for the item, required. Since 2.2.0, Either this or destination_item (containing a full path) must be present.
group string Optional. Group for copied item. Defaults to admin.
mode string Optional. Mode for copied item (see man chmod for valid formats). Defaults to 'o-w'
source_item string Required. Relative path from the root of the disk image to the item to be copied.
destination_item string Copy item as name specified. Used if you want to rename the item as it is copied. Since 2.2.0 you can specify a full path to the destination item when you omit destination_path.
user string Optional. Owner for copied item. Defaults to root.

installer_choices_xml

Array of Dictionaries

Used with Apple metapackages to control what subpackages are installed. See ChoiceChangesXML for more information.

installer_choices_xml key Type Description
attributeSetting integer
choiceAttribute string ("visible", "enabled", "selected")
choiceIdentifier string

installer_environment

Dictionary

Used to specify arbitrary environment variables for use by /usr/sbin/installer. The combination of the key 'USER' and the value 'CURRENT_CONSOLE_USER' is special, and causes Munki to set the USER variable to the current console user and the HOME variable to the home of the current console user.

Key Type Notes
VARIABLE_NAME string

Adobe related items

These keys are automatically generated by makepkginfo/munkiimport when importing an Adobe CS3/4/5/6 installer package.

Key Type Notes
AdobeSetupType string
payloads array of dictionaries

adobe_install_info

Dictionary

These keys are automatically generated by makepkginfo/munkiimport when importing an Adobe CS3/4/5/6 installer package.

adobe_install_info keys Type Description
serialnumber string
installxml string
uninstallxml string
media_signature string
media_digest string
payload_count integer
suppress_registration boolean
suppress_updates boolean

Introduction

Munki 6.1

Munki 6

Munki 5

Managed Software Center

Command-line Tools

Munki configuration

Manifests

Catalogs

Pkginfo

More Munki Features

Advanced Munki

Related tasks

More

Product-specific notes

Legacy Documentation

Clone this wiki locally