git / moonbite-core / contrib/init/bitcoind.openrc · raw

#!/sbin/openrc-run# backward compatibility for existing gentoo layout #if [ -d "/var/lib/bitcoin/.bitcoin" ]; then	BITCOIND_DEFAULT_DATADIR="/var/lib/bitcoin/.bitcoin"else	BITCOIND_DEFAULT_DATADIR="/var/lib/bitcoind"fiBITCOIND_CONFIGFILE=${BITCOIND_CONFIGFILE:-/etc/bitcoin/bitcoin.conf}BITCOIND_PIDDIR=${BITCOIND_PIDDIR:-/var/run/bitcoind}BITCOIND_PIDFILE=${BITCOIND_PIDFILE:-${BITCOIND_PIDDIR}/bitcoind.pid}BITCOIND_DATADIR=${BITCOIND_DATADIR:-${BITCOIND_DEFAULT_DATADIR}}BITCOIND_USER=${BITCOIND_USER:-${BITCOIN_USER:-bitcoin}}BITCOIND_GROUP=${BITCOIND_GROUP:-bitcoin}BITCOIND_BIN=${BITCOIND_BIN:-/usr/bin/bitcoind}BITCOIND_NICE=${BITCOIND_NICE:-${NICELEVEL:-0}}BITCOIND_OPTS="${BITCOIND_OPTS:-${BITCOIN_OPTS}}"name="Bitcoin Core Daemon"description="Bitcoin cryptocurrency P2P network daemon"command="/usr/bin/bitcoind"command_args="-pid=\"${BITCOIND_PIDFILE}\" \		-conf=\"${BITCOIND_CONFIGFILE}\" \		-datadir=\"${BITCOIND_DATADIR}\" \		-daemon \		${BITCOIND_OPTS}"required_files="${BITCOIND_CONFIGFILE}"start_stop_daemon_args="-u ${BITCOIND_USER} \			-N ${BITCOIND_NICE} -w 2000"pidfile="${BITCOIND_PIDFILE}"# The retry schedule to use when stopping the daemon. Could be either# a timeout in seconds or multiple signal/timeout pairs (like# "SIGKILL/180 SIGTERM/300")retry="${BITCOIND_SIGTERM_TIMEOUT}"depend() {	need localmount net}# verify# 1) that the datadir exists and is writable (or create it)# 2) that a directory for the pid exists and is writable# 3) ownership and permissions on the config filestart_pre() {	checkpath \	-d \	--mode 0750 \	--owner "${BITCOIND_USER}:${BITCOIND_GROUP}" \	"${BITCOIND_DATADIR}"	checkpath \	-d \	--mode 0755 \	--owner "${BITCOIND_USER}:${BITCOIND_GROUP}" \	"${BITCOIND_PIDDIR}"	checkpath -f \	-o ${BITCOIND_USER}:${BITCOIND_GROUP} \	-m 0660 \	${BITCOIND_CONFIGFILE}	checkconfig || return 1}checkconfig(){	if ! grep -qs '^rpcpassword=' "${BITCOIND_CONFIGFILE}" ; then		eerror ""		eerror "ERROR: You must set a secure rpcpassword to run bitcoind."		eerror "The setting must appear in ${BITCOIND_CONFIGFILE}"		eerror ""		eerror "This password is security critical to securing wallets "		eerror "and must not be the same as the rpcuser setting."		eerror "You can generate a suitable random password using the following "		eerror "command from the shell:"		eerror ""		eerror "bash -c 'tr -dc a-zA-Z0-9 < /dev/urandom | head -c32 && echo'"		eerror ""		eerror "It is recommended that you also set alertnotify so you are "		eerror "notified of problems:"		eerror ""		eerror "ie: alertnotify=echo %%s | mail -s \"Bitcoin Alert\"" \			"admin@foo.com"		eerror ""		return 1	fi}