aboutsummaryrefslogtreecommitdiff
path: root/net-p2p
diff options
context:
space:
mode:
authorVasil Dimov <vd@FreeBSD.org>2020-01-07 11:12:17 +0000
committerVasil Dimov <vd@FreeBSD.org>2020-01-07 11:12:17 +0000
commitc63159f4234852d2e6a7fa6c7c123010c2148d91 (patch)
tree8b1113bc1f4faca0ce89e1ea9f1908b2a964f214 /net-p2p
parent535a71b876669ca8ea83c95c22f1eebff8ba9bcf (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/Makefile1
-rw-r--r--net-p2p/c-lightning/files/lightningd.in9
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"