From 5c42b2224630b120f7dc32174a59c828da63616e Mon Sep 17 00:00:00 2001 From: Alexander Fisher Date: Fri, 15 Mar 2019 16:09:39 +0000 Subject: [PATCH] Run freshclam once to populate database Fixes #58 --- manifests/freshclam.pp | 10 ++++++++++ manifests/init.pp | 5 +++++ manifests/params.pp | 1 + 3 files changed, 16 insertions(+) diff --git a/manifests/freshclam.pp b/manifests/freshclam.pp index c3f44a8..7d18c58 100644 --- a/manifests/freshclam.pp +++ b/manifests/freshclam.pp @@ -44,6 +44,15 @@ $service_subscribe = File['freshclam.conf'] } + if $clamav::freshclam_initial_run { + # Run freshclam once so that the clamav daemon won't fail on startup + exec { 'freshclam': + path => '/sbin:/bin:/usr/sbin:/usr/bin', + unless => "test -e ${config_options['DatabaseDirectory']}/main.cvd || test -e ${config_options['DatabaseDirectory']}/main.cld", + subscribe => $service_subscribe, + } + } + # NOTE: RedHat comes with /etc/cron.daily/freshclam instead of a service if $clamav::freshclam_service { service { 'freshclam': @@ -53,6 +62,7 @@ hasrestart => true, hasstatus => true, subscribe => $service_subscribe, + require => Exec['/usr/bin/freshclam'], } } diff --git a/manifests/init.pp b/manifests/init.pp index 7c04544..6b6a31e 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -41,6 +41,7 @@ $freshclam_options = $clamav::params::freshclam_options, $freshclam_sysconfig = $clamav::params::freshclam_sysconfig, $freshclam_delay = $clamav::params::freshclam_delay, + $freshclam_initial_run = $clamav::params::freshclam_initial_run, $clamav_milter_package = $clamav::params::clamav_milter_package, $clamav_milter_version = $clamav::params::clamav_milter_version, @@ -118,6 +119,10 @@ Anchor['clamav::end'] } + if $manage_clamd and $manage_freshclam { + Class['clamav::freshclam'] -> Class['clamav::clamd'] + } + if $manage_clamav_milter { Class['clamav::install'] -> class { '::clamav::clamav_milter': } -> diff --git a/manifests/params.pp b/manifests/params.pp index 3684e55..bf0ab13 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -15,6 +15,7 @@ $clamd_service_enable = true $freshclam_service_ensure = 'running' $freshclam_service_enable = true + $freshclam_initial_run = true $clamav_milter_service_ensure = 'running' $clamav_milter_service_enable = true