-
Notifications
You must be signed in to change notification settings - Fork 339
Repackaging
Some pointers on repackaging software
Munki can install software distributed in Apple package format, from "drag-n-drop" disk images, and software "packaged" with Adobe CS3/4/5/6/CC Enterprise Deployment tools.
But some software may have to be repackaged in order to be installed by Munki. Some examples of types of software that may need to be packaged or repackaged:
- Software distributed in InstallVISE or InstallAnywhere format.
- Software distributed in Apple package format, but the package doesn't work silently or at the loginwindow.
- Software you develop yourself that isn't packaged at all
Generally speaking, you should avoid repackaging software unless there is no choice. If you repackage, you accept responsibility for any issues your non-vendor-supported installer might create.
Here are some useful tools for creating Apple Installer packages. This is not an exhaustive list; there are other tools available. These are either ones I've used personally, or can recommend for other reasons.
AutoPkg
https://github.com/autopkg/autopkg
AutoPkg is an automation tool that runs recipes to automate the tasks of finding, downloading and preparing software for mass deployment. Some of the available recipes do repackaging of some problematic software; if you need to repackage, consider first looking for an AutoPkg recipe that does it for you.
Some notes on using AutoPkg as a general-purpose packaging tool:
https://managingosx.wordpress.com/2015/07/30/using-autopkg-for-general-purpose-packaging/
munkipkg
https://github.com/munki/munki-pkg
munkipkg is a simple tool for building packages in a consistent, repeatable manner from source files and scripts in a project directory.
Files, scripts, and metadata are stored in a way that is easy to track and manage using a version control system like git.
pkgbuild and productbuild
Command-line tools for building packages. Installed by default on OS X 10.7 and up. See their man pages for more information.
Pros: universally available. Supported by Apple. Easy to integrate into automated workflows.
Cons: command-line only, so requires some mental work to get started.
Packages
http://s.sudre.free.fr/Software/Packages.html
Modern packaging tool from the creator of Iceberg. Recommended as a GUI tool to build flat packages.
Jamf Composer
https://www.jamf.com/products/jamf-composer/
Composer is one of the macOS tools included with Jamf Pro, but it is also available separately from Jamf for USD $100 (an educational discount is available). Composer can create packages using a number of methods, most notably by comparing filesystem snapshots or by monitoring file system events. It can also create installation packages with extra abilities when used with Jamf Pro, such as installing default preferences into users' home directories. If you want to edit an existing package, Composer can import it for editing and repackaging.
Pros: Easy to use. Good documentation.
Cons: It's not free. Composer's special package features work only with Jamf Pro.
These are old, but still hold some relevance if you do need to re-package someones software, or indeed for Vendors learning how to package their tools for macOS:
- Getting Started
- Overview
- Discussion Group
- Demonstration Setup
- Glossary
- Frequently Asked Questions
- Contributing to Munki
- Release Notes
- Introduction
- Managed Software Center in Munki 5.2
- Manual Apple Updates
- force_install_after_date for Apple Updates
- Additional update encouragement
- Aggressive update notifications
- AggressiveUpdateNotificationDays preference
- Additional Munki 5 changes
- Configuration profile notes
- Major macOS upgrade notes
- Upgrading to Munki 5
- Introduction
- Munki Links
- Product Icons
- Screenshots In Product Descriptions
- Client Customization
- Custom Help Content
- Featured Items
- Update Notifications:
- Introduction
- iconimporter
- makepkginfo
- munkiimport
- managedsoftwareupdate
- makecatalogs
- manifestutil
- repoclean
- Preferences
- Default Repo Detection
- Default Manifest Resolution
- Managed Preferences Support In Munki
- Apple Software Updates With Munki
- Pkginfo Files
- Supported Pkginfo Keys
- Pre And Postinstall Scripts
- Munki And AutoRemove
- Blocking Applications
- ChoiceChangesXML
- CopyFromDMG
- nopkg items
- How Munki Decides What Needs To Be Installed
- Default Installs
- Removal of Unused Software
- Upgrading macOS:
- Apple Updates:
- Securing the Munki repo
- Preflight And Postflight Scripts
- Report Broken Client
- MSC Logging
- Munki With Git
- Bootstrapping With Munki
- License Seat Tracking
- LaunchD Jobs and Changing When Munki Runs
- Web Request Middleware
- Repo Plugins
- Downgrading Software
- Downgrading Munki tools
- Authorized Restarts
- Allowing Untrusted Packages
- About Munki's Embedded Python
- Customizing Python for Munki
- Configuration Profile Emulation
- PPPC Privacy permissions
- AutoPkg
- Repackaging
- Creating Disk Images
- Stupid Munki Tricks
- Troubleshooting
- Professional Support
- Known Issues and Workarounds
- Building Munki packages
- Munki packages and restarts
- Signing Munki
- Removing Munki
- More Links And Tools
- Munki Configuration Script
- Who's Using Munki
- Munki 3 Information
- Munki 4 Information
- macOS Monterey Info
- Pkginfo For Apple Software Updates
- Managing Configuration Profiles
- Microsoft Office
- Adobe Products
- Upgrading macOS: