You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/net-proxy/ufdbguard/files/ufdb.initd

84 lines
1.8 KiB

#!/sbin/openrc-run
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
# reconfig is what the upstream documentation suggests, so let's
# provide it for compatibility.
extra_started_commands="reload reconfig"
depend() {
need net
before squid
use logger
}
get_config() {
awk '$1 == "'$1'" { print $2 }' "/etc/ufdbGuard.conf"
}
gentables() {
local dbhome=$(get_config dbhome)
for gt in ${UFDB_GT} ; do
[ -f "${dbhome}/${gt}/domains" ] || continue
urls=
[ -f "${dbhome}/${gt}/urls" ] && urls="${dbhome}/${gt}/urls"
ebegin "Generating domainlist ${gt}"
ufdbGenTable ${GENTABLE_OPTIONS} -t "${gt}" -d "${dbhome}/${gt}/domains" ${urls:+-u "${urls}"}
eend $?
done
}
start() {
gentables
local logdir=$(get_config logdir)
if [ ! -d "${logdir}" ] ; then
mkdir -p ${logdir}
chown -R ${UFDB_USER} ${logdir}
fi
if [ ! -d /var/run/ufdbguardd ] ; then
mkdir -p /var/run/ufdbguard
chown -R ${UFDB_USER} /var/run/ufdbguard
fi
ebegin "Starting ufdbGuard"
start-stop-daemon --start \
--user ${UFDB_USER} \
--wait 1500 \
--exec /usr/libexec/ufdbguard/ufdbguardd \
--pidfile /var/run/ufdbguard/ufdbguardd.pid -- \
-c /etc/ufdbGuard.conf ${UFDB_OPTS}
eend $? "Failed to start ufdbGuard"
}
stop() {
ebegin "Stopping ufdbGuard"
start-stop-daemon --stop \
--exec /usr/libexec/ufdbguard/ufdbguardd \
--pidfile /var/run/ufdbguard/ufdbguardd.pid
eend $? "Failed to stop ufdbGuard"
}
reload() {
if ! [ -f /var/run/ufdbguard/ufdbguardd.pid ]; then
eerror "Unable to find PID file for ufdbguardd, was it just started?"
return 1
fi
gentables
ebegin "Reloading ufdbGuard"
kill -HUP "$(cat /var/run/ufdbguard/ufdbguardd.pid)"
eend $? "Failed to reload ufdbGuard"
}
reconfig() {
reload
}