OpenBSD doesn't have /etc/environment, therefore there is no

need to fiddle with it. The default case statement, "do nothing"
is all fine here.

Facter::Util::Resolution.with_env is long time gone since
Facter > 2.x. That was even longer before introduced by me.
Remove that OpenBSD special case in the java_version fact,
and assume that $PATH is properly set in order to find
the 'java' binary.

Additionally confine the java_default_home and java_libjvm_path
to OpenBSD kernel as well. Add some flesh to the java_default_home
fact to allow it to find the java binary.
This commit is contained in:
Sebastian Reitenbach
2017-09-25 12:05:00 +02:00
committed by Will Meek
parent db30eb9e2d
commit bdfc567c18
4 changed files with 14 additions and 21 deletions

View File

@@ -11,13 +11,20 @@
# Notes:
# None
Facter.add(:java_default_home) do
confine :kernel => 'Linux'
confine :kernel => [ 'Linux', 'OpenBSD' ]
setcode do
if Facter::Util::Resolution.which('readlink')
java_bin = Facter::Util::Resolution.exec('readlink -e /usr/bin/java').strip
java_bin = Facter::Util::Resolution.exec('readlink -e /usr/bin/java').to_s.strip
if java_bin.empty?
nil
elsif java_bin =~ %r(/jre/)
java_bin = Facter::Util::Resolution.exec('readlink -e /usr/local/bin/java').to_s.strip
if java_bin.empty?
java_bin = Facter::Util::Resolution.which('java').to_s.strip
if java_bin.empty?
nil
end
end
end
if java_bin =~ %r(/jre/)
java_default_home = File.dirname(File.dirname(File.dirname(java_bin)))
else
java_default_home = File.dirname(File.dirname(java_bin))