File: //var/lib/puppet/lib/facter/csf.rb
Facter.add("csf") do
setcode do
result = "false"
if FileTest.exists?("/usr/sbin/csf")
result = "true"
end
result
end
end
Facter.add("csf_enabled") do
setcode do
result = "false"
if File.exists?("/usr/sbin/csf")
out = %x{/usr/sbin/csf -v}.chomp
if out.index("have been disabled") == nil
result = "true"
end
end
result
end
end
Facter.add("csf_major") do
setcode do
result = "unknown"
if FileTest.exists?("/usr/sbin/csf") and Facter.value(:csf_enabled) == "true"
#major_number = %x{/usr/sbin/csf -v | perl -pe 's/.+\s+v(\d)\..*/$1/g'}.chomp
#major_number = %x{/usr/sbin/csf -v | cut -d ':' -f 2 | cut -d '.' -f 1 | tr 'v' '\\000' | sed -e 's@\\s@@g'}.chomp
major_number = %x{/usr/sbin/csf -v | sed 's/csf:[[:space:]]\\+v\\([0-9]\\+\\)\\.\\([0-9]\\+\\).*/\\1/'}
result = major_number
end
result
end
end
Facter.add("csf_minor") do
setcode do
result = "unknown"
if FileTest.exists?("/usr/sbin/csf") and Facter.value(:csf_enabled) == "true"
#minor_number = %x{/usr/sbin/csf -v | cut -d ':' -f 2 | cut -d '.' -f 2}.chomp
minor_number = %x{/usr/sbin/csf -v | sed 's/csf:[[:space:]]\\+v\\([0-9]\\+\\)\\.\\([0-9]\\+\\).*/\\2/'}
result = minor_number
end
result
end
end