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/app-misc/dnetc/files/dnetc.initd

89 lines
2.0 KiB

#!/sbin/openrc-run
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
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 ${?}
}