Skip to content

Commit 29035a5

Browse files
committed
add FreeBSD support
1 parent 65d9244 commit 29035a5

6 files changed

Lines changed: 80 additions & 10 deletions

File tree

manifests/clamav_milter.pp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
path => $clamav::clamav_milter_config,
2222
mode => '0644',
2323
owner => 'root',
24-
group => 'root',
24+
group => $clamav::root_group,
2525
content => template("${module_name}/clamav.conf.erb"),
2626
}
2727

manifests/clamd.pp

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,29 @@
66

77
$config_options = $clamav::_clamd_options
88

9-
package { 'clamd':
10-
ensure => $clamav::clamd_version,
11-
name => $clamav::clamd_package,
12-
before => File['clamd.conf'],
9+
# NOTE: In FreeBSD this is part of the base clamav_package
10+
if $clamav::clamd_package {
11+
package { 'clamd':
12+
ensure => $clamav::clamd_version,
13+
name => $clamav::clamd_package,
14+
before => File['clamd.conf'],
15+
}
16+
$service_subscribe = [
17+
File['clamd.conf'],
18+
Package['clamd'],
19+
]
20+
} else {
21+
$service_subscribe = [
22+
File['clamd.conf'],
23+
]
1324
}
1425

1526
file { 'clamd.conf':
1627
ensure => file,
1728
path => $clamav::clamd_config,
1829
mode => '0644',
1930
owner => 'root',
20-
group => 'root',
31+
group => $clamav::root_group,
2132
content => template("${module_name}/clamav.conf.erb"),
2233
}
2334

@@ -27,6 +38,6 @@
2738
enable => $clamav::clamd_service_enable,
2839
hasrestart => true,
2940
hasstatus => true,
30-
subscribe => [Package['clamd'], File['clamd.conf']],
41+
subscribe => $service_subscribe,
3142
}
3243
}

manifests/freshclam.pp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
$config_options = $clamav::_freshclam_options
88
$freshclam_delay = $clamav::freshclam_delay
99

10-
# NOTE: In RedHat this is part of the base clamav_package
10+
# NOTE: In RedHat and FreeBSD this is part of the base clamav_package
1111
# NOTE: In Debian this is a dependency of the base clamav_package
1212
if $clamav::freshclam_package {
1313
package { 'freshclam':
@@ -22,7 +22,7 @@
2222
path => $clamav::freshclam_config,
2323
mode => '0644',
2424
owner => 'root',
25-
group => 'root',
25+
group => $clamav::root_group,
2626
content => template("${module_name}/clamav.conf.erb"),
2727
}
2828

@@ -32,7 +32,7 @@
3232
path => $clamav::freshclam_sysconfig,
3333
mode => '0644',
3434
owner => 'root',
35-
group => 'root',
35+
group => $clamav::root_group,
3636
content => template("${module_name}/sysconfig/freshclam.erb"),
3737
}
3838

manifests/init.pp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
Stdlib::Absolutepath $shell = $clamav::params::shell,
2424
$group = $clamav::params::group,
2525
$groups = $clamav::params::groups,
26+
$root_group = $clamav::params::root_group,
2627

2728
String $clamd_package = $clamav::params::clamd_package,
2829
String $clamd_version = $clamav::params::clamd_version,

manifests/params.pp

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
$manage_repo = true
2424
$clamav_package = 'clamav'
2525
$clamav_version = 'installed'
26+
$root_group = 'root'
2627

2728
if versioncmp($::operatingsystemmajrelease, '7') >= 0 {
2829
# ### user vars ####
@@ -135,6 +136,7 @@
135136
$manage_repo = false
136137
$clamav_package = 'clamav'
137138
$clamav_version = 'installed'
139+
$root_group = 'root'
138140

139141
# ### user vars ####
140142
$user = 'clamav'
@@ -182,6 +184,59 @@
182184
$freshclam_default_pidfile = '/var/run/clamav/freshclam.pid'
183185
$freshclam_default_updatelogfile = '/var/log/clamav/freshclam.log'
184186

187+
} elsif ($::osfamily == 'FreeBSD') {
188+
#### init vars ####
189+
$manage_repo = false
190+
$clamav_package = 'clamav'
191+
$clamav_version = 'installed'
192+
$root_group = 'wheel'
193+
194+
#### user vars ####
195+
$user = 'clamav'
196+
$comment = undef
197+
$uid = 106
198+
$gid = 106
199+
$home = '/var/db/clamav'
200+
$shell = '/usr/sbin/nologin'
201+
$group = 'clamav'
202+
$groups = undef
203+
204+
#### clamd vars ####
205+
$clamd_package = undef
206+
$clamd_version = undef
207+
$clamd_config = '/usr/local/etc/clamd.conf'
208+
$clamd_service = 'clamav-clamd'
209+
$clamd_options = {}
210+
211+
#### freshclam vars ####
212+
$freshclam_package = undef
213+
$freshclam_version = undef
214+
$freshclam_config = '/usr/local/etc/freshclam.conf'
215+
$freshclam_service = 'clamav-freshclam'
216+
$freshclam_options = {}
217+
$freshclam_sysconfig = undef
218+
$freshclam_delay = undef
219+
220+
#### clamav_milter vars ####
221+
$clamav_milter_package = undef
222+
$clamav_milter_version = undef
223+
$clamav_milter_config = undef
224+
$clamav_milter_service = undef
225+
$clamav_milter_options = undef
226+
$clamav_milter_default_options = undef
227+
228+
#### Default values OS specific ####
229+
$clamd_default_databasedirectory = '/var/db/clamav'
230+
$clamd_default_localsocket = '/var/run/clamav/clamd.sock'
231+
$clamd_default_logfile = '/var/log/clamav/clamd.log'
232+
$clamd_default_logrotate = true
233+
$clamd_default_logsyslog = false
234+
$clamd_default_pidfile = '/var/run/clamav/clamd.pid'
235+
$clamd_default_temporarydirectory = '/tmp'
236+
$freshclam_default_databaseowner = $user
237+
$freshclam_default_pidfile = '/var/run/clamav/freshclam.pid'
238+
$freshclam_default_updatelogfile = '/var/log/clamav/freshclam.log'
239+
185240
} else {
186241
fail("The ${module_name} module is not supported on a ${::osfamily} based system with version ${::operatingsystemrelease}.")
187242
}

metadata.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,9 @@
5252
"14.04",
5353
"16.04"
5454
]
55+
},
56+
{
57+
"operatingsystem": "FreeBSD"
5558
}
5659
],
5760
"requirements": [

0 commit comments

Comments
 (0)