Fixing several facts due to different version scheme and locations in

specific java versions
This commit is contained in:
Tim Eilers
2019-07-17 15:14:20 +02:00
committed by lionce
parent 4f52cee832
commit 61ace5ea01
3 changed files with 29 additions and 22 deletions

View File

@@ -7,6 +7,7 @@
#
# Caveats:
# Needs to list files recursively. Returns the first match
# Needs working java_major_version fact
#
# Notes:
# None
@@ -14,13 +15,23 @@ Facter.add(:java_libjvm_path) do
confine kernel: ['Linux', 'OpenBSD']
setcode do
java_default_home = Facter.value(:java_default_home)
if java_default_home
java_libjvm_file = Dir.glob("#{java_default_home}/**/lib/**/libjvm.so")
end
if java_libjvm_file.nil? || java_libjvm_file.empty?
nil
else
File.dirname(java_libjvm_file[0])
java_major_version = Facter.value(:java_major_version)
unless java_major_version.nil?
if java_major_version.to_i >= 11
java_libjvm_file = Dir.glob("#{java_default_home}/lib/**/libjvm.so")
if java_libjvm_file.nil? || java_libjvm_file.empty?
nil
else
File.dirname(java_libjvm_file[0])
end
else
java_libjvm_file = Dir.glob("#{java_default_home}/jre/lib/**/libjvm.so")
if java_libjvm_file.nil? || java_libjvm_file.empty?
nil
else
File.dirname(java_libjvm_file[0])
end
end
end
end
end

View File

@@ -17,13 +17,11 @@ Facter.add(:java_major_version) do
setcode do
java_version = Facter.value(:java_version)
unless java_version.nil?
# First part > 1, use the first part as major version
java_version_first_number = java_version.strip.split('.')[0]
java_major_version = if java_version_first_number.to_i > 1
java_version_first_number
else
java_version.strip.split('_')[0].split('.')[1]
end
if java_version.strip[0..1] == '1.'
java_major_version = java_version.strip.split('_')[0].split('.')[1]
else
java_major_version = java_version.strip.split('.')[0]
end
end
end
java_major_version

View File

@@ -3,7 +3,7 @@
# Purpose: get Java's patch level
#
# Resolution:
# Uses java_version fact splits on the patch number (after _)
# Uses java_version fact splits on the patch number (after _ for 1.x and patch number for semver'ed javas)
#
# Caveats:
# none
@@ -15,13 +15,11 @@ Facter.add(:java_patch_level) do
setcode do
java_version = Facter.value(:java_version)
unless java_version.nil?
# First part > 1, use . as seperator to get patch level
java_version_first_number = java_version.strip.split('.')[0]
java_patch_level = if java_version_first_number.to_i > 1
java_version.strip.split('.')[2]
else
java_version.strip.split('_')[1]
end
if java_version.strip[0..1] == '1.'
java_patch_level = java_version.strip.split('_')[1] unless java_version.nil?
else
java_patch_level = java_version.strip.split('.')[2] unless java_version.nil?
end
end
end
java_patch_level