Fixing several facts due to different version scheme and locations in
specific java versions
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user