diff options
author | Matthew Brewer <tomboy64@sina.cn> | 2016-03-31 23:58:25 +0200 |
---|---|---|
committer | Matthew Brewer <tomboy64@sina.cn> | 2016-03-31 23:58:25 +0200 |
commit | f97fc124c8b7a73536e84ea95bcca9b2e93a028a (patch) | |
tree | 7f73385643ebb21366414a4fa042927efbec9b96 /net-p2p/bitcoin-qt/files/bitcoin.initd-r1 | |
parent | dev-libs/actor-framework: (diff) | |
download | tbc-f97fc124c8b7a73536e84ea95bcca9b2e93a028a.tar.gz tbc-f97fc124c8b7a73536e84ea95bcca9b2e93a028a.tar.bz2 tbc-f97fc124c8b7a73536e84ea95bcca9b2e93a028a.zip |
bla
Diffstat (limited to 'net-p2p/bitcoin-qt/files/bitcoin.initd-r1')
-rw-r--r-- | net-p2p/bitcoin-qt/files/bitcoin.initd-r1 | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/net-p2p/bitcoin-qt/files/bitcoin.initd-r1 b/net-p2p/bitcoin-qt/files/bitcoin.initd-r1 new file mode 100644 index 0000000..02a159c --- /dev/null +++ b/net-p2p/bitcoin-qt/files/bitcoin.initd-r1 @@ -0,0 +1,104 @@ +#!/sbin/runscript +# Distributed under the terms of the GNU General Public License, v2 or later + +VARDIR="/var/lib/bitcoin" +CONFFILE="${VARDIR}/.bitcoin/bitcoin.conf" + +depend() { + need net +} + +checkconfig() { + if [ "${BITCOIN_USER}" = "" ] ; then + eerror "Please edit /etc/conf.d/bitcoind" + eerror "A user must be specified to run bitcoind as that user." + eerror "Modify USER to your needs (you may also add a group after a colon)" + return 1 + fi + if ! `getent passwd | cut -d ':' -f 1 | grep $( echo "${BITCOIN_USER}" | cut -d ':' -f 1 ) -sq` ; then + eerror "Please edit /etc/conf.d/bitcoind" + eerror "Specified user must exist!" + return 1 + fi + if `echo "${BITCOIN_USER}" | grep ':' -sq` ; then + if ! `cut -d ':' -f 1 /etc/group | grep $( echo "${BITCOIN_USER}" | cut -d ':' -f 2 ) -sq` ; then + eerror "Please edit /etc/conf.d/bitcoind" + eerror "Specified group must exist!" + return 1 + fi + fi + if ! grep -q '^rpcpassword=' "${CONFFILE}"; then + eerror "Please edit `readlink -f ${CONFFILE}`" + eerror "There must be at least a line assigning rpcpassword=something-secure" + return 1 + fi + if ! stat -Lc '%a' "${CONFFILE}" | grep -q '^[4567]00$'; then + eerror "`readlink -f ${CONFFILE}` should not be readable by other users" + return 1 + fi + return 0 +} + +start() { + checkconfig || return 1 + ebegin "Starting Bitcoind daemon" + + pkg-config openrc + if [ $? = 0 ]; then + start_openrc + else + start_baselayout + fi +} + +stop() { + ebegin "Stopping Bitcoin daemon" + + pkg-config openrc + if [ $? = 0 ]; then + stop_openrc + else + stop_baselayout + fi +} + +start_openrc() { + start-stop-daemon \ + --start --user "${BITCOIN_USER}" --name bitcoind \ + --pidfile /var/run/bitcoind.pid --make-pidfile \ + --env HOME="${VARDIR}" --exec /usr/bin/bitcoind \ + --nicelevel "${NICELEVEL}" \ + --background \ + --wait 2000 \ + -- ${BITCOIN_OPTS} + eend $? +} + +stop_openrc() { + start-stop-daemon --stop --user "${BITCOIN_USER}" \ + --name bitcoind --pidfile /var/run/bitcoind.pid \ + --wait 30000 \ + --progress + eend $? +} + +start_baselayout() { + start-stop-daemon \ + --start --user "${BITCOIN_USER}" --name bitcoind \ + --pidfile /var/run/bitcoind.pid --make-pidfile \ + --env HOME="${VARDIR}" --exec /usr/bin/bitcoind \ + --chuid "${BITCOIN_USER}" \ + --nicelevel "${NICELEVEL}" \ + --background \ + -- ${BITCOIN_OPTS} + eend $? +} + +stop_baselayout() { + start-stop-daemon \ + --stop \ + --user "${BITCOIN_USER}" \ + --name bitcoind \ + --pidfile /var/run/bitcoind.pid + eend $? +} |