Date: Tue, 17 Mar 2020 17:23:45 +0000 (UTC) From: Vasil Dimov <vd@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r528588 - in head/net-p2p/c-lightning: . files Message-ID: <202003171723.02HHNjSZ005000@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: vd Date: Tue Mar 17 17:23:45 2020 New Revision: 528588 URL: https://svnweb.freebsd.org/changeset/ports/528588 Log: net-p2p/c-lightning: fix on head and wait bitcoind * Fix compilation on FreeBSD 13-CURRENT * Instruct rc(8) to start lightningd after bitcoind, if the latter is to be started on this host. * Wait for bitcoind RPC to be available before starting lightningd because: - even though bitcoind would start and its rc script exit, it will not serve RPC requests immediately - lightningd would not start if bitcoind RPC is not available Modified: head/net-p2p/c-lightning/Makefile head/net-p2p/c-lightning/distinfo head/net-p2p/c-lightning/files/lightningd.in Modified: head/net-p2p/c-lightning/Makefile ============================================================================== --- head/net-p2p/c-lightning/Makefile Tue Mar 17 17:17:58 2020 (r528587) +++ head/net-p2p/c-lightning/Makefile Tue Mar 17 17:23:45 2020 (r528588) @@ -4,11 +4,15 @@ PORTNAME= c-lightning # To build from an arbitrary git commit comment PORTVERSION and PORTREVISION (if present) PORTVERSION= 0.8.1 +PORTREVISION= 1 DISTVERSIONPREFIX= v # and uncomment the following two lines (use for example -git-HEAD or -git-f8d8348c) #PORTVERSION= 0 #PKGNAMESUFFIX= -git-f8d8348c CATEGORIES= net-p2p finance + +PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ +PATCHFILES+= 67fdc507.patch:-p1 # https://github.com/ElementsProject/lightning/pull/3594 MAINTAINER= vd@FreeBSD.org COMMENT= Lightning Network implementation in C Modified: head/net-p2p/c-lightning/distinfo ============================================================================== --- head/net-p2p/c-lightning/distinfo Tue Mar 17 17:17:58 2020 (r528587) +++ head/net-p2p/c-lightning/distinfo Tue Mar 17 17:23:45 2020 (r528588) @@ -1,4 +1,4 @@ -TIMESTAMP = 1582009617 +TIMESTAMP = 1584465209 SHA256 (ElementsProject-lightning-v0.8.1_GH0.tar.gz) = fee0ddaa23c4d143f5ce1d2c2c5a219891d69e0eca0ac636b2a42bf19cb42ede SIZE (ElementsProject-lightning-v0.8.1_GH0.tar.gz) = 2683725 SHA256 (ElementsProject-libwally-core-release_0.7.5_GH0.tar.gz) = e37b30be66dff973ad979d176f0d8e87331304769214522a0782bbbb79c18ec6 @@ -7,3 +7,5 @@ SHA256 (ianlancetaylor-libbacktrace-5a99ff7fed66b8e_GH SIZE (ianlancetaylor-libbacktrace-5a99ff7fed66b8e_GH0.tar.gz) = 509368 SHA256 (zserge-jsmn-v1.0.0_GH0.tar.gz) = 5b1f46312cf205e6a0923a0656893bde9e022c76d06d980958fa8dbf79f0ea06 SIZE (zserge-jsmn-v1.0.0_GH0.tar.gz) = 11035 +SHA256 (67fdc507.patch) = f46d701ee9b3de11af3ed031834e553eb49baaeffee25f677270dbf99321821e +SIZE (67fdc507.patch) = 2265 Modified: head/net-p2p/c-lightning/files/lightningd.in ============================================================================== --- head/net-p2p/c-lightning/files/lightningd.in Tue Mar 17 17:17:58 2020 (r528587) +++ head/net-p2p/c-lightning/files/lightningd.in Tue Mar 17 17:23:45 2020 (r528588) @@ -2,7 +2,7 @@ # $FreeBSD$ # PROVIDE: lightningd -# REQUIRE: LOGIN cleanvar +# REQUIRE: LOGIN bitcoind cleanvar # KEYWORD: shutdown # Add the following to %%LOCALBASE%%/etc/rc.conf.d/lightningd to influence @@ -30,6 +30,7 @@ load_rc_config ${name} : ${lightningd_network:="bitcoin"} : ${lightningd_conf:="%%PREFIX%%/etc/${name}-${lightningd_network}.conf"} +start_precmd="lightningd_start_precmd" pidfile="${lightningd_base_dir}/lightningd-${lightningd_network}.pid" command="%%PREFIX%%/bin/lightningd" command_args="" @@ -49,5 +50,44 @@ if [ -e "${lightningd_conf}" ] ; then fi command_args="${command_args} ${lightningd_extra_args}" + +check_bitcoind_ready() +{ + bitcoin-cli \ + -rpcconnect=${bitcoin_addr}${bitcoin_port:+":"}${bitcoin_port} \ + -rpcuser=${bitcoin_user} \ + -stdinrpcpass \ + echo itworks <<PASS +${bitcoin_pass} +PASS +} + +lightningd_start_precmd() +{ + # Wait for bitcoind to be fully operational. lightningd would quit (refuse + # to start) if it can't talk to bitcoind via its RPC. + bitcoin_addr="`grep ^bitcoin-rpcconnect= "${lightningd_conf}" |cut -f 2- -d =`" + bitcoin_port="`grep ^bitcoin-rpcport= "${lightningd_conf}" |cut -f 2- -d =`" + bitcoin_user="`grep ^bitcoin-rpcuser= "${lightningd_conf}" |cut -f 2- -d =`" + bitcoin_pass="`grep ^bitcoin-rpcpassword= "${lightningd_conf}" |cut -f 2- -d =`" + + i=20 + while : ; do + if [ $i -eq 0 ] ; then + # Show errors from last attempt. + if ! check_bitcoind_ready ; then + echo "Failed: bitcoind did not start serving RPC, starting lightningd anyway" + fi + break + else + if check_bitcoind_ready > /dev/null 2>&1; then + break + fi + fi + echo "Waiting for bitcoind to start serving RPC, lightningd cannot start without it $i" + sleep 1 + i=$((i - 1)) + done +} run_rc_command "$1"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202003171723.02HHNjSZ005000>