aports/testing/rmilter/rmilter.initd
Valery Kartel b3d10d5695 testing/rmilter: upgrade to 1.10.0, implemented an idea of modular design
--
 - subpackages adds more functionality in one click
 - made a kind of automatic service dependency for external local services
2016-12-26 10:01:53 +00:00

46 lines
1.3 KiB
Plaintext

#!/sbin/openrc-run
description="Rapid mail filter"
command=/usr/sbin/rmilter
command_args=${cfgfile:+"-c $cfgfile"}
: ${user:=rmilter}
: ${group:=rmilter}
: ${cfgfile:=/etc/rmilter/rmilter.conf}
pidfile=$(grep '^[[:space:]]*pidfile[[:space:]]*=' $cfgfile | sed 's/[[:space:];]//g' | cut -d= -f2)
required_files="$cfgfile"
extra_started_commands="reload"
description_reload="Reload configuration"
start_stop_daemon_args="$start_stop_daemon_args --user $user --group $group"
depend() {
need net localmount
use logger antivirus antispam
for file in $(ls /etc/conf.d/${RC_SVCNAME}-rc_need@* 2>/dev/null); do
need ${file#*@}
done
}
start_pre() {
ebegin
checkpath --directory --owner $user:$group ${pidfile%/*}
bind_socket=$(grep '^[[:space:]]*bind_socket[[:space:]]*=[[:space:]]*unix:' $cfgfile | sed 's/[[:space:];]//g' | cut -d: -f2)
diff_dir=$(grep -hr '^[[:space:]]*diff_dir[[:space:]]*=' ${cfgfile%/*} | sed 's/[[:space:];]//g' | cut -d= -f2)
if [ "$bind_socket" ]; then
checkpath --directory --owner $user:$group ${bind_socket%/*}
rm -f $bind_socket
fi
if [ "$diff_dir" ]; then
checkpath --directory --owner $user:$group $diff_dir
rm -f $diff_dir/*
fi
eend $?
}
reload() {
ebegin "Reloading ${RC_SVCNAME}"
start-stop-daemon --signal USR1 --pidfile $pidfile
eend $?
}