btc,lnd: ensure service loggers are present

without the loggers attached to the sv services, the daemons output to
the terminal, which is the touchscreen and thus "drawing" over
the ngui UI.
dev
alex 1 year ago
parent d71d3f15eb
commit 037693e704
Signed by: x1ddos
GPG Key ID: 540189B756BF5B12

@ -2,7 +2,10 @@ BITCOIN_CORE_VERSION_DIR_AARCH64=bitcoin-24.0.1
BITCOIN_CORE_URL_AARCH64=https://bitcoincore.org/bin/bitcoin-core-24.0.1/bitcoin-24.0.1-aarch64-linux-gnu.tar.gz BITCOIN_CORE_URL_AARCH64=https://bitcoincore.org/bin/bitcoin-core-24.0.1/bitcoin-24.0.1-aarch64-linux-gnu.tar.gz
BITCOIN_CORE_SHA256_AARCH64=0b48b9e69b30037b41a1e6b78fb7cbcc48c7ad627908c99686e81f3802454609 BITCOIN_CORE_SHA256_AARCH64=0b48b9e69b30037b41a1e6b78fb7cbcc48c7ad627908c99686e81f3802454609
# binaries and config root; data is elsewhere, in /ssd/bitcoind as per conf file.
BITCOIN_HOME=/home/bitcoind BITCOIN_HOME=/home/bitcoind
# no root slash since it's combined with other path prefixes.
BITCOIN_SVDIR=etc/sv/bitcoind
bitcoin_core_bin_install() { bitcoin_core_bin_install() {
cd $BITCOIN_HOME cd $BITCOIN_HOME
@ -21,22 +24,31 @@ bitcoin_core_bin_install() {
} }
bitcoind_svc_install() { bitcoind_svc_install() {
local svdir=/etc/sv/bitcoind # service directories
mkdir -p $svdir mkdir -p /$BITCOIN_SVDIR
cat <<EOF > $svdir/run.new mkdir -p /$BITCOIN_SVDIR/log
# logging facility
if [ ! -f /$BITCOIN_SVDIR/log/run ]; then
cp $SYSUPDATES_ROOTDIR/files/$BITCOIN_SVDIR/log/run /$BITCOIN_SVDIR/log/
chmod +x /$BITCOIN_SVDIR/log/run
fi
# the actual bitcoin service
cat <<EOF > /$BITCOIN_SVDIR/run.new
#!/bin/sh #!/bin/sh
exec chpst -u bitcoind $BITCOIN_HOME/$BITCOIN_CORE_VERSION_DIR_AARCH64/bin/bitcoind -conf=$BITCOIN_HOME/mainnet.conf 2>&1 exec chpst -u bitcoind $BITCOIN_HOME/$BITCOIN_CORE_VERSION_DIR_AARCH64/bin/bitcoind -conf=$BITCOIN_HOME/mainnet.conf 2>&1
EOF EOF
chmod +x $svdir/run.new chmod +x /$BITCOIN_SVDIR/run.new
test -f $svdir/run && diff $svdir/run $svdir/run.new test -f /$BITCOIN_SVDIR/run && diff /$BITCOIN_SVDIR/run /$BITCOIN_SVDIR/run.new
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
mv $svdir/run.new $svdir/run mv /$BITCOIN_SVDIR/run.new /$BITCOIN_SVDIR/run
# don't touch the actual service if on manual control - the down file # don't touch the actual service if on manual control - the down file
test -f $svdir/down && return 0 test -f /$BITCOIN_SVDIR/down && return 0
sv -w 600 stop bitcoind || printf "ERROR: sv stop bitcoind failed\n" 1>&2 sv -w 600 stop bitcoind || printf "ERROR: sv stop bitcoind failed\n" 1>&2
sv start bitcoind || printf "ERROR: sv start bitcoind failed\n" 1>&2 sv start bitcoind || printf "ERROR: sv start bitcoind failed\n" 1>&2
fi fi
rm -f $svdir/run.new rm -f /$BITCOIN_SVDIR/run.new
} }
bitcoin_cli_install() { bitcoin_cli_install() {

@ -0,0 +1,2 @@
#!/bin/sh
exec vlogger -t bitcoind -p daemon

@ -0,0 +1,2 @@
#!/bin/sh
exec vlogger -t lnd -p daemon

@ -2,7 +2,10 @@ LND_VERSION_DIR_AARCH64=lnd-linux-arm64-v0.16.2-beta
LND_URL_AARCH64=https://github.com/lightningnetwork/lnd/releases/download/v0.16.2-beta/lnd-linux-arm64-v0.16.2-beta.tar.gz LND_URL_AARCH64=https://github.com/lightningnetwork/lnd/releases/download/v0.16.2-beta/lnd-linux-arm64-v0.16.2-beta.tar.gz
LND_SHA256_AARCH64=21e2b6640e06c84c43c5610f7f7613f609cdb09129e6704772436d6209a862af LND_SHA256_AARCH64=21e2b6640e06c84c43c5610f7f7613f609cdb09129e6704772436d6209a862af
# binaries and config root; data is elsewhere, in /ssd/lnd as per lnd conf.
LND_HOME=/home/lnd LND_HOME=/home/lnd
# no root slash since it's combined with other path prefixes.
LND_SVDIR=etc/sv/lnd
lnd_bin_install() { lnd_bin_install() {
cd $LND_HOME cd $LND_HOME
@ -21,24 +24,34 @@ lnd_bin_install() {
} }
lnd_svc_install() { lnd_svc_install() {
mkdir -p /etc/sv/lnd # service directories
cat <<EOF > /etc/sv/lnd/run.new mkdir -p /$LND_SVDIR
mkdir -p /$LND_SVDIR/log
# logging facility
if [ ! -f /$LND_SVDIR/log/run ]; then
cp $SYSUPDATES_ROOTDIR/files/$LND_SVDIR/log/run /$LND_SVDIR/log/
chmod +x /$LND_SVDIR/log/run
fi
# the actual lnd service
cat <<EOF > /$LND_SVDIR/run.new
#!/bin/sh #!/bin/sh
[ -r conf ] && . ./conf [ -r conf ] && . ./conf
sv start bitcoind || exit 1 sv start bitcoind || exit 1
exec chpst -u lnd $LND_HOME/$LND_VERSION_DIR_AARCH64/lnd -C /home/lnd/lnd.mainnet.conf 2>&1 exec chpst -u lnd $LND_HOME/$LND_VERSION_DIR_AARCH64/lnd -C /home/lnd/lnd.mainnet.conf 2>&1
EOF EOF
chmod +x /etc/sv/lnd/run.new chmod +x /$LND_SVDIR/run.new
test -f /etc/sv/lnd/run && diff /etc/sv/lnd/run /etc/sv/lnd/run.new test -f /$LND_SVDIR/run && diff /$LND_SVDIR/run /$LND_SVDIR/run.new
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
sv -w 600 stop lnd || printf "ERROR: sv stop lnd failed\n" 1>&2 sv -w 600 stop lnd || printf "ERROR: sv stop lnd failed\n" 1>&2
mv /etc/sv/lnd/run.new /etc/sv/lnd/run mv /$LND_SVDIR/run.new /$LND_SVDIR/run
sv start lnd || printf "ERROR: sv start lnd failed\n" 1>&2 sv start lnd || printf "ERROR: sv start lnd failed\n" 1>&2
fi fi
rm -f /etc/sv/lnd/run.new rm -f /$LND_SVDIR/run.new
# whatever happened above, try to ensure the service is up # whatever happened above, try to ensure the service is up
chmod +x /etc/sv/lnd/run chmod +x /$LND_SVDIR/run
[ ! -f /etc/sv/lnd/down ] && sv start lnd [ ! -f /$LND_SVDIR/down ] && sv start lnd
} }
lnd_cli_install() { lnd_cli_install() {

Loading…
Cancel
Save