diff options
author | Vasil Dimov <vd@FreeBSD.org> | 2020-01-07 11:12:17 +0000 |
---|---|---|
committer | Vasil Dimov <vd@FreeBSD.org> | 2020-01-07 11:12:17 +0000 |
commit | c63159f4234852d2e6a7fa6c7c123010c2148d91 (patch) | |
tree | 8b1113bc1f4faca0ce89e1ea9f1908b2a964f214 /net-p2p | |
parent | 535a71b876669ca8ea83c95c22f1eebff8ba9bcf (diff) |
net-p2p/c-lightning: fix bitcoin-cli exec setup
lightningd does execute bitcoin-cli internally during runtime.
Fix two problems with that:
* The bitcoin-cli executable is usually located in
/usr/local/bin/bitcoin-cli but service(8) would remove /usr/local/bin
from PATH before executing our rc script /usr/local/etc/rc.d/lightningd
and so the lightningd daemon would inherit a PATH that does not contain
bitcoin-cli. To fix this give the full path to bitcoin-cli to lightningd.
* bitcoin-cli(1) tries to create its datadir when it starts if it does not
exist. By default that is ${HOME}/.bitcoin. service(8) would set HOME=/
and if / is mounted read-only, then this creation would fail. Because we
don't want this directory created (it is not necessary and remains empty)
tell lightningd to execute
bitcoin-cli --datadir=/some/directory/that/already/exists.
Also, append ${lightningd_extra_args} to the lightingd arguments. This was
forgotten in the initial commit and setting lightningd_extra_args would have
had no effect.
Reported by: https://github.com/bitcoin-software
Notes
Notes:
svn path=/head/; revision=522323
Diffstat (limited to 'net-p2p')
-rw-r--r-- | net-p2p/c-lightning/Makefile | 1 | ||||
-rw-r--r-- | net-p2p/c-lightning/files/lightningd.in | 9 |
2 files changed, 10 insertions, 0 deletions
diff --git a/net-p2p/c-lightning/Makefile b/net-p2p/c-lightning/Makefile index b2b422276924..f8ad438aabb1 100644 --- a/net-p2p/c-lightning/Makefile +++ b/net-p2p/c-lightning/Makefile @@ -4,6 +4,7 @@ PORTNAME= c-lightning # To build from an arbitrary git commit comment PORTVERSION and PORTREVISION (if present) PORTVERSION= 0.8.0 +PORTREVISION= 1 DISTVERSIONPREFIX= v # and uncomment the following two lines (use for example -git-HEAD or -git-f8d8348c) #PORTVERSION= 0 diff --git a/net-p2p/c-lightning/files/lightningd.in b/net-p2p/c-lightning/files/lightningd.in index c476da7e1105..97ae38757e29 100644 --- a/net-p2p/c-lightning/files/lightningd.in +++ b/net-p2p/c-lightning/files/lightningd.in @@ -36,9 +36,18 @@ command_args="" command_args="${command_args} --lightning-dir=${lightningd_base_dir}" command_args="${command_args} --network=${lightningd_network}" command_args="${command_args} --daemon" +# service(8) would execute us with LOCALBASE stripped out from PATH, +# thus specify the full path to bitcoin-cli. +command_args="${command_args} --bitcoin-cli=%%LOCALBASE%%/bin/bitcoin-cli" +# bitcoin-cli(1) tries to create its "datadir" (by default ${HOME}/.bitcoin) +# if it does not exist. Provide something that already exists to avoid the +# creation of unnecessary empty directories. +command_args="${command_args} --bitcoin-datadir=${lightningd_base_dir}" if [ -e "${lightningd_conf}" ] ; then command_args="${command_args} --conf=${lightningd_conf}" fi +command_args="${command_args} ${lightningd_extra_args}" + run_rc_command "$1" |