Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Clone this wiki locally
AutoPkg is an automation framework for macOS software packaging and distribution, oriented towards the tasks one would normally perform manually to prepare third-party software for mass deployment.
These tasks typically involve at least several of the following steps:
- downloading an application and/or updates for it, usually via a web browser
- extracting them from a multitude of archive formats
- adding site-specific configuration
- adding sane versioning information
- "fixing" poorly-written installer scripts
- saving these modifications back to a compressed disk image or installer package
- importing these into a software distribution system like Munki, Jamf Pro, FileWave, etc.
- customizing the associated metadata for such a system with site-specific data, post-installation scripts, version info or other metadata
Often these tasks follow similar patterns for each individual application, and when managing many applications this becomes a daily task full of sub-tasks that one must remember (and/or maintain documentation for) about exactly what had to be done for a successful deployment of every update for every managed piece of software.
A goal of AutoPkg is to be able to define these steps in a "Recipe", which can be defined in an understood (plist-based) format, run automatically instead of by hand, and shared with others.