From 3c3623ef23328cb6373da02e3aae825792c33623 Mon Sep 17 00:00:00 2001 From: kozyilmaz Date: Sun, 17 Dec 2017 19:30:19 +0300 Subject: [PATCH 1/2] [macOS] added curl method for param download --- zcutil/fetch-params.sh | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/zcutil/fetch-params.sh b/zcutil/fetch-params.sh index 10bade7cb..b8511c780 100755 --- a/zcutil/fetch-params.sh +++ b/zcutil/fetch-params.sh @@ -14,10 +14,12 @@ SHA256ARGS="$(command -v sha256sum >/dev/null || echo '-a 256')" WGETCMD="$(command -v wget || echo '')" IPFSCMD="$(command -v ipfs || echo '')" +CURLCMD="$(command -v curl || echo '')" # fetch methods can be disabled with ZC_DISABLE_SOMETHING=1 ZC_DISABLE_WGET="${ZC_DISABLE_WGET:-}" ZC_DISABLE_IPFS="${ZC_DISABLE_IPFS:-}" +ZC_DISABLE_CURL="${ZC_DISABLE_CURL:-}" function fetch_wget { if [ -z "$WGETCMD" ] || ! [ -z "$ZC_DISABLE_WGET" ]; then @@ -56,6 +58,26 @@ EOF ipfs get --output "$dlname" "$SPROUT_IPFS/$filename" } +function fetch_curl { + if [ -z "$CURLCMD" ] || ! [ -z "$ZC_DISABLE_CURL" ]; then + return 1 + fi + + local filename="$1" + local dlname="$2" + + cat <&2 < Date: Sun, 17 Dec 2017 20:18:03 +0300 Subject: [PATCH 2/2] [macOS] use shlock instead of flock in fetch-params --- zcutil/fetch-params.sh | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/zcutil/fetch-params.sh b/zcutil/fetch-params.sh index b8511c780..9eb52bec1 100755 --- a/zcutil/fetch-params.sh +++ b/zcutil/fetch-params.sh @@ -2,7 +2,11 @@ set -eu -PARAMS_DIR="$HOME/.zcash-params" +if [[ "$OSTYPE" == "darwin"* ]]; then + PARAMS_DIR="$HOME/Library/Application Support/ZcashParams" +else + PARAMS_DIR="$HOME/.zcash-params" +fi SPROUT_PKEY_NAME='sprout-proving.key' SPROUT_VKEY_NAME='sprout-verifying.key' @@ -125,12 +129,20 @@ EOF # Use flock to prevent parallel execution. function lock() { local lockfile=/tmp/fetch_params.lock - # create lock file - eval "exec 200>/$lockfile" - # acquire the lock - flock -n 200 \ - && return 0 \ - || return 1 + if [[ "$OSTYPE" == "darwin"* ]]; then + if shlock -f ${lockfile} -p $$; then + return 0 + else + return 1 + fi + else + # create lock file + eval "exec 200>/$lockfile" + # acquire the lock + flock -n 200 \ + && return 0 \ + || return 1 + fi } function exit_locked_error {