jdk_linux.pp 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #
  2. # fmw_jdk::internal::jdk_linux
  3. #
  4. # Copyright 2015 Oracle. All Rights Reserved
  5. #
  6. class fmw_jdk::internal::jdk_linux(
  7. $java_home_dir = undef,
  8. $source_file = undef,
  9. )
  10. {
  11. $path = '/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin'
  12. $java_home_parent_dir = fmw_parent_folder($java_home_dir)
  13. file { $java_home_parent_dir:
  14. ensure => directory,
  15. owner => 'root',
  16. group => 'root',
  17. mode => '0775',
  18. }
  19. exec { 'Unpack JDK':
  20. command => "tar xzvf ${source_file} --directory ${java_home_parent_dir}",
  21. path => $path,
  22. user => 'root',
  23. creates => $java_home_dir,
  24. require => File[$java_home_parent_dir],
  25. }
  26. file { $java_home_dir:
  27. ensure => directory,
  28. owner => 'root',
  29. group => 'root',
  30. mode => '0775',
  31. require => Exec['Unpack JDK'],
  32. }
  33. exec { "chown -R root:root ${java_home_dir}":
  34. unless => "ls -al ${java_home_dir}/bin/java | awk ' { print \$3 }' | grep root",
  35. path => $path,
  36. user => 'root',
  37. group => 'root',
  38. require => [Exec['Unpack JDK'],File[$java_home_dir]],
  39. }
  40. $alternatives = [ 'java', 'javac', 'javaws', 'keytool']
  41. fmw_jdk::utils::alternatives{ $alternatives:
  42. java_home_dir => $java_home_dir,
  43. priority => 1,
  44. user => 'root',
  45. group => 'root',
  46. require => [Exec['Unpack JDK'],File[$java_home_dir]],
  47. }
  48. }