fix munin 1
[mirror/dsa-puppet.git] / modules / debian-org / lib / facter / software.rb
index 237f9fa..0045a9e 100644 (file)
@@ -1,36 +1,71 @@
 Facter.add("apache2") do
        setcode do
-               FileTest.exist?("/usr/sbin/apache2")
+               if FileTest.exist?("/usr/sbin/apache2")
+                       true
+               else
+                       ''
+               end
        end
 end
-Facter.add("clamd") do
+Facter.add("apache2deb9") do
        setcode do
-               FileTest.exist?("/usr/sbin/clamd")
+               # jessie (deb8) has 2.4.10-.., stretch (deb9) will have 2.4.23 or later.
+               if FileTest.exist?("/usr/sbin/apache2") and system("dpkg --compare-versions $(dpkg-query -W -f='${Version}\n' apache2-bin) gt 2.4.15")
+                       true
+               else
+                       ''
+               end
        end
 end
-Facter.add("exim4") do
+Facter.add("clamd") do
        setcode do
-               FileTest.exist?("/usr/sbin/exim4")
+               if FileTest.exist?("/usr/sbin/clamd")
+                       true
+               else
+                       ''
+               end
        end
 end
-Facter.add("postfix") do
+Facter.add("exim4") do
        setcode do
-               FileTest.exist?("/usr/sbin/postfix")
+               if FileTest.exist?("/usr/sbin/exim4")
+                       true
+               else
+                       ''
+               end
        end
 end
-Facter.add("postgres81") do
+Facter.add("postfix") do
        setcode do
-               FileTest.exist?("/usr/lib/postgresql/8.1/bin/postgres")
+               if FileTest.exist?("/usr/sbin/postfix")
+                       true
+               else
+                       ''
+               end
        end
 end
-Facter.add("postgres83") do
+Facter.add("postgres") do
        setcode do
-               FileTest.exist?("/usr/lib/postgresql/8.3/bin/postgres")
+               pg = (FileTest.exist?("/usr/lib/postgresql/8.1/bin/postgres") or
+               FileTest.exist?("/usr/lib/postgresql/8.3/bin/postgres") or
+               FileTest.exist?("/usr/lib/postgresql/8.4/bin/postgres") or
+               FileTest.exist?("/usr/lib/postgresql/9.0/bin/postgres") or
+               FileTest.exist?("/usr/lib/postgresql/9.1/bin/postgres") or
+               FileTest.exist?("/usr/lib/postgresql/9.2/bin/postgres"))
+               if pg
+                       true
+               else
+                       ''
+               end
        end
 end
 Facter.add("postgrey") do
        setcode do
-               FileTest.exist?("/usr/sbin/postgrey")
+               if FileTest.exist?("/usr/sbin/postgrey")
+                       true
+               else
+                       ''
+               end
        end
 end
 Facter.add("greylistd") do
@@ -40,46 +75,88 @@ Facter.add("greylistd") do
 end
 Facter.add("policydweight") do
        setcode do
-               FileTest.exist?("/usr/sbin/policyd-weight")
-       end
-end
-Facter.add("vsftpd") do
-       setcode do
-               FileTest.exist?("/usr/sbin/vsftpd")
+               if FileTest.exist?("/usr/sbin/policyd-weight")
+                       true
+               else
+                       ''
+               end
        end
 end
 Facter.add("spamd") do
        setcode do
-               FileTest.exist?("/usr/sbin/spamd")
+               if FileTest.exist?("/usr/sbin/spamd")
+                       true
+               else
+                       ''
+               end
        end
 end
 Facter.add("php5") do
-       setcode do
-               FileTest.exist?("/usr/lib/apache2/modules/libphp5.so") or
+       php =   (FileTest.exist?("/usr/lib/apache2/modules/libphp5.so") or
                FileTest.exist?("/usr/bin/php5") or
                FileTest.exist?("/usr/bin/php5-cgi") or
-               FileTest.exist?("/usr/lib/cgi-bin/php5")
+               FileTest.exist?("/usr/lib/cgi-bin/php5"))
+       setcode do
+               if php
+                       true
+               else
+                       ''
+               end
        end
 end
 Facter.add("php5suhosin") do
+       suhosin=(FileTest.exist?("/usr/lib/php5/20060613/suhosin.so") or
+               FileTest.exist?("/usr/lib/php5/20060613+lfs/suhosin.so"))
        setcode do
-               FileTest.exist?("/usr/lib/php5/20060613/suhosin.so") or
-               FileTest.exist?("/usr/lib/php5/20060613+lfs/suhosin.so")
+               if suhosin
+                       true
+               else
+                       ''
+               end
        end
 end
 Facter.add("syslogversion") do
        setcode do
-               %x{dpkg-query -W -f='${Version}\n' syslog-ng | cut -b1}.chomp
+               %x{dpkg-query -W -f='${Version}\n' syslog-ng | cut -b1-3}.chomp
        end
 end
-Facter.add("rsyncd") do
+Facter.add("unbound") do
+       unbound=(FileTest.exist?("/usr/sbin/unbound") and
+               FileTest.exist?("/var/lib/unbound/root.key"))
        setcode do
-               FileTest.exist?("/etc/rsyncd.conf")
+               if unbound
+                       true
+               else
+                       ''
+               end
        end
 end
-Facter.add("unbound") do
+Facter.add("munin_async") do
+       setcode do
+               FileTest.exist?("/usr/share/munin/munin-async")
+       end
+end
+Facter.add("samhain") do
+       setcode do
+               if FileTest.exist?("/usr/sbin/samhain")
+                       true
+               else
+                       ''
+               end
+       end
+end
+Facter.add("systemd") do
+       setcode do
+               init = '/sbin/init'
+               if File.symlink?(init) and File.readlink(init) == "/lib/systemd/systemd"
+                       true
+               else
+                       ''
+               end
+       end
+end
+Facter.add("tor_ge_0_2_9") do
        setcode do
-               FileTest.exist?("/usr/sbin/unbound") and
-               FileTest.exist?("/var/lib/unbound/root.key")
+               system(%{dpkg -l tor >/dev/null 2>&1 && dpkg --compare-versions $(dpkg-query -W -f='${Version}' tor) ge 0.2.9})
        end
 end