0045a9ef0222781b86c79b8a993d354adea9611d
[mirror/dsa-puppet.git] / modules / debian-org / lib / facter / software.rb
1 Facter.add("apache2") do
2         setcode do
3                 if FileTest.exist?("/usr/sbin/apache2")
4                         true
5                 else
6                         ''
7                 end
8         end
9 end
10 Facter.add("apache2deb9") do
11         setcode do
12                 # jessie (deb8) has 2.4.10-.., stretch (deb9) will have 2.4.23 or later.
13                 if FileTest.exist?("/usr/sbin/apache2") and system("dpkg --compare-versions $(dpkg-query -W -f='${Version}\n' apache2-bin) gt 2.4.15")
14                         true
15                 else
16                         ''
17                 end
18         end
19 end
20 Facter.add("clamd") do
21         setcode do
22                 if FileTest.exist?("/usr/sbin/clamd")
23                         true
24                 else
25                         ''
26                 end
27         end
28 end
29 Facter.add("exim4") do
30         setcode do
31                 if FileTest.exist?("/usr/sbin/exim4")
32                         true
33                 else
34                         ''
35                 end
36         end
37 end
38 Facter.add("postfix") do
39         setcode do
40                 if FileTest.exist?("/usr/sbin/postfix")
41                         true
42                 else
43                         ''
44                 end
45         end
46 end
47 Facter.add("postgres") do
48         setcode do
49                 pg = (FileTest.exist?("/usr/lib/postgresql/8.1/bin/postgres") or
50                 FileTest.exist?("/usr/lib/postgresql/8.3/bin/postgres") or
51                 FileTest.exist?("/usr/lib/postgresql/8.4/bin/postgres") or
52                 FileTest.exist?("/usr/lib/postgresql/9.0/bin/postgres") or
53                 FileTest.exist?("/usr/lib/postgresql/9.1/bin/postgres") or
54                 FileTest.exist?("/usr/lib/postgresql/9.2/bin/postgres"))
55                 if pg
56                         true
57                 else
58                         ''
59                 end
60         end
61 end
62 Facter.add("postgrey") do
63         setcode do
64                 if FileTest.exist?("/usr/sbin/postgrey")
65                         true
66                 else
67                         ''
68                 end
69         end
70 end
71 Facter.add("greylistd") do
72         setcode do
73                 FileTest.exist?("/usr/sbin/greylistd")
74         end
75 end
76 Facter.add("policydweight") do
77         setcode do
78                 if FileTest.exist?("/usr/sbin/policyd-weight")
79                         true
80                 else
81                         ''
82                 end
83         end
84 end
85 Facter.add("spamd") do
86         setcode do
87                 if FileTest.exist?("/usr/sbin/spamd")
88                         true
89                 else
90                         ''
91                 end
92         end
93 end
94 Facter.add("php5") do
95         php =   (FileTest.exist?("/usr/lib/apache2/modules/libphp5.so") or
96                 FileTest.exist?("/usr/bin/php5") or
97                 FileTest.exist?("/usr/bin/php5-cgi") or
98                 FileTest.exist?("/usr/lib/cgi-bin/php5"))
99         setcode do
100                 if php
101                         true
102                 else
103                         ''
104                 end
105         end
106 end
107 Facter.add("php5suhosin") do
108         suhosin=(FileTest.exist?("/usr/lib/php5/20060613/suhosin.so") or
109                 FileTest.exist?("/usr/lib/php5/20060613+lfs/suhosin.so"))
110         setcode do
111                 if suhosin
112                         true
113                 else
114                         ''
115                 end
116         end
117 end
118 Facter.add("syslogversion") do
119         setcode do
120                 %x{dpkg-query -W -f='${Version}\n' syslog-ng | cut -b1-3}.chomp
121         end
122 end
123 Facter.add("unbound") do
124         unbound=(FileTest.exist?("/usr/sbin/unbound") and
125                 FileTest.exist?("/var/lib/unbound/root.key"))
126         setcode do
127                 if unbound
128                         true
129                 else
130                         ''
131                 end
132         end
133 end
134 Facter.add("munin_async") do
135         setcode do
136                 FileTest.exist?("/usr/share/munin/munin-async")
137         end
138 end
139 Facter.add("samhain") do
140         setcode do
141                 if FileTest.exist?("/usr/sbin/samhain")
142                         true
143                 else
144                         ''
145                 end
146         end
147 end
148 Facter.add("systemd") do
149         setcode do
150                 init = '/sbin/init'
151                 if File.symlink?(init) and File.readlink(init) == "/lib/systemd/systemd"
152                         true
153                 else
154                         ''
155                 end
156         end
157 end
158 Facter.add("tor_ge_0_2_9") do
159         setcode do
160                 system(%{dpkg -l tor >/dev/null 2>&1 && dpkg --compare-versions $(dpkg-query -W -f='${Version}' tor) ge 0.2.9})
161         end
162 end