Merge pull request #184 from ntpttr/fix/master/modules-2971

(MODULES-2971) Add java_home to all operating systems
This commit is contained in:
Hunter Haugen
2016-10-17 10:54:06 -07:00
committed by GitHub
4 changed files with 165 additions and 39 deletions

View File

@@ -9,6 +9,13 @@ class java::config ( ) {
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': {
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}'",
}
}
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: {
# Do nothing.

View File

@@ -35,6 +35,10 @@
# alternative is actually enabled, this is required to ensure the
# correct JVM is enabled.
#
# [*java_home*]
# The path to where the JRE is installed. This will be set as an
# environment variable.
#
# Actions:
#
# Requires:
@@ -47,7 +51,8 @@ class java(
$package = undef,
$package_options = undef,
$java_alternative = undef,
$java_alternative_path = undef
$java_alternative_path = undef,
$java_home = undef
) {
include java::params
@@ -61,7 +66,7 @@ class java(
$default_package_name = $java::params::java[$distribution]['package']
$default_alternative = $java::params::java[$distribution]['alternative']
$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 {
fail("Java distribution ${distribution} is not supported.")
}
@@ -91,6 +96,14 @@ class java(
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 ? {
/headless/ => '--jre-headless',
default => '--jre'

View File

@@ -19,39 +19,52 @@ class java::params {
if (versioncmp($::operatingsystemrelease, '5.0') < 0) {
$jdk_package = 'java-1.6.0-sun-devel'
$jre_package = 'java-1.6.0-sun'
$java_home = '/usr/lib/jvm/java-1.6.0-sun/jre/'
}
elsif (versioncmp($::operatingsystemrelease, '6.3') < 0) {
$jdk_package = 'java-1.6.0-openjdk-devel'
$jre_package = 'java-1.6.0-openjdk'
$java_home = "/usr/lib/jvm/java-1.6.0-openjdk-${::architecture}/"
}
elsif (versioncmp($::operatingsystemrelease, '7.1') < 0) {
$jdk_package = 'java-1.7.0-openjdk-devel'
$jre_package = 'java-1.7.0-openjdk'
$java_home = "/usr/lib/jvm/java-1.7.0-openjdk-${::architecture}/"
}
else {
$jdk_package = 'java-1.8.0-openjdk-devel'
$jre_package = 'java-1.8.0-openjdk'
$java_home = "/usr/lib/jvm/java-1.8.0-openjdk-${::architecture}/"
}
}
'Fedora': {
if (versioncmp($::operatingsystemrelease, '21') < 0) {
$jdk_package = 'java-1.7.0-openjdk-devel'
$jre_package = 'java-1.7.0-openjdk'
$java_home = "/usr/lib/jvm/java-1.7.0-openjdk-${::architecture}/"
}
else {
$jdk_package = 'java-1.8.0-openjdk-devel'
$jre_package = 'java-1.8.0-openjdk'
$java_home = "/usr/lib/jvm/java-1.8.0-openjdk-${::architecture}/"
}
}
'Amazon': {
$jdk_package = 'java-1.7.0-openjdk-devel'
$jre_package = 'java-1.7.0-openjdk'
$java_home = "/usr/lib/jvm/java-1.7.0-openjdk-${::architecture}/"
}
default: { fail("unsupported os ${::operatingsystem}") }
}
$java = {
'jdk' => { 'package' => $jdk_package, },
'jre' => { 'package' => $jre_package, },
'jdk' => {
'package' => $jdk_package,
'java_home' => $java_home,
},
'jre' => {
'package' => $jre_package,
'java_home' => $java_home,
},
}
}
'Debian': {
@@ -161,20 +174,38 @@ class java::params {
}
'OpenBSD': {
$java = {
'jdk' => { 'package' => 'jdk', },
'jre' => { 'package' => 'jre', },
'jdk' => {
'package' => 'jdk',
'java_home' => '/usr/local/jdk/',
},
'jre' => {
'package' => 'jre',
'java_home' => '/usr/local/jdk/',
},
}
}
'FreeBSD': {
$java = {
'jdk' => { 'package' => 'openjdk', },
'jre' => { 'package' => 'openjdk-jre', },
'jdk' => {
'package' => 'openjdk',
'java_home' => '/usr/local/openjdk7/',
},
'jre' => {
'package' => 'openjdk-jre',
'java_home' => '/usr/local/openjdk7/',
},
}
}
'Solaris': {
$java = {
'jdk' => { 'package' => 'developer/java/jdk-7', },
'jre' => { 'package' => 'runtime/java/jre-7', },
'jdk' => {
'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': {
@@ -183,26 +214,37 @@ class java::params {
if (versioncmp($::operatingsystemrelease, '12') >= 0) {
$jdk_package = 'java-1_7_0-openjdk-devel'
$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) {
$jdk_package = 'java-1_7_0-ibm-devel'
$jre_package = 'java-1_7_0-ibm'
$java_home = '/usr/lib64/jvm/java-1.7.0-ibm-1.7.0/'
} else {
$jdk_package = 'java-1_6_0-ibm-devel'
$jre_package = 'java-1_6_0-ibm'
$java_home = '/usr/lib64/jvm/java-1.6.0-ibm-1.6.0/'
}
}
'OpenSuSE': {
$jdk_package = 'java-1_7_0-openjdk-devel'
$jre_package = 'java-1_7_0-openjdk'
$java_home = '/usr/lib64/jvm/java-1.7.0-openjdk-1.7.0/'
}
default: {
$jdk_package = 'java-1_6_0-ibm-devel'
$jre_package = 'java-1_6_0-ibm'
$java_home = '/usr/lib64/jvm/java-1.6.0-ibd-1.6.0/'
}
}
$java = {
'jdk' => { 'package' => $jdk_package, },
'jre' => { 'package' => $jre_package, },
'jdk' => {
'package' => $jdk_package,
'java_home' => $java_home,
},
'jre' => {
'package' => $jre_package,
'java_home' => $java_home,
},
}
}
default: { fail("unsupported platform ${::osfamily}") }