Why do this
The previus built in puppet portage package provider (I'm just going to shorten it to PPPP) only supported very simplistic package interactions. Mainly package name (with slot) install and uninstall. This has proven fairly limiting, if you want to install a specific version of a package and lock it down you were forced to call out to exec or editing
The new provider (which will be built into puppet in 5.0 or puppet-agent-2.0) supports all the package provider attributes.
How do I get this awesome thing
Emerge puppet or puppet-agent with the
experimental use flag.
What it can do
You can use the following attributes with the new PPPP.
- Name - The full package atom works now, using
qatomon the backend.
- ensure - now allowing a package purge as well (
- install_options - you can now pass options to emerge (
- uninstall_options - just like install_options
Being able to call out specific versions and per package install options will give much greater flexability.
Here is the pull request that upstream puppet merged.
If you have any questions I'm on freenode as prometheanfire.