diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2009-07-02 17:30:47 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2009-07-02 17:30:47 +0000 |
commit | 0c4a43f330873842ae85f7f41a923454b8ce4812 (patch) | |
tree | 96cbd7bbb6a650123c4585d3bbf211df966c440d /extra/clamav/freshclam.initd | |
parent | 439bbcd25575f703552d5c0740b1019693ddd19a (diff) |
extra/clamav: make a default config that works out of the box
this includes fixes to init.d scripts, and logrotate config
Diffstat (limited to 'extra/clamav/freshclam.initd')
-rw-r--r-- | extra/clamav/freshclam.initd | 36 |
1 files changed, 30 insertions, 6 deletions
diff --git a/extra/clamav/freshclam.initd b/extra/clamav/freshclam.initd index e4643bc6092..7961c7f8070 100644 --- a/extra/clamav/freshclam.initd +++ b/extra/clamav/freshclam.initd @@ -1,23 +1,32 @@ #!/sbin/runscript +opts="logfix reload" + NAME=freshclam DAEMON=/usr/bin/$NAME +CONF=/etc/clamav/freshclam.conf depend() { need net } start() { - ebegin "Starting ${NAME}" - start-stop-daemon --start --quiet --background \ - --exec ${DAEMON} -- -d ${OPTS} - eend $? + ebegin "Starting freshclam" + start-stop-daemon --start --quiet \ + --nicelevel ${FRESHCLAM_NICELEVEL:-0} \ + --exec /usr/bin/freshclam -- -d + retcode=$? + if [ ${retcode} = 1 ]; then + eend 0 + einfo "Virus databases are already up to date." + else + eend ${retcode} "Failed to start freshclam" + fi } stop() { ebegin "Stopping ${NAME}" - start-stop-daemon --stop --quiet \ - --exec ${DAEMON} --name $NAME \ + start-stop-daemon --stop --quiet --name ${NAME} eend $? } @@ -32,3 +41,18 @@ reload() { eend $? } + +logfix() { + # fix freshclam log permissions + # (might be clobbered by logrotate or something) + logfile=$(awk '$1 == "UpdateLogFile" { print $2 }' $CONF) + local freshclam_user=$(awk '$1 == "DatabaseOwner" { print $2 }' $CONF) + if [ -n "${logfile}" -a -n "${clamav_user}" ]; then + if [ ! -f "${logfile}" ]; then + touch ${logfile} + fi + chown ${freshclam_user} ${logfile} + chmod 640 ${logfile} + fi +} + |