Goals: - Heterogeneous (Mac OS X, Linux server, Linux workstation) Solution: - include $operatingsystem. Examples: - http://paste.pocoo.org/show/181132/ - http://paste.pocoo.org/show/181133/ - Existing but patched package providers: appdmg, darwinport - My own package providers: appzip, pkgzip - Using /var/db - Configurable versions. Example: http://paste.pocoo.org/show/181134/ Deployment: - git push Challenges: - I don't like the version numbers in package name (problem for requires) - Different package formats - Macports provider is very slow (package list) - Languages / I18N (error messages) - Software that needs CDs => mirror to a server - Original downloads get removed => mirror to own server - How to handle installation-specific data (localdata) Source: - http://github.com/pneff/puppet-darwin