89 lines
2.1 KiB
Text
89 lines
2.1 KiB
Text
#!/sbin/runscript
|
|
# Copyright 1999-2008 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
# $Header: /var/cvsroot/gentoo-x86/app-misc/dnetc/files/dnetc.initd,v 1.3 2008/04/10 05:43:10 wolf31o2 Exp $
|
|
|
|
opts="${opts} reload fetch flush"
|
|
|
|
depend() {
|
|
use net
|
|
}
|
|
|
|
processOpts() {
|
|
local retVal=1
|
|
|
|
DNETPATH="/opt/distributed.net"
|
|
DNETBIN="${DNETPATH}/dnetc"
|
|
|
|
STARTOPTS="--start --chuid dnetc:dnetc --quiet \
|
|
--exec ${DNETBIN}"
|
|
|
|
DNETOPTS="-quiet"
|
|
|
|
if [ -e /etc/dnetc.ini ] ; then
|
|
retVal=0
|
|
DNETOPTS="${DNETOPTS} -ini /etc/dnetc.ini"
|
|
elif [ -e ${DNETPATH}/dnetc.ini ]; then
|
|
retVal=0
|
|
DNETOPTS="${DNETOPTS} -ini ${DNETPATH}/dnetc.ini"
|
|
elif [ ! -z ${EMAIL} ]; then
|
|
retVal=0
|
|
fi
|
|
|
|
# override ini settings with values in /etc/conf.d/dnetc
|
|
|
|
DNETOPTS="${DNETOPTS} ${EMAIL:+-e ${EMAIL}}"
|
|
if [ ! -z ${BUFFER_BASE_DIR} ] ; then
|
|
local buff_in="${BUFFER_BASE_DIR:+${BUFFER_BASE_DIR}/}buff-in"
|
|
local buff_out="${BUFFER_BASE_DIR:+${BUFFER_BASE_DIR}/}buff-out"
|
|
DNETOPTS="${DNETOPTS} -inbase ${buff_in}"
|
|
DNETOPTS="${DNETOPTS} -outbase ${buff_out}"
|
|
fi
|
|
DNETOPTS="${DNETOPTS} ${KEYSERVER_ADDRESS:+-a ${KEYSERVER_ADDRESS}}"
|
|
|
|
# fair group cpu scheduler
|
|
uidpath="/sys/kernel/uids/`id -u dnetc`"
|
|
[ -d $uidpath ] && echo 2 >$uidpath/cpu_share
|
|
unset uidpath
|
|
|
|
if [ ${retVal} -ne 0 ] ; then
|
|
eerror "Need some sort of configuration. Check /etc/conf.d/dnetc."
|
|
fi
|
|
|
|
return ${retVal}
|
|
}
|
|
|
|
start() {
|
|
processOpts || return 1
|
|
ebegin "Starting distributed.net client"
|
|
start-stop-daemon ${STARTOPTS} -- ${DNETOPTS}
|
|
eend ${?}
|
|
}
|
|
|
|
stop() {
|
|
processOpts || return 1
|
|
ebegin "Stopping distributed.net client"
|
|
start-stop-daemon --stop --quiet --exec ${DNETBIN} --
|
|
eend ${?}
|
|
}
|
|
|
|
reload() {
|
|
processOpts || return 1
|
|
ebegin "Reloading distributed.net client"
|
|
start-stop-daemon --stop --quiet --signal HUP --exec ${DNETBIN}
|
|
eend ${?}
|
|
}
|
|
|
|
fetch() {
|
|
processOpts || return 1
|
|
ebegin "Fetching distributed.net client buffers"
|
|
${DNETBIN} ${DNETOPTS} -fetch
|
|
eend ${?}
|
|
}
|
|
|
|
flush() {
|
|
processOpts || return 1
|
|
ebegin "Flushing distributed.net client buffers"
|
|
${DNETBIN} ${DNETOPTS} -flush
|
|
eend ${?}
|
|
}
|