Sunday, December 02, 2012
I have released version 0.2.3 of puppet-packagelist. It contains some very nice enhancements, which I'll be expanding upon very soon.
Differences in 0.2.3:
- Custom type / provider replace the parser function
- Basic Debian support
- Much improved call syntax
- Ability to pass in lists derived from other places in puppet DSL
- Fixed name-only issue with RPM package provider, making it possible to specify packages without a version and still use the purging functionality
- Added lots of debugging statements for traceability
Calls to the module can now be made in ways similar to the following examples:
Create a package list:
# RedHat
rpm -qa > my-packages.lst
# Debian
dpkg-query --show > my-packages.lst
Keep kernel and grub at latest, don't purge other packages:
# RedHat
packagelist { 'mypackagelist': packages => [ 'kernel', 'grub' ] }
# Debian
packagelist { 'mypackagelist': packages => [ 'linux-image-generic', 'grub-common' ] }
Load in a packagelist from a list file (one package per line):
# RedHat / Debian
packagelist { '/root/my-packages.lst': }
Load in a packagelist file, purging anything not mentioned within it:
# RedHat / Debian
packagelist { '/root/my-packages.lst': purge => true }
Pass in a packagelist loaded from somewhere else, using both versioned and unversioned packages:
# RedHat
$packages = [
'kernel-2.6.32-279.el6.x86_64',
'grub-0.97-77.el6.x86_64',
'vim-minimal'
]
# Debian
$packages = [
'linux-image-generic 3.5.0.17.19',
'grub-common 2.00-7ubuntu11',
'vim'
]
# RedHat / Debian
packagelist { 'mypackagelist':
packages => $packages,
purge => false;
}
Pass in a packagelist loaded from a file using the source parameter:
# RedHat / Debian
packagelist { 'mypackagelist':
source => '/root/my-packages.lst',
purge => true;
}
puppet-packagelist 0.2.3 is release under the MIT license. Previous versions were released under the Apache 2.0 license.