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: # Caveats:
# Needs to list files recursively. Returns the first match # Needs to list files recursively. Returns the first match
# Needs working java_major_version fact
# #
# Notes: # Notes:
# None # None
@@ -14,9 +15,17 @@ Facter.add(:java_libjvm_path) do
confine kernel: ['Linux', 'OpenBSD'] confine kernel: ['Linux', 'OpenBSD']
setcode do setcode do
java_default_home = Facter.value(:java_default_home) java_default_home = Facter.value(:java_default_home)
if java_default_home java_major_version = Facter.value(:java_major_version)
java_libjvm_file = Dir.glob("#{java_default_home}/**/lib/**/libjvm.so") 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 end
else
java_libjvm_file = Dir.glob("#{java_default_home}/jre/lib/**/libjvm.so")
if java_libjvm_file.nil? || java_libjvm_file.empty? if java_libjvm_file.nil? || java_libjvm_file.empty?
nil nil
else else
@@ -24,3 +33,5 @@ Facter.add(:java_libjvm_path) do
end end
end end
end end
end
end

View File

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

View File

@@ -3,7 +3,7 @@
# Purpose: get Java's patch level # Purpose: get Java's patch level
# #
# Resolution: # 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: # Caveats:
# none # none
@@ -15,12 +15,10 @@ Facter.add(:java_patch_level) do
setcode do setcode do
java_version = Facter.value(:java_version) java_version = Facter.value(:java_version)
unless java_version.nil? unless java_version.nil?
# First part > 1, use . as seperator to get patch level if java_version.strip[0..1] == '1.'
java_version_first_number = java_version.strip.split('.')[0] java_patch_level = java_version.strip.split('_')[1] unless java_version.nil?
java_patch_level = if java_version_first_number.to_i > 1
java_version.strip.split('.')[2]
else else
java_version.strip.split('_')[1] java_patch_level = java_version.strip.split('.')[2] unless java_version.nil?
end end
end end
end end