Merge pull request #184 from ntpttr/fix/master/modules-2971
(MODULES-2971) Add java_home to all operating systems
This commit is contained in:
@@ -9,6 +9,13 @@ class java::config ( ) {
|
|||||||
unless => "test /etc/alternatives/java -ef '${java::use_java_alternative_path}'",
|
unless => "test /etc/alternatives/java -ef '${java::use_java_alternative_path}'",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if $java::use_java_home != undef {
|
||||||
|
file_line { 'java-home-environment':
|
||||||
|
path => '/etc/environment',
|
||||||
|
line => "JAVA_HOME=${$java::use_java_home}",
|
||||||
|
match => 'JAVA_HOME=',
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
'RedHat': {
|
'RedHat': {
|
||||||
if $java::use_java_alternative != undef and $java::use_java_alternative_path != undef {
|
if $java::use_java_alternative != undef and $java::use_java_alternative_path != undef {
|
||||||
@@ -29,6 +36,49 @@ class java::config ( ) {
|
|||||||
unless => "test /etc/alternatives/java -ef '${java::use_java_alternative_path}'",
|
unless => "test /etc/alternatives/java -ef '${java::use_java_alternative_path}'",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if $java::use_java_home != undef {
|
||||||
|
file_line { 'java-home-environment':
|
||||||
|
path => '/etc/environment',
|
||||||
|
line => "JAVA_HOME=${$java::use_java_home}",
|
||||||
|
match => 'JAVA_HOME=',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
'OpenBSD': {
|
||||||
|
if $java::use_java_home != undef {
|
||||||
|
file_line { 'java-home-environment':
|
||||||
|
path => '/etc/environment',
|
||||||
|
line => "JAVA_HOME=${$java::use_java_home}",
|
||||||
|
match => 'JAVA_HOME=',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
'FreeBSD': {
|
||||||
|
if $java::use_java_home != undef {
|
||||||
|
file_line { 'java-home-environment':
|
||||||
|
path => '/etc/environment',
|
||||||
|
line => "JAVA_HOME=${$java::use_java_home}",
|
||||||
|
match => 'JAVA_HOME=',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
'Suse': {
|
||||||
|
if $java::use_java_home != undef {
|
||||||
|
file_line { 'java-home-environment':
|
||||||
|
path => '/etc/environment',
|
||||||
|
line => "JAVA_HOME=${$java::use_java_home}",
|
||||||
|
match => 'JAVA_HOME=',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
'Solaris': {
|
||||||
|
if $java::use_java_home != undef {
|
||||||
|
file_line { 'java-home-environment':
|
||||||
|
path => '/etc/environment',
|
||||||
|
line => "JAVA_HOME=${$java::use_java_home}",
|
||||||
|
match => 'JAVA_HOME=',
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
default: {
|
default: {
|
||||||
# Do nothing.
|
# Do nothing.
|
||||||
|
|||||||
@@ -35,6 +35,10 @@
|
|||||||
# alternative is actually enabled, this is required to ensure the
|
# alternative is actually enabled, this is required to ensure the
|
||||||
# correct JVM is enabled.
|
# correct JVM is enabled.
|
||||||
#
|
#
|
||||||
|
# [*java_home*]
|
||||||
|
# The path to where the JRE is installed. This will be set as an
|
||||||
|
# environment variable.
|
||||||
|
#
|
||||||
# Actions:
|
# Actions:
|
||||||
#
|
#
|
||||||
# Requires:
|
# Requires:
|
||||||
@@ -47,7 +51,8 @@ class java(
|
|||||||
$package = undef,
|
$package = undef,
|
||||||
$package_options = undef,
|
$package_options = undef,
|
||||||
$java_alternative = undef,
|
$java_alternative = undef,
|
||||||
$java_alternative_path = undef
|
$java_alternative_path = undef,
|
||||||
|
$java_home = undef
|
||||||
) {
|
) {
|
||||||
include java::params
|
include java::params
|
||||||
|
|
||||||
@@ -61,7 +66,7 @@ class java(
|
|||||||
$default_package_name = $java::params::java[$distribution]['package']
|
$default_package_name = $java::params::java[$distribution]['package']
|
||||||
$default_alternative = $java::params::java[$distribution]['alternative']
|
$default_alternative = $java::params::java[$distribution]['alternative']
|
||||||
$default_alternative_path = $java::params::java[$distribution]['alternative_path']
|
$default_alternative_path = $java::params::java[$distribution]['alternative_path']
|
||||||
$java_home = $java::params::java[$distribution]['java_home']
|
$default_java_home = $java::params::java[$distribution]['java_home']
|
||||||
} else {
|
} else {
|
||||||
fail("Java distribution ${distribution} is not supported.")
|
fail("Java distribution ${distribution} is not supported.")
|
||||||
}
|
}
|
||||||
@@ -91,6 +96,14 @@ class java(
|
|||||||
default => $java_alternative_path,
|
default => $java_alternative_path,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$use_java_home = $java_home ? {
|
||||||
|
undef => $use_java_package_name ? {
|
||||||
|
$default_package_name => $default_java_home,
|
||||||
|
default => undef,
|
||||||
|
},
|
||||||
|
default => $java_home,
|
||||||
|
}
|
||||||
|
|
||||||
$jre_flag = $use_java_package_name ? {
|
$jre_flag = $use_java_package_name ? {
|
||||||
/headless/ => '--jre-headless',
|
/headless/ => '--jre-headless',
|
||||||
default => '--jre'
|
default => '--jre'
|
||||||
|
|||||||
@@ -19,39 +19,52 @@ class java::params {
|
|||||||
if (versioncmp($::operatingsystemrelease, '5.0') < 0) {
|
if (versioncmp($::operatingsystemrelease, '5.0') < 0) {
|
||||||
$jdk_package = 'java-1.6.0-sun-devel'
|
$jdk_package = 'java-1.6.0-sun-devel'
|
||||||
$jre_package = 'java-1.6.0-sun'
|
$jre_package = 'java-1.6.0-sun'
|
||||||
|
$java_home = '/usr/lib/jvm/java-1.6.0-sun/jre/'
|
||||||
}
|
}
|
||||||
elsif (versioncmp($::operatingsystemrelease, '6.3') < 0) {
|
elsif (versioncmp($::operatingsystemrelease, '6.3') < 0) {
|
||||||
$jdk_package = 'java-1.6.0-openjdk-devel'
|
$jdk_package = 'java-1.6.0-openjdk-devel'
|
||||||
$jre_package = 'java-1.6.0-openjdk'
|
$jre_package = 'java-1.6.0-openjdk'
|
||||||
|
$java_home = "/usr/lib/jvm/java-1.6.0-openjdk-${::architecture}/"
|
||||||
}
|
}
|
||||||
elsif (versioncmp($::operatingsystemrelease, '7.1') < 0) {
|
elsif (versioncmp($::operatingsystemrelease, '7.1') < 0) {
|
||||||
$jdk_package = 'java-1.7.0-openjdk-devel'
|
$jdk_package = 'java-1.7.0-openjdk-devel'
|
||||||
$jre_package = 'java-1.7.0-openjdk'
|
$jre_package = 'java-1.7.0-openjdk'
|
||||||
|
$java_home = "/usr/lib/jvm/java-1.7.0-openjdk-${::architecture}/"
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$jdk_package = 'java-1.8.0-openjdk-devel'
|
$jdk_package = 'java-1.8.0-openjdk-devel'
|
||||||
$jre_package = 'java-1.8.0-openjdk'
|
$jre_package = 'java-1.8.0-openjdk'
|
||||||
|
$java_home = "/usr/lib/jvm/java-1.8.0-openjdk-${::architecture}/"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
'Fedora': {
|
'Fedora': {
|
||||||
if (versioncmp($::operatingsystemrelease, '21') < 0) {
|
if (versioncmp($::operatingsystemrelease, '21') < 0) {
|
||||||
$jdk_package = 'java-1.7.0-openjdk-devel'
|
$jdk_package = 'java-1.7.0-openjdk-devel'
|
||||||
$jre_package = 'java-1.7.0-openjdk'
|
$jre_package = 'java-1.7.0-openjdk'
|
||||||
|
$java_home = "/usr/lib/jvm/java-1.7.0-openjdk-${::architecture}/"
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$jdk_package = 'java-1.8.0-openjdk-devel'
|
$jdk_package = 'java-1.8.0-openjdk-devel'
|
||||||
$jre_package = 'java-1.8.0-openjdk'
|
$jre_package = 'java-1.8.0-openjdk'
|
||||||
|
$java_home = "/usr/lib/jvm/java-1.8.0-openjdk-${::architecture}/"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
'Amazon': {
|
'Amazon': {
|
||||||
$jdk_package = 'java-1.7.0-openjdk-devel'
|
$jdk_package = 'java-1.7.0-openjdk-devel'
|
||||||
$jre_package = 'java-1.7.0-openjdk'
|
$jre_package = 'java-1.7.0-openjdk'
|
||||||
|
$java_home = "/usr/lib/jvm/java-1.7.0-openjdk-${::architecture}/"
|
||||||
}
|
}
|
||||||
default: { fail("unsupported os ${::operatingsystem}") }
|
default: { fail("unsupported os ${::operatingsystem}") }
|
||||||
}
|
}
|
||||||
$java = {
|
$java = {
|
||||||
'jdk' => { 'package' => $jdk_package, },
|
'jdk' => {
|
||||||
'jre' => { 'package' => $jre_package, },
|
'package' => $jdk_package,
|
||||||
|
'java_home' => $java_home,
|
||||||
|
},
|
||||||
|
'jre' => {
|
||||||
|
'package' => $jre_package,
|
||||||
|
'java_home' => $java_home,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
'Debian': {
|
'Debian': {
|
||||||
@@ -161,20 +174,38 @@ class java::params {
|
|||||||
}
|
}
|
||||||
'OpenBSD': {
|
'OpenBSD': {
|
||||||
$java = {
|
$java = {
|
||||||
'jdk' => { 'package' => 'jdk', },
|
'jdk' => {
|
||||||
'jre' => { 'package' => 'jre', },
|
'package' => 'jdk',
|
||||||
|
'java_home' => '/usr/local/jdk/',
|
||||||
|
},
|
||||||
|
'jre' => {
|
||||||
|
'package' => 'jre',
|
||||||
|
'java_home' => '/usr/local/jdk/',
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
'FreeBSD': {
|
'FreeBSD': {
|
||||||
$java = {
|
$java = {
|
||||||
'jdk' => { 'package' => 'openjdk', },
|
'jdk' => {
|
||||||
'jre' => { 'package' => 'openjdk-jre', },
|
'package' => 'openjdk',
|
||||||
|
'java_home' => '/usr/local/openjdk7/',
|
||||||
|
},
|
||||||
|
'jre' => {
|
||||||
|
'package' => 'openjdk-jre',
|
||||||
|
'java_home' => '/usr/local/openjdk7/',
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
'Solaris': {
|
'Solaris': {
|
||||||
$java = {
|
$java = {
|
||||||
'jdk' => { 'package' => 'developer/java/jdk-7', },
|
'jdk' => {
|
||||||
'jre' => { 'package' => 'runtime/java/jre-7', },
|
'package' => 'developer/java/jdk-7',
|
||||||
|
'java_home' => '/usr/jdk/instances/jdk1.7.0/',
|
||||||
|
},
|
||||||
|
'jre' => {
|
||||||
|
'package' => 'runtime/java/jre-7',
|
||||||
|
'java_home' => '/usr/jdk/instances/jdk1.7.0/',
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
'Suse': {
|
'Suse': {
|
||||||
@@ -183,26 +214,37 @@ class java::params {
|
|||||||
if (versioncmp($::operatingsystemrelease, '12') >= 0) {
|
if (versioncmp($::operatingsystemrelease, '12') >= 0) {
|
||||||
$jdk_package = 'java-1_7_0-openjdk-devel'
|
$jdk_package = 'java-1_7_0-openjdk-devel'
|
||||||
$jre_package = 'java-1_7_0-openjdk'
|
$jre_package = 'java-1_7_0-openjdk'
|
||||||
|
$java_home = '/usr/lib64/jvm/java-1.7.0-openjdk-1.7.0/'
|
||||||
} elsif (versioncmp($::operatingsystemrelease, '11.4') >= 0) {
|
} elsif (versioncmp($::operatingsystemrelease, '11.4') >= 0) {
|
||||||
$jdk_package = 'java-1_7_0-ibm-devel'
|
$jdk_package = 'java-1_7_0-ibm-devel'
|
||||||
$jre_package = 'java-1_7_0-ibm'
|
$jre_package = 'java-1_7_0-ibm'
|
||||||
|
$java_home = '/usr/lib64/jvm/java-1.7.0-ibm-1.7.0/'
|
||||||
} else {
|
} else {
|
||||||
$jdk_package = 'java-1_6_0-ibm-devel'
|
$jdk_package = 'java-1_6_0-ibm-devel'
|
||||||
$jre_package = 'java-1_6_0-ibm'
|
$jre_package = 'java-1_6_0-ibm'
|
||||||
|
$java_home = '/usr/lib64/jvm/java-1.6.0-ibm-1.6.0/'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
'OpenSuSE': {
|
'OpenSuSE': {
|
||||||
$jdk_package = 'java-1_7_0-openjdk-devel'
|
$jdk_package = 'java-1_7_0-openjdk-devel'
|
||||||
$jre_package = 'java-1_7_0-openjdk'
|
$jre_package = 'java-1_7_0-openjdk'
|
||||||
|
$java_home = '/usr/lib64/jvm/java-1.7.0-openjdk-1.7.0/'
|
||||||
}
|
}
|
||||||
default: {
|
default: {
|
||||||
$jdk_package = 'java-1_6_0-ibm-devel'
|
$jdk_package = 'java-1_6_0-ibm-devel'
|
||||||
$jre_package = 'java-1_6_0-ibm'
|
$jre_package = 'java-1_6_0-ibm'
|
||||||
|
$java_home = '/usr/lib64/jvm/java-1.6.0-ibd-1.6.0/'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$java = {
|
$java = {
|
||||||
'jdk' => { 'package' => $jdk_package, },
|
'jdk' => {
|
||||||
'jre' => { 'package' => $jre_package, },
|
'package' => $jdk_package,
|
||||||
|
'java_home' => $java_home,
|
||||||
|
},
|
||||||
|
'jre' => {
|
||||||
|
'package' => $jre_package,
|
||||||
|
'java_home' => $java_home,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
default: { fail("unsupported platform ${::osfamily}") }
|
default: { fail("unsupported platform ${::osfamily}") }
|
||||||
|
|||||||
@@ -3,28 +3,31 @@ require 'spec_helper'
|
|||||||
describe 'java', :type => :class do
|
describe 'java', :type => :class do
|
||||||
|
|
||||||
context 'select openjdk for Centos 5.8' do
|
context 'select openjdk for Centos 5.8' do
|
||||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Centos', :operatingsystemrelease => '5.8'} }
|
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Centos', :operatingsystemrelease => '5.8', :architecture => 'x86_64'} }
|
||||||
it { is_expected.to contain_package('java').with_name('java-1.6.0-openjdk-devel') }
|
it { is_expected.to contain_package('java').with_name('java-1.6.0-openjdk-devel') }
|
||||||
|
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-x86_64/') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select openjdk for Centos 6.3' do
|
context 'select openjdk for Centos 6.3' do
|
||||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Centos', :operatingsystemrelease => '6.3'} }
|
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Centos', :operatingsystemrelease => '6.3', :architecture => 'x86_64'} }
|
||||||
it { is_expected.to contain_package('java').with_name('java-1.7.0-openjdk-devel') }
|
it { is_expected.to contain_package('java').with_name('java-1.7.0-openjdk-devel') }
|
||||||
|
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-x86_64/') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select openjdk for Centos 7.1.1503' do
|
context 'select openjdk for Centos 7.1.1503' do
|
||||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Centos', :operatingsystemrelease => '7.1.1503'} }
|
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Centos', :operatingsystemrelease => '7.1.1503', :architecture => 'x86_64'} }
|
||||||
it { is_expected.to contain_package('java').with_name('java-1.8.0-openjdk-devel') }
|
it { is_expected.to contain_package('java').with_name('java-1.8.0-openjdk-devel') }
|
||||||
|
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-x86_64/') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select openjdk for Centos 6.2' do
|
context 'select openjdk for Centos 6.2' do
|
||||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Centos', :operatingsystemrelease => '6.2'} }
|
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Centos', :operatingsystemrelease => '6.2', :architecture => 'x86_64'} }
|
||||||
it { is_expected.to contain_package('java').with_name('java-1.6.0-openjdk-devel') }
|
it { is_expected.to contain_package('java').with_name('java-1.6.0-openjdk-devel') }
|
||||||
it { is_expected.to_not contain_exec('update-java-alternatives') }
|
it { is_expected.to_not contain_exec('update-java-alternatives') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select Oracle JRE with alternatives for Centos 6.3' do
|
context 'select Oracle JRE with alternatives for Centos 6.3' do
|
||||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Centos', :operatingsystemrelease => '6.3'} }
|
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Centos', :operatingsystemrelease => '6.3', :architecture => 'x86_64'} }
|
||||||
let(:params) { { 'package' => 'jre', 'java_alternative' => '/usr/bin/java', 'java_alternative_path' => '/usr/java/jre1.7.0_67/bin/java'} }
|
let(:params) { { 'package' => 'jre', 'java_alternative' => '/usr/bin/java', 'java_alternative_path' => '/usr/java/jre1.7.0_67/bin/java'} }
|
||||||
it { is_expected.to contain_package('java').with_name('jre') }
|
it { is_expected.to contain_package('java').with_name('jre') }
|
||||||
it { is_expected.to contain_exec('create-java-alternatives').with_command('alternatives --install /usr/bin/java java /usr/java/jre1.7.0_67/bin/java 20000') }
|
it { is_expected.to contain_exec('create-java-alternatives').with_command('alternatives --install /usr/bin/java java /usr/java/jre1.7.0_67/bin/java 20000') }
|
||||||
@@ -32,43 +35,47 @@ describe 'java', :type => :class do
|
|||||||
end
|
end
|
||||||
|
|
||||||
context 'select openjdk for Fedora 20' do
|
context 'select openjdk for Fedora 20' do
|
||||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Fedora', :operatingsystemrelease => '20'} }
|
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Fedora', :operatingsystemrelease => '20', :architecture => 'x86_64'} }
|
||||||
it { is_expected.to contain_package('java').with_name('java-1.7.0-openjdk-devel') }
|
it { is_expected.to contain_package('java').with_name('java-1.7.0-openjdk-devel') }
|
||||||
|
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-x86_64/') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select openjdk for Fedora 21' do
|
context 'select openjdk for Fedora 21' do
|
||||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Fedora', :operatingsystemrelease => '21'} }
|
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Fedora', :operatingsystemrelease => '21', :architecture => 'x86_64'} }
|
||||||
it { is_expected.to contain_package('java').with_name('java-1.8.0-openjdk-devel') }
|
it { is_expected.to contain_package('java').with_name('java-1.8.0-openjdk-devel') }
|
||||||
|
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-x86_64/') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select passed value for Fedora 20' do
|
context 'select passed value for Fedora 20' do
|
||||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Fedora', :operatingsystemrelease => '20'} }
|
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Fedora', :operatingsystemrelease => '20', :architecture => 'x86_64'} }
|
||||||
let(:params) { { 'distribution' => 'jre' } }
|
let(:params) { { 'distribution' => 'jre', 'java_home' => '/usr/local/lib/jre/' } }
|
||||||
it { is_expected.to contain_package('java').with_name('java-1.7.0-openjdk') }
|
it { is_expected.to contain_package('java').with_name('java-1.7.0-openjdk') }
|
||||||
|
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/local/lib/jre/') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select passed value for Fedora 21' do
|
context 'select passed value for Fedora 21' do
|
||||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Fedora', :operatingsystemrelease => '21'} }
|
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Fedora', :operatingsystemrelease => '21', :architecture => 'x86_64'} }
|
||||||
let(:params) { { 'distribution' => 'jre' } }
|
let(:params) { { 'distribution' => 'jre', 'java_home' => '/usr/local/lib/jre/' } }
|
||||||
it { is_expected.to contain_package('java').with_name('java-1.8.0-openjdk') }
|
it { is_expected.to contain_package('java').with_name('java-1.8.0-openjdk') }
|
||||||
|
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/local/lib/jre/') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select passed value for Fedora 21 with yum option' do
|
context 'select passed value for Fedora 21 with yum option' do
|
||||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Fedora', :operatingsystemrelease => '21'} }
|
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Fedora', :operatingsystemrelease => '21', :architecture => 'x86_64'} }
|
||||||
let(:params) { { 'distribution' => 'jre' } }
|
let(:params) { { 'distribution' => 'jre' } }
|
||||||
let(:params) { { 'package_options' => ['--skip-broken'] } }
|
let(:params) { { 'package_options' => ['--skip-broken'] } }
|
||||||
it { is_expected.to contain_package('java') }
|
it { is_expected.to contain_package('java') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select passed value for Centos 5.3' do
|
context 'select passed value for Centos 5.3' do
|
||||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Centos', :operatingsystemrelease => '5.3'} }
|
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Centos', :operatingsystemrelease => '5.3', :architecture => 'x86_64'} }
|
||||||
let(:params) { { 'package' => 'jdk' } }
|
let(:params) { { 'package' => 'jdk', 'java_home' => '/usr/local/lib/jre' } }
|
||||||
it { is_expected.to contain_package('java').with_name('jdk') }
|
it { is_expected.to contain_package('java').with_name('jdk') }
|
||||||
it { is_expected.to_not contain_exec('update-java-alternatives') }
|
it { is_expected.to_not contain_exec('update-java-alternatives') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select default for Centos 5.3' do
|
context 'select default for Centos 5.3' do
|
||||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Centos', :operatingsystemrelease => '5.3'} }
|
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Centos', :operatingsystemrelease => '5.3', :architecture => 'x86_64'} }
|
||||||
it { is_expected.to contain_package('java').with_name('java-1.6.0-openjdk-devel') }
|
it { is_expected.to contain_package('java').with_name('java-1.6.0-openjdk-devel') }
|
||||||
it { is_expected.to_not contain_exec('update-java-alternatives') }
|
it { is_expected.to_not contain_exec('update-java-alternatives') }
|
||||||
end
|
end
|
||||||
@@ -77,6 +84,7 @@ describe 'java', :type => :class do
|
|||||||
let(:facts) { {:osfamily => 'Debian', :operatingsystem => 'Debian', :lsbdistcodename => 'wheezy', :operatingsystemrelease => '7.1', :architecture => 'amd64',} }
|
let(:facts) { {:osfamily => 'Debian', :operatingsystem => 'Debian', :lsbdistcodename => 'wheezy', :operatingsystemrelease => '7.1', :architecture => 'amd64',} }
|
||||||
it { is_expected.to contain_package('java').with_name('openjdk-7-jdk') }
|
it { is_expected.to contain_package('java').with_name('openjdk-7-jdk') }
|
||||||
it { is_expected.to contain_exec('update-java-alternatives').with_command('update-java-alternatives --set java-1.7.0-openjdk-amd64 --jre') }
|
it { is_expected.to contain_exec('update-java-alternatives').with_command('update-java-alternatives --set java-1.7.0-openjdk-amd64 --jre') }
|
||||||
|
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64/') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select Oracle JRE for Debian Wheezy' do
|
context 'select Oracle JRE for Debian Wheezy' do
|
||||||
@@ -84,6 +92,7 @@ describe 'java', :type => :class do
|
|||||||
let(:params) { { 'distribution' => 'oracle-jre' } }
|
let(:params) { { 'distribution' => 'oracle-jre' } }
|
||||||
it { is_expected.to contain_package('java').with_name('oracle-j2re1.7') }
|
it { is_expected.to contain_package('java').with_name('oracle-j2re1.7') }
|
||||||
it { is_expected.to contain_exec('update-java-alternatives').with_command('update-java-alternatives --set j2re1.7-oracle --jre') }
|
it { is_expected.to contain_exec('update-java-alternatives').with_command('update-java-alternatives --set j2re1.7-oracle --jre') }
|
||||||
|
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/j2re1.7-oracle/') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select Oracle Java 8 JRE >=u100 for Debian Wheezy' do
|
context 'select Oracle Java 8 JRE >=u100 for Debian Wheezy' do
|
||||||
@@ -106,6 +115,7 @@ describe 'java', :type => :class do
|
|||||||
let(:params) { { 'distribution' => 'jre' } }
|
let(:params) { { 'distribution' => 'jre' } }
|
||||||
it { is_expected.to contain_package('java').with_name('openjdk-7-jre-headless') }
|
it { is_expected.to contain_package('java').with_name('openjdk-7-jre-headless') }
|
||||||
it { is_expected.to contain_exec('update-java-alternatives').with_command('update-java-alternatives --set java-1.7.0-openjdk-amd64 --jre-headless') }
|
it { is_expected.to contain_exec('update-java-alternatives').with_command('update-java-alternatives --set java-1.7.0-openjdk-amd64 --jre-headless') }
|
||||||
|
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64/') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select default for Debian Squeeze' do
|
context 'select default for Debian Squeeze' do
|
||||||
@@ -119,6 +129,7 @@ describe 'java', :type => :class do
|
|||||||
let(:params) { { 'distribution' => 'sun-jre', } }
|
let(:params) { { 'distribution' => 'sun-jre', } }
|
||||||
it { is_expected.to contain_package('java').with_name('sun-java6-jre') }
|
it { is_expected.to contain_package('java').with_name('sun-java6-jre') }
|
||||||
it { is_expected.to contain_exec('update-java-alternatives').with_command('update-java-alternatives --set java-6-sun --jre') }
|
it { is_expected.to contain_exec('update-java-alternatives').with_command('update-java-alternatives --set java-6-sun --jre') }
|
||||||
|
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-6-sun/jre/') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select OpenJDK JRE for Debian Squeeze' do
|
context 'select OpenJDK JRE for Debian Squeeze' do
|
||||||
@@ -126,6 +137,7 @@ describe 'java', :type => :class do
|
|||||||
let(:params) { { 'distribution' => 'jre', } }
|
let(:params) { { 'distribution' => 'jre', } }
|
||||||
it { is_expected.to contain_package('java').with_name('openjdk-6-jre-headless') }
|
it { is_expected.to contain_package('java').with_name('openjdk-6-jre-headless') }
|
||||||
it { is_expected.to contain_exec('update-java-alternatives').with_command('update-java-alternatives --set java-6-openjdk-amd64 --jre-headless') }
|
it { is_expected.to contain_exec('update-java-alternatives').with_command('update-java-alternatives --set java-6-openjdk-amd64 --jre-headless') }
|
||||||
|
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-6-openjdk/jre/') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select random alternative for Debian Wheezy' do
|
context 'select random alternative for Debian Wheezy' do
|
||||||
@@ -139,74 +151,83 @@ describe 'java', :type => :class do
|
|||||||
let(:facts) { {:osfamily => 'Debian', :operatingsystem => 'Ubuntu', :lsbdistcodename => 'vivid', :operatingsystemrelease => '15.04', :architecture => 'amd64',} }
|
let(:facts) { {:osfamily => 'Debian', :operatingsystem => 'Ubuntu', :lsbdistcodename => 'vivid', :operatingsystemrelease => '15.04', :architecture => 'amd64',} }
|
||||||
let(:params) { { 'distribution' => 'jdk' } }
|
let(:params) { { 'distribution' => 'jdk' } }
|
||||||
it { is_expected.to contain_package('java').with_name('openjdk-8-jdk') }
|
it { is_expected.to contain_package('java').with_name('openjdk-8-jdk') }
|
||||||
|
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64/') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select jre for Ubuntu Vivid (15.04)' do
|
context 'select jre for Ubuntu Vivid (15.04)' do
|
||||||
let(:facts) { {:osfamily => 'Debian', :operatingsystem => 'Ubuntu', :lsbdistcodename => 'vivid', :operatingsystemrelease => '15.04', :architecture => 'amd64',} }
|
let(:facts) { {:osfamily => 'Debian', :operatingsystem => 'Ubuntu', :lsbdistcodename => 'vivid', :operatingsystemrelease => '15.04', :architecture => 'amd64',} }
|
||||||
let(:params) { { 'distribution' => 'jre' } }
|
let(:params) { { 'distribution' => 'jre' } }
|
||||||
it { is_expected.to contain_package('java').with_name('openjdk-8-jre-headless') }
|
it { is_expected.to contain_package('java').with_name('openjdk-8-jre-headless') }
|
||||||
|
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64/') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select openjdk for Amazon Linux' do
|
context 'select openjdk for Amazon Linux' do
|
||||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Amazon', :operatingsystemrelease => '3.4.43-43.43.amzn1.x86_64'} }
|
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Amazon', :operatingsystemrelease => '3.4.43-43.43.amzn1.x86_64', :architecture => 'x86_64'} }
|
||||||
it { is_expected.to contain_package('java').with_name('java-1.7.0-openjdk-devel') }
|
it { is_expected.to contain_package('java').with_name('java-1.7.0-openjdk-devel') }
|
||||||
|
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-x86_64/') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select passed value for Amazon Linux' do
|
context 'select passed value for Amazon Linux' do
|
||||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Amazon', :operatingsystemrelease => '5.3.4.43-43.43.amzn1.x86_64'} }
|
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Amazon', :operatingsystemrelease => '5.3.4.43-43.43.amzn1.x86_64', :architecture => 'x86_64'} }
|
||||||
let(:params) { { 'distribution' => 'jre' } }
|
let(:params) { { 'distribution' => 'jre' } }
|
||||||
it { is_expected.to contain_package('java').with_name('java-1.7.0-openjdk') }
|
it { is_expected.to contain_package('java').with_name('java-1.7.0-openjdk') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select openjdk for Oracle Linux' do
|
context 'select openjdk for Oracle Linux' do
|
||||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'OracleLinux', :operatingsystemrelease => '6.4'} }
|
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'OracleLinux', :operatingsystemrelease => '6.4', :architecture => 'x86_64'} }
|
||||||
it { is_expected.to contain_package('java').with_name('java-1.7.0-openjdk-devel') }
|
it { is_expected.to contain_package('java').with_name('java-1.7.0-openjdk-devel') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select openjdk for Oracle Linux 6.2' do
|
context 'select openjdk for Oracle Linux 6.2' do
|
||||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'OracleLinux', :operatingsystemrelease => '6.2'} }
|
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'OracleLinux', :operatingsystemrelease => '6.2', :architecture => 'x86_64'} }
|
||||||
it { is_expected.to contain_package('java').with_name('java-1.6.0-openjdk-devel') }
|
it { is_expected.to contain_package('java').with_name('java-1.6.0-openjdk-devel') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select passed value for Oracle Linux' do
|
context 'select passed value for Oracle Linux' do
|
||||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'OracleLinux', :operatingsystemrelease => '6.3'} }
|
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'OracleLinux', :operatingsystemrelease => '6.3', :architecture => 'x86_64'} }
|
||||||
let(:params) { { 'distribution' => 'jre' } }
|
let(:params) { { 'distribution' => 'jre' } }
|
||||||
it { is_expected.to contain_package('java').with_name('java-1.7.0-openjdk') }
|
it { is_expected.to contain_package('java').with_name('java-1.7.0-openjdk') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select passed value for Scientific Linux' do
|
context 'select passed value for Scientific Linux' do
|
||||||
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Scientific', :operatingsystemrelease => '6.4'} }
|
let(:facts) { {:osfamily => 'RedHat', :operatingsystem => 'Scientific', :operatingsystemrelease => '6.4', :architecture => 'x86_64'} }
|
||||||
let(:params) { { 'distribution' => 'jre' } }
|
let(:params) { { 'distribution' => 'jre' } }
|
||||||
it { is_expected.to contain_package('java').with_name('java-1.7.0-openjdk') }
|
it { is_expected.to contain_package('java').with_name('java-1.7.0-openjdk') }
|
||||||
|
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-x86_64/') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select default for OpenSUSE 12.3' do
|
context 'select default for OpenSUSE 12.3' do
|
||||||
let(:facts) { {:osfamily => 'Suse', :operatingsystem => 'OpenSUSE', :operatingsystemrelease => '12.3'}}
|
let(:facts) { {:osfamily => 'Suse', :operatingsystem => 'OpenSUSE', :operatingsystemrelease => '12.3', :architecture => 'x86_64'}}
|
||||||
it { is_expected.to contain_package('java').with_name('java-1_7_0-openjdk-devel')}
|
it { is_expected.to contain_package('java').with_name('java-1_7_0-openjdk-devel')}
|
||||||
|
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib64/jvm/java-1.7.0-openjdk-1.7.0/') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select default for SLES 11.3' do
|
context 'select default for SLES 11.3' do
|
||||||
let(:facts) { {:osfamily => 'Suse', :operatingsystem => 'SLES', :operatingsystemrelease => '11.3'}}
|
let(:facts) { {:osfamily => 'Suse', :operatingsystem => 'SLES', :operatingsystemrelease => '11.3', :architecture => 'x86_64'}}
|
||||||
it { should contain_package('java').with_name('java-1_6_0-ibm-devel')}
|
it { should contain_package('java').with_name('java-1_6_0-ibm-devel')}
|
||||||
|
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib64/jvm/java-1.6.0-ibm-1.6.0/') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select default for SLES 11.4' do
|
context 'select default for SLES 11.4' do
|
||||||
let(:facts) { {:osfamily => 'Suse', :operatingsystem => 'SLES', :operatingsystemrelease => '11.4'}}
|
let(:facts) { {:osfamily => 'Suse', :operatingsystem => 'SLES', :operatingsystemrelease => '11.4', :architecture => 'x86_64'}}
|
||||||
it { should contain_package('java').with_name('java-1_7_0-ibm-devel')}
|
it { should contain_package('java').with_name('java-1_7_0-ibm-devel')}
|
||||||
|
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib64/jvm/java-1.7.0-ibm-1.7.0/') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select default for SLES 12.1' do
|
context 'select default for SLES 12.1' do
|
||||||
let(:facts) { {:osfamily => 'Suse', :operatingsystem => 'SLES', :operatingsystemrelease => '12.1', :operatingsystemmajrelease => '12'}}
|
let(:facts) { {:osfamily => 'Suse', :operatingsystem => 'SLES', :operatingsystemrelease => '12.1', :operatingsystemmajrelease => '12', :architecture => 'x86_64'}}
|
||||||
it { should contain_package('java').with_name('java-1_7_0-openjdk-devel')}
|
it { should contain_package('java').with_name('java-1_7_0-openjdk-devel')}
|
||||||
|
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/lib64/jvm/java-1.7.0-openjdk-1.7.0/') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select jdk for OpenBSD' do
|
context 'select jdk for OpenBSD' do
|
||||||
let(:facts) { {:osfamily => 'OpenBSD'} }
|
let(:facts) { {:osfamily => 'OpenBSD', :architecture => 'x86_64'} }
|
||||||
it { is_expected.to contain_package('java').with_name('jdk') }
|
it { is_expected.to contain_package('java').with_name('jdk') }
|
||||||
|
it { is_expected.to contain_file_line('java-home-environment').with_line('JAVA_HOME=/usr/local/jdk/') }
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'select jre for OpenBSD' do
|
context 'select jre for OpenBSD' do
|
||||||
let(:facts) { {:osfamily => 'OpenBSD'} }
|
let(:facts) { {:osfamily => 'OpenBSD', :architecture => 'x86_64'} }
|
||||||
let(:params) { { 'distribution' => 'jre' } }
|
let(:params) { { 'distribution' => 'jre' } }
|
||||||
it { is_expected.to contain_package('java').with_name('jre') }
|
it { is_expected.to contain_package('java').with_name('jre') }
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user