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:
committed by
Will Meek
parent
db30eb9e2d
commit
bdfc567c18
@@ -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))
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
# Notes:
|
||||
# None
|
||||
Facter.add(:java_libjvm_path) do
|
||||
confine :kernel => "Linux"
|
||||
confine :kernel => [ "Linux", "OpenBSD" ]
|
||||
setcode do
|
||||
java_default_home = Facter.value(:java_default_home)
|
||||
java_libjvm_file = Dir.glob("#{java_default_home}/jre/lib/**/libjvm.so")
|
||||
|
||||
@@ -21,21 +21,7 @@ Facter.add(:java_version) do
|
||||
# Additionally, facter versions prior to 2.0.1 only support
|
||||
# positive matches, so this needs to be done manually in setcode.
|
||||
setcode do
|
||||
unless [ 'openbsd', 'darwin' ].include? Facter.value(:operatingsystem).downcase
|
||||
version = nil
|
||||
if Facter::Util::Resolution.which('java')
|
||||
Facter::Util::Resolution.exec('java -Xmx12m -version 2>&1').lines.each { |line| version = $~[1] if /^.+ version \"(.+)\"$/ =~ line }
|
||||
end
|
||||
version
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Facter.add(:java_version) do
|
||||
confine :operatingsystem => 'OpenBSD'
|
||||
has_weight 100
|
||||
setcode do
|
||||
Facter::Util::Resolution.with_env("PATH" => '/usr/local/jdk-1.7.0/jre/bin:/usr/local/jre-1.7.0/bin') do
|
||||
unless [ 'darwin' ].include? Facter.value(:operatingsystem).downcase
|
||||
version = nil
|
||||
if Facter::Util::Resolution.which('java')
|
||||
Facter::Util::Resolution.exec('java -Xmx12m -version 2>&1').lines.each { |line| version = $~[1] if /^.+ version \"(.+)\"$/ =~ line }
|
||||
|
||||
Reference in New Issue
Block a user