diff options
author | V3n3RiX <venerix@koprulu.sector> | 2023-12-11 17:14:47 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2023-12-11 17:14:47 +0000 |
commit | 25e5a6599437664a3eff8d9f8a966adc896e09e8 (patch) | |
tree | 67ef90a99446e1fee47c4ebb4c8c3a8175b41913 /net-p2p/bitcoin-core/files/26.0-init.patch | |
parent | 24b2471760a35870c85ca752666bcb66120289af (diff) |
gentoo auto-resync : 11:12:2023 - 17:14:47
Diffstat (limited to 'net-p2p/bitcoin-core/files/26.0-init.patch')
-rw-r--r-- | net-p2p/bitcoin-core/files/26.0-init.patch | 196 |
1 files changed, 196 insertions, 0 deletions
diff --git a/net-p2p/bitcoin-core/files/26.0-init.patch b/net-p2p/bitcoin-core/files/26.0-init.patch new file mode 100644 index 000000000000..d42d44f0642a --- /dev/null +++ b/net-p2p/bitcoin-core/files/26.0-init.patch @@ -0,0 +1,196 @@ +From 779e7c8fe188bea5b2185be0784112104be168df Mon Sep 17 00:00:00 2001 +From: Matt Whitlock <bitcoin@mattwhitlock.name> +Date: Sun, 17 Sep 2023 10:02:20 -0400 +Subject: [PATCH] contrib/init: improve OpenRC scripts and systemd service unit + +--- + contrib/init/bitcoind.openrc | 112 +++++++++++++++---------------- + contrib/init/bitcoind.openrcconf | 7 +- + contrib/init/bitcoind.service | 5 ++ + 3 files changed, 64 insertions(+), 60 deletions(-) + +diff --git a/contrib/init/bitcoind.openrc b/contrib/init/bitcoind.openrc +index 013a1a6070..7d16e975e5 100644 +--- a/contrib/init/bitcoind.openrc ++++ b/contrib/init/bitcoind.openrc +@@ -1,76 +1,72 @@ + #!/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" +-fi ++: ${BITCOIND_CONFIGFILE:=/etc/bitcoin/bitcoin.conf} ++: ${BITCOIND_PIDDIR:=/run/bitcoind} ++: ${BITCOIND_PIDFILE:=${BITCOIND_PIDDIR}/${SVCNAME}.pid} ++: ${BITCOIND_DATADIR:=/var/lib/bitcoind} ++: ${BITCOIND_LOGDIR:=/var/log/bitcoind} ++: ${BITCOIND_USER:=${BITCOIN_USER:-bitcoin}} ++: ${BITCOIND_GROUP:=bitcoin} ++: ${BITCOIND_BIN:=/usr/bin/bitcoind} ++: ${BITCOIND_NICE:=${NICELEVEL:-0}} ++: ${BITCOIND_OPTS=${BITCOIN_OPTS}} + +-BITCOIND_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" ++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}" ++in_background_fake="start" + + 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 file + start_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 ++ checkpath -f --mode 0660 --owner "${BITCOIND_USER}:${BITCOIND_GROUP}" "${BITCOIND_CONFIGFILE}" ++ checkpath -d --mode 0750 --owner "${BITCOIND_USER}:${BITCOIND_GROUP}" "${BITCOIND_DATADIR}" ++ checkpath -d --mode 0755 --owner "${BITCOIND_USER}:${BITCOIND_GROUP}" "${BITCOIND_LOGDIR}" ++ checkpath -d --mode 0755 --owner "${BITCOIND_USER}:${BITCOIND_GROUP}" "${BITCOIND_PIDDIR}" ++ checkconfig + } + +-checkconfig() +-{ +- if grep -qs '^rpcuser=' "${BITCOIND_CONFIGFILE}" && \ +- ! grep -qs '^rpcpassword=' "${BITCOIND_CONFIGFILE}" ; then ++start() { ++ ebegin "Starting ${name}" ++ mark_service_inactive ++ if start-stop-daemon \ ++ --pidfile="${BITCOIND_PIDFILE}" \ ++ --chdir="${BITCOIND_DATADIR}" \ ++ --user="${BITCOIND_USER}:${BITCOIND_GROUP}" \ ++ --nice="${BITCOIND_NICE}" \ ++ --exec="${BITCOIND_BIN}" \ ++ -- \ ++ -daemonwait \ ++ -pid="${BITCOIND_PIDFILE}" \ ++ -conf="${BITCOIND_CONFIGFILE}" \ ++ -datadir="${BITCOIND_DATADIR}" \ ++ -debuglogfile="${BITCOIND_LOGDIR}/debug.log" \ ++ ${BITCOIND_OPTS} ++ then ++ chmod g+r "${BITCOIND_DATADIR}/.cookie" ++ IN_BACKGROUND=yes rc-service "${SVCNAME}" --quiet start ++ else ++ rc-service "${SVCNAME}" --quiet zap ++ fi & ++} ++ ++stop() { ++ ebegin "Stopping ${name}" ++ start-stop-daemon --stop \ ++ --pidfile="${BITCOIND_PIDFILE}" \ ++ --retry="${BITCOIND_SIGTERM_TIMEOUT}" \ ++ --exec="${BITCOIND_BIN}" ++ eend $? ++} ++ ++checkconfig() { ++ if grep -qs '^rpcuser=' "${BITCOIND_CONFIGFILE}" && ++ ! 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}" +diff --git a/contrib/init/bitcoind.openrcconf b/contrib/init/bitcoind.openrcconf +index c8a22a08d9..f5a140ab9d 100644 +--- a/contrib/init/bitcoind.openrcconf ++++ b/contrib/init/bitcoind.openrcconf +@@ -4,14 +4,17 @@ + #BITCOIND_CONFIGFILE="/etc/bitcoin/bitcoin.conf" + + # What directory to write pidfile to? (created and owned by $BITCOIND_USER) +-#BITCOIND_PIDDIR="/var/run/bitcoind" ++#BITCOIND_PIDDIR="/run/bitcoind" + + # What filename to give the pidfile +-#BITCOIND_PIDFILE="${BITCOIND_PIDDIR}/bitcoind.pid" ++#BITCOIND_PIDFILE="${BITCOIND_PIDDIR}/${SVCNAME}.pid" + + # Where to write bitcoind data (be mindful that the blockchain is large) + #BITCOIND_DATADIR="/var/lib/bitcoind" + ++# Where to write the debug.log file ++#BITCOIND_LOGDIR="/var/log/bitcoind" ++ + # User and group to own bitcoind process + #BITCOIND_USER="bitcoin" + #BITCOIND_GROUP="bitcoin" +diff --git a/contrib/init/bitcoind.service b/contrib/init/bitcoind.service +index 87da17f955..e1229f300a 100644 +--- a/contrib/init/bitcoind.service ++++ b/contrib/init/bitcoind.service +@@ -20,6 +20,7 @@ Wants=network-online.target + [Service] + ExecStart=/usr/bin/bitcoind -pid=/run/bitcoind/bitcoind.pid \ + -conf=/etc/bitcoin/bitcoin.conf \ ++ -debuglogfile=/var/log/bitcoind/debug.log \ + -datadir=/var/lib/bitcoind \ + -startupnotify='systemd-notify --ready' \ + -shutdownnotify='systemd-notify --stopping' +@@ -54,6 +55,10 @@ RuntimeDirectoryMode=0710 + ConfigurationDirectory=bitcoin + ConfigurationDirectoryMode=0710 + ++# /var/log/bitcoind ++LogsDirectory=bitcoind ++LogsDirectoryMode=0755 ++ + # /var/lib/bitcoind + StateDirectory=bitcoind + StateDirectoryMode=0710 +-- +2.43.0 + |