1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
|
# @api private
class java::config ( ) {
case $facts['os']['family'] {
'Debian': {
if $java::use_java_alternative != undef and $java::use_java_alternative_path != undef {
$command_debian = ['update-java-alternatives', '--set', $java::use_java_alternative, $java::jre_flag]
$unless_debian = [['test', '/etc/alternatives/java', '-ef', $java::use_java_alternative_path]]
exec { 'update-java-alternatives':
path => '/usr/bin:/usr/sbin:/bin:/sbin',
command => $command_debian,
unless => $unless_debian,
}
}
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 {
# The standard packages install alternatives, custom packages do not
# For the stanard packages java::params needs these added.
if $java::use_java_package_name != $java::default_package_name {
$command_redhat = ['alternatives', '--install', '/usr/bin/java', 'java', $java::use_java_alternative_path, '20000']
$unless_redhat = "alternatives --display java | grep -q ${shell_escape($java::use_java_alternative_path)}"
exec { 'create-java-alternatives':
path => '/usr/bin:/usr/sbin:/bin:/sbin',
command => $command_redhat,
unless => $unless_redhat,
before => Exec['update-java-alternatives'],
}
}
$command_default = ['alternatives', '--set', 'java', $java::use_java_alternative_path]
$unless_default = [['test', '/etc/alternatives/java', '-ef', $java::use_java_alternative_path]]
exec { 'update-java-alternatives':
path => '/usr/bin:/usr/sbin',
command => $command_default,
unless => $unless_default,
}
}
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=',
}
}
}
'FreeBSD': {
if $java::use_java_home != undef {
file_line { 'java-home-environment-profile':
path => '/etc/profile',
line => "JAVA_HOME=${$java::use_java_home}; export JAVA_HOME",
match => 'JAVA_HOME=',
}
file_line { 'java-home-environment-cshrc':
path => '/etc/csh.login',
line => "setenv JAVA_HOME ${$java::use_java_home}",
match => 'setenv JAVA_HOME',
}
}
}
'Solaris': {
if $java::use_java_home != undef {
file_line { 'java-home-environment':
path => '/etc/profile',
line => "JAVA_HOME=${$java::use_java_home}",
match => 'JAVA_HOME=',
}
}
}
'Archlinux': {
if $java::use_java_home != undef {
file_line { 'java-home-environment':
path => '/etc/profile',
line => "JAVA_HOME=${$java::use_java_home}",
match => 'JAVA_HOME=',
}
}
}
default: {
# Do nothing.
}
}
}
|