#!/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 ${?} }