Merge pull request #151 from tux-o-matic/master
Can now pass options to package provider
This commit is contained in:
@@ -18,6 +18,10 @@
|
||||
# The name of the java package. This is configurable in case a non-standard
|
||||
# java package is desired.
|
||||
#
|
||||
# [*package_options*]
|
||||
# Array of strings to pass installation options to the 'package' Puppet resource.
|
||||
# Options available depend on the 'package' provider for the target OS.
|
||||
#
|
||||
# [*java_alternative*]
|
||||
# The name of the java alternative to use on Debian systems.
|
||||
# "update-java-alternatives -l" will show which choices are available.
|
||||
@@ -41,6 +45,7 @@ class java(
|
||||
$distribution = 'jdk',
|
||||
$version = 'present',
|
||||
$package = undef,
|
||||
$package_options = undef,
|
||||
$java_alternative = undef,
|
||||
$java_alternative_path = undef
|
||||
) {
|
||||
@@ -48,6 +53,10 @@ class java(
|
||||
|
||||
validate_re($version, 'present|installed|latest|^[.+_0-9a-zA-Z:-]+$')
|
||||
|
||||
if $package_options != undef {
|
||||
validate_array($package_options)
|
||||
}
|
||||
|
||||
if has_key($java::params::java, $distribution) {
|
||||
$default_package_name = $java::params::java[$distribution]['package']
|
||||
$default_alternative = $java::params::java[$distribution]['alternative']
|
||||
@@ -99,6 +108,7 @@ class java(
|
||||
->
|
||||
package { 'java':
|
||||
ensure => $version,
|
||||
install_options => $package_options,
|
||||
name => $use_java_package_name,
|
||||
}
|
||||
->
|
||||
|
||||
@@ -48,6 +48,13 @@ describe 'java', :type => :class do
|
||||
it { should contain_package('java').with_name('java-1.8.0-openjdk') }
|
||||
end
|
||||
|
||||
context 'select passed value for Fedora 21 with yum option' do
|
||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Fedora', :operatingsystemrelease => '21'} }
|
||||
let(:params) { { 'distribution' => 'jre' } }
|
||||
let(:params) { { 'package_options' => ['--skip-broken'] } }
|
||||
it { should contain_package('java') }
|
||||
end
|
||||
|
||||
context 'select passed value for Centos 5.3' do
|
||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Centos', :operatingsystemrelease => '5.3'} }
|
||||
let(:params) { { 'package' => 'jdk' } }
|
||||
|
||||
Reference in New Issue
Block a user