Merge pull request #6129 from str4d/backport-shell-lints
Backport shell lint changes
This commit is contained in:
commit
acacf64331
|
@ -20,6 +20,8 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Install dependencies
|
||||
run: sudo python3 -m pip install yq
|
||||
|
||||
- name: Cargo patches
|
||||
run: ./test/lint/lint-cargo-patches.sh
|
||||
|
|
|
@ -13,4 +13,6 @@ if [ -z ${LIBTOOLIZE} ] && GLIBTOOLIZE="$(command -v glibtoolize)"; then
|
|||
LIBTOOLIZE="${GLIBTOOLIZE}"
|
||||
export LIBTOOLIZE
|
||||
fi
|
||||
command -v autoreconf >/dev/null || \
|
||||
(echo "configuration failed, please install autoconf first" && exit 1)
|
||||
autoreconf --install --force --warnings=all
|
||||
|
|
|
@ -11,7 +11,7 @@ fi
|
|||
env | sort | grep ZCASHD || true
|
||||
export ZCASHD_CMD='zcashd -printtoconsole'
|
||||
|
||||
if [[ ! -n ${ZCASHD_NETWORK} ]];then
|
||||
if [[ -z ${ZCASHD_NETWORK} ]];then
|
||||
export ZCASHD_NETWORK=mainnet
|
||||
fi
|
||||
|
||||
|
|
|
@ -47,7 +47,7 @@ script: |
|
|||
export GZIP="-9n"
|
||||
export TAR_OPTIONS="--mtime="$REFERENCE_DATE\\\ $REFERENCE_TIME""
|
||||
export TZ="UTC"
|
||||
export BUILD_DIR=`pwd`
|
||||
export BUILD_DIR="$PWD"
|
||||
mkdir -p ${WRAP_DIR}
|
||||
if test -n "$GBUILD_CACHE_ENABLED"; then
|
||||
export SOURCES_PATH=${GBUILD_COMMON_CACHE}
|
||||
|
@ -86,7 +86,7 @@ script: |
|
|||
create_per-host_faketime_wrappers "2000-01-01 12:00:00"
|
||||
|
||||
cd zcash
|
||||
BASEPREFIX=`pwd`/depends
|
||||
BASEPREFIX="${PWD}/depends"
|
||||
# Build dependencies for each host
|
||||
for i in $HOSTS; do
|
||||
make ${MAKEOPTS} -C ${BASEPREFIX} HOST="${i}"
|
||||
|
@ -97,11 +97,13 @@ script: |
|
|||
create_per-host_faketime_wrappers "${REFERENCE_DATETIME}"
|
||||
|
||||
# Create the release tarball using (arbitrarily) the first host
|
||||
export GIT_DIR="$PWD/.git"
|
||||
./autogen.sh
|
||||
CONFIG_SITE=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'`/share/config.site ./configure --prefix=/
|
||||
CONFIG_SITE=${BASEPREFIX}/$(echo "${HOSTS}" | awk '{print $1;}')/share/config.site ./configure --prefix=/
|
||||
make dist
|
||||
SOURCEDIST=`echo zcash-*.tar.gz`
|
||||
DISTNAME=`echo ${SOURCEDIST} | sed 's/.tar.*//'`
|
||||
SOURCEDIST=$(echo zcash-*.tar.gz)
|
||||
DISTNAME=${SOURCEDIST/%.tar.gz}
|
||||
|
||||
# Correct tar file order
|
||||
mkdir -p temp
|
||||
pushd temp
|
||||
|
@ -115,7 +117,7 @@ script: |
|
|||
export PATH=${BASEPREFIX}/${i}/native/bin:${ORIGPATH}
|
||||
mkdir -p distsrc-${i}
|
||||
cd distsrc-${i}
|
||||
INSTALLPATH=`pwd`/installed/${DISTNAME}
|
||||
INSTALLPATH="${PWD}/installed/${DISTNAME}"
|
||||
mkdir -p ${INSTALLPATH}
|
||||
tar --strip-components=1 -xf ../$SOURCEDIST
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ files:
|
|||
script: |
|
||||
WRAP_DIR=$HOME/wrapped
|
||||
mkdir -p ${WRAP_DIR}
|
||||
export PATH=`pwd`:$PATH
|
||||
export PATH="$PWD":$PATH
|
||||
FAKETIME_PROGS="dmg genisoimage"
|
||||
|
||||
# Create global faketime wrappers
|
||||
|
|
|
@ -36,7 +36,7 @@ script: |
|
|||
export GZIP="-9n"
|
||||
export TAR_OPTIONS="--mtime="$REFERENCE_DATE\\\ $REFERENCE_TIME""
|
||||
export TZ="UTC"
|
||||
export BUILD_DIR=`pwd`
|
||||
export BUILD_DIR="$PWD"
|
||||
mkdir -p ${WRAP_DIR}
|
||||
if test -n "$GBUILD_CACHE_ENABLED"; then
|
||||
export SOURCES_PATH=${GBUILD_COMMON_CACHE}
|
||||
|
@ -77,7 +77,7 @@ script: |
|
|||
create_per-host_faketime_wrappers "2000-01-01 12:00:00"
|
||||
|
||||
cd bitcoin
|
||||
BASEPREFIX=`pwd`/depends
|
||||
BASEPREFIX="${PWD}/depends"
|
||||
|
||||
mkdir -p ${BASEPREFIX}/SDKs
|
||||
tar -C ${BASEPREFIX}/SDKs -xf ${BUILD_DIR}/Xcode-11.3.1-11C505-extracted-SDK-with-libcxx-headers.tar.gz
|
||||
|
@ -92,11 +92,12 @@ script: |
|
|||
create_per-host_faketime_wrappers "${REFERENCE_DATETIME}"
|
||||
|
||||
# Create the release tarball using (arbitrarily) the first host
|
||||
export GIT_DIR="$PWD/.git"
|
||||
./autogen.sh
|
||||
CONFIG_SITE=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'`/share/config.site ./configure --prefix=/
|
||||
CONFIG_SITE=${BASEPREFIX}/$(echo "${HOSTS}" | awk '{print $1;}')/share/config.site ./configure --prefix=/
|
||||
make dist
|
||||
SOURCEDIST=`echo bitcoin-*.tar.gz`
|
||||
DISTNAME=`echo ${SOURCEDIST} | sed 's/.tar.*//'`
|
||||
SOURCEDIST=$(echo bitcoin-*.tar.gz)
|
||||
DISTNAME=${SOURCEDIST/%.tar.gz}
|
||||
|
||||
# Correct tar file order
|
||||
mkdir -p temp
|
||||
|
@ -111,7 +112,7 @@ script: |
|
|||
export PATH=${BASEPREFIX}/${i}/native/bin:${ORIGPATH}
|
||||
mkdir -p distsrc-${i}
|
||||
cd distsrc-${i}
|
||||
INSTALLPATH=`pwd`/installed/${DISTNAME}
|
||||
INSTALLPATH="${PWD}/installed/${DISTNAME}"
|
||||
mkdir -p ${INSTALLPATH}
|
||||
tar --strip-components=1 -xf ../$SOURCEDIST
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ files:
|
|||
- "osslsigncode-Backports-to-1.7.1.patch"
|
||||
- "bitcoin-win-unsigned.tar.gz"
|
||||
script: |
|
||||
BUILD_DIR=`pwd`
|
||||
BUILD_DIR="$PWD"
|
||||
SIGDIR=${BUILD_DIR}/signature/win
|
||||
UNSIGNED_DIR=${BUILD_DIR}/unsigned
|
||||
|
||||
|
@ -32,7 +32,7 @@ script: |
|
|||
./configure --without-gsf --without-curl --disable-dependency-tracking
|
||||
make
|
||||
find ${UNSIGNED_DIR} -name "*-unsigned.exe" | while read i; do
|
||||
INFILE="`basename "${i}"`"
|
||||
OUTFILE="`echo "${INFILE}" | sed s/-unsigned//`"
|
||||
INFILE="$(basename "${i}")"
|
||||
OUTFILE="${INFILE/%-unsigned}"
|
||||
./osslsigncode attach-signature -in "${i}" -out "${OUTDIR}/${OUTFILE}" -sigin "${SIGDIR}/${INFILE}.pem"
|
||||
done
|
||||
|
|
|
@ -37,7 +37,7 @@ script: |
|
|||
export GZIP="-9n"
|
||||
export TAR_OPTIONS="--mtime="$REFERENCE_DATE\\\ $REFERENCE_TIME""
|
||||
export TZ="UTC"
|
||||
export BUILD_DIR=`pwd`
|
||||
export BUILD_DIR="$PWD"
|
||||
mkdir -p ${WRAP_DIR}
|
||||
if test -n "$GBUILD_CACHE_ENABLED"; then
|
||||
export SOURCES_PATH=${GBUILD_COMMON_CACHE}
|
||||
|
@ -101,7 +101,7 @@ script: |
|
|||
create_per-host_linker_wrapper "2000-01-01 12:00:00"
|
||||
|
||||
cd bitcoin
|
||||
BASEPREFIX=`pwd`/depends
|
||||
BASEPREFIX="${PWD}/depends"
|
||||
# Build dependencies for each host
|
||||
for i in $HOSTS; do
|
||||
make ${MAKEOPTS} -C ${BASEPREFIX} HOST="${i}"
|
||||
|
@ -113,11 +113,12 @@ script: |
|
|||
create_per-host_linker_wrapper "${REFERENCE_DATETIME}"
|
||||
|
||||
# Create the release tarball using (arbitrarily) the first host
|
||||
export GIT_DIR="$PWD/.git"
|
||||
./autogen.sh
|
||||
CONFIG_SITE=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'`/share/config.site ./configure --prefix=/
|
||||
CONFIG_SITE=${BASEPREFIX}/$(echo "${HOSTS}" | awk '{print $1;}')/share/config.site ./configure --prefix=/
|
||||
make dist
|
||||
SOURCEDIST=`echo bitcoin-*.tar.gz`
|
||||
DISTNAME=`echo ${SOURCEDIST} | sed 's/.tar.*//'`
|
||||
SOURCEDIST=$(echo bitcoin-*.tar.gz)
|
||||
DISTNAME=${SOURCEDIST/%.tar.gz}
|
||||
|
||||
# Correct tar file order
|
||||
mkdir -p temp
|
||||
|
@ -134,7 +135,7 @@ script: |
|
|||
export PATH=${BASEPREFIX}/${i}/native/bin:${ORIGPATH}
|
||||
mkdir -p distsrc-${i}
|
||||
cd distsrc-${i}
|
||||
INSTALLPATH=`pwd`/installed/${DISTNAME}
|
||||
INSTALLPATH="${PWD}/installed/${DISTNAME}"
|
||||
mkdir -p ${INSTALLPATH}
|
||||
tar --strip-components=1 -xf ../$SOURCEDIST
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
### Qos ###
|
||||
### QoS (Quality of service) ###
|
||||
|
||||
This is a Linux bash script that will set up tc to limit the outgoing bandwidth for connections to the Bitcoin network. It limits outbound TCP traffic with a source or destination port of 8233, but not if the destination IP is within a LAN (defined as 192.168.x.x).
|
||||
This is a Linux bash script that will set up tc to limit the outgoing bandwidth for connections to the Bitcoin network. It limits outbound TCP traffic with a source or destination port of 8233, but not if the destination IP is within a LAN.
|
||||
|
||||
This means one can have an always-on bitcoind instance running, and another local bitcoind/bitcoin-qt instance which connects to this node and receives blocks from it.
|
||||
|
|
|
@ -11,8 +11,10 @@ IF="eth0"
|
|||
LINKCEIL="1gbit"
|
||||
#limit outbound Bitcoin protocol traffic to this rate
|
||||
LIMIT="160kbit"
|
||||
#defines the address space for which you wish to disable rate limiting
|
||||
LOCALNET="192.168.0.0/16"
|
||||
#defines the IPv4 address space for which you wish to disable rate limiting
|
||||
LOCALNET_V4="192.168.0.0/16"
|
||||
#defines the IPv6 address space for which you wish to disable rate limiting
|
||||
LOCALNET_V6="fe80::/10"
|
||||
|
||||
#delete existing rules
|
||||
tc qdisc del dev ${IF} root
|
||||
|
@ -31,6 +33,12 @@ tc class add dev ${IF} parent 1:1 classid 1:11 htb rate ${LIMIT} ceil ${LIMIT} p
|
|||
tc filter add dev ${IF} parent 1: protocol ip prio 1 handle 1 fw classid 1:10
|
||||
tc filter add dev ${IF} parent 1: protocol ip prio 2 handle 2 fw classid 1:11
|
||||
|
||||
if [ -n "${LOCALNET_V6}" ] ; then
|
||||
# v6 cannot have the same priority value as v4
|
||||
tc filter add dev ${IF} parent 1: protocol ipv6 prio 3 handle 1 fw classid 1:10
|
||||
tc filter add dev ${IF} parent 1: protocol ipv6 prio 4 handle 2 fw classid 1:11
|
||||
fi
|
||||
|
||||
#delete any existing rules
|
||||
#disable for now
|
||||
#ret=0
|
||||
|
@ -40,9 +48,15 @@ tc filter add dev ${IF} parent 1: protocol ip prio 2 handle 2 fw classid 1:11
|
|||
#done
|
||||
|
||||
#limit outgoing traffic to and from port 8233. but not when dealing with a host on the local network
|
||||
# (defined by $LOCALNET)
|
||||
# --set-mark marks packages matching these criteria with the number "2"
|
||||
# these packages are filtered by the tc filter with "handle 2"
|
||||
# (defined by $LOCALNET_V4 and $LOCALNET_V6)
|
||||
# --set-mark marks packages matching these criteria with the number "2" (v4)
|
||||
# --set-mark marks packages matching these criteria with the number "4" (v6)
|
||||
# these packets are filtered by the tc filter with "handle 2"
|
||||
# this filter sends the packages into the 1:11 class, and this class is limited to ${LIMIT}
|
||||
iptables -t mangle -A OUTPUT -p tcp -m tcp --dport 8233 ! -d ${LOCALNET} -j MARK --set-mark 0x2
|
||||
iptables -t mangle -A OUTPUT -p tcp -m tcp --sport 8233 ! -d ${LOCALNET} -j MARK --set-mark 0x2
|
||||
iptables -t mangle -A OUTPUT -p tcp -m tcp --dport 8233 ! -d ${LOCALNET_V4} -j MARK --set-mark 0x2
|
||||
iptables -t mangle -A OUTPUT -p tcp -m tcp --sport 8233 ! -d ${LOCALNET_V4} -j MARK --set-mark 0x2
|
||||
|
||||
if [ -n "${LOCALNET_V6}" ] ; then
|
||||
ip6tables -t mangle -A OUTPUT -p tcp -m tcp --dport 8233 ! -d ${LOCALNET_V6} -j MARK --set-mark 0x4
|
||||
ip6tables -t mangle -A OUTPUT -p tcp -m tcp --sport 8233 ! -d ${LOCALNET_V6} -j MARK --set-mark 0x4
|
||||
fi
|
||||
|
|
|
@ -1,62 +0,0 @@
|
|||
#!/bin/bash
|
||||
# Copyright (c) 2013 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or https://www.opensource.org/licenses/mit-license.php .
|
||||
|
||||
if [ -d "$1" ]; then
|
||||
cd "$1" || exit 1
|
||||
else
|
||||
echo "Usage: $0 <datadir>" >&2
|
||||
echo "Removes obsolete Bitcoin database files" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LEVEL=0
|
||||
if [ -f wallet.dat -a -f addr.dat -a -f blkindex.dat -a -f blk0001.dat ]; then LEVEL=1; fi
|
||||
if [ -f wallet.dat -a -f peers.dat -a -f blkindex.dat -a -f blk0001.dat ]; then LEVEL=2; fi
|
||||
if [ -f wallet.dat -a -f peers.dat -a -f coins/CURRENT -a -f blktree/CURRENT -a -f blocks/blk00000.dat ]; then LEVEL=3; fi
|
||||
if [ -f wallet.dat -a -f peers.dat -a -f chainstate/CURRENT -a -f blocks/index/CURRENT -a -f blocks/blk00000.dat ]; then LEVEL=4; fi
|
||||
|
||||
case $LEVEL in
|
||||
0)
|
||||
echo "Error: no Bitcoin datadir detected."
|
||||
exit 1
|
||||
;;
|
||||
1)
|
||||
echo "Detected old Bitcoin datadir (before 0.7)."
|
||||
echo "Nothing to do."
|
||||
exit 0
|
||||
;;
|
||||
2)
|
||||
echo "Detected Bitcoin 0.7 datadir."
|
||||
;;
|
||||
3)
|
||||
echo "Detected Bitcoin pre-0.8 datadir."
|
||||
;;
|
||||
4)
|
||||
echo "Detected Bitcoin 0.8 datadir."
|
||||
;;
|
||||
esac
|
||||
|
||||
FILES=""
|
||||
DIRS=""
|
||||
|
||||
if [ $LEVEL -ge 3 ]; then FILES=$(echo $FILES blk????.dat blkindex.dat); fi
|
||||
if [ $LEVEL -ge 2 ]; then FILES=$(echo $FILES addr.dat); fi
|
||||
if [ $LEVEL -ge 4 ]; then DIRS=$(echo $DIRS coins blktree); fi
|
||||
|
||||
for FILE in $FILES; do
|
||||
if [ -f $FILE ]; then
|
||||
echo "Deleting: $FILE"
|
||||
rm -f $FILE
|
||||
fi
|
||||
done
|
||||
|
||||
for DIR in $DIRS; do
|
||||
if [ -d $DIR ]; then
|
||||
echo "Deleting: $DIR/"
|
||||
rm -rf $DIR
|
||||
fi
|
||||
done
|
||||
|
||||
echo "Done."
|
|
@ -20,10 +20,13 @@ else
|
|||
exit 1
|
||||
fi
|
||||
|
||||
git_check_in_repo() {
|
||||
! { git status --porcelain -uall --ignored "$@" 2>/dev/null || echo '??'; } | grep -q '?'
|
||||
}
|
||||
|
||||
DESC=""
|
||||
SUFFIX=""
|
||||
LAST_COMMIT_DATE=""
|
||||
if [ -e "$(which git 2>/dev/null)" -a "$(git rev-parse --is-inside-work-tree 2>/dev/null)" = "true" ]; then
|
||||
if [ "${BITCOIN_GENBUILD_NO_GIT}" != "1" ] && [ -e "$(command -v git)" ] && [ "$(git rev-parse --is-inside-work-tree 2>/dev/null)" = "true" ] && git_check_in_repo share/genbuild.sh; then
|
||||
# clean 'dirty' status of touched files that haven't been modified
|
||||
git diff >/dev/null 2>/dev/null
|
||||
|
||||
|
@ -36,9 +39,6 @@ if [ -e "$(which git 2>/dev/null)" -a "$(git rev-parse --is-inside-work-tree 2>/
|
|||
# otherwise generate suffix from git, i.e. string like "59887e8-dirty"
|
||||
SUFFIX=$(git rev-parse --short HEAD)
|
||||
git diff-index --quiet HEAD -- || SUFFIX="$SUFFIX-dirty"
|
||||
|
||||
# get a string like "2012-04-10 16:27:19 +0200"
|
||||
LAST_COMMIT_DATE="$(git log -n 1 --format="%ci")"
|
||||
fi
|
||||
|
||||
if [ -n "$DESC" ]; then
|
||||
|
@ -52,7 +52,4 @@ fi
|
|||
# only update build.h if necessary
|
||||
if [ "$INFO" != "$NEWINFO" ]; then
|
||||
echo "$NEWINFO" >"$FILE"
|
||||
if [ -n "$LAST_COMMIT_DATE" ]; then
|
||||
echo "#define BUILD_DATE \"$LAST_COMMIT_DATE\"" >> "$FILE"
|
||||
fi
|
||||
fi
|
||||
|
|
|
@ -90,16 +90,7 @@ const std::string CLIENT_NAME("MagicBean");
|
|||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef BUILD_DATE
|
||||
#ifdef GIT_COMMIT_DATE
|
||||
#define BUILD_DATE GIT_COMMIT_DATE
|
||||
#else
|
||||
#define BUILD_DATE __DATE__ ", " __TIME__
|
||||
#endif
|
||||
#endif
|
||||
|
||||
const std::string CLIENT_BUILD(BUILD_DESC CLIENT_VERSION_SUFFIX);
|
||||
const std::string CLIENT_DATE(BUILD_DATE);
|
||||
|
||||
std::string FormatVersion(int nVersion)
|
||||
{
|
||||
|
|
|
@ -60,7 +60,6 @@ static const int CLIENT_VERSION =
|
|||
|
||||
extern const std::string CLIENT_NAME;
|
||||
extern const std::string CLIENT_BUILD;
|
||||
extern const std::string CLIENT_DATE;
|
||||
|
||||
|
||||
std::string FormatVersion(int nVersion);
|
||||
|
|
|
@ -1012,7 +1012,7 @@ void InitLogging()
|
|||
fLogTimestamps);
|
||||
|
||||
LogPrintf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
|
||||
LogPrintf("Zcash version %s (%s)\n", FormatFullVersion(), CLIENT_DATE);
|
||||
LogPrintf("Zcash version %s\n", FormatFullVersion());
|
||||
}
|
||||
|
||||
[[noreturn]] static void new_handler_terminate()
|
||||
|
|
|
@ -620,7 +620,7 @@ UniValue dumpwallet_impl(const UniValue& params, bool fDumpZKeys)
|
|||
KeyIO keyIO(Params());
|
||||
|
||||
// produce output
|
||||
file << strprintf("# Wallet dump created by Zcash %s (%s)\n", CLIENT_BUILD, CLIENT_DATE);
|
||||
file << strprintf("# Wallet dump created by Zcash %s\n", CLIENT_BUILD);
|
||||
file << strprintf("# * Created on %s\n", EncodeDumpTime(GetTime()));
|
||||
file << strprintf("# * Best block at time of backup was %i (%s),\n", chainActive.Height(), chainActive.Tip()->GetBlockHash().ToString());
|
||||
file << strprintf("# mined on %s\n", EncodeDumpTime(chainActive.Tip()->GetBlockTime()));
|
||||
|
|
|
@ -29,7 +29,9 @@ EXIT_CODE=0
|
|||
# Check that every patch has a matching replacement.
|
||||
for PATCH in $(tail -n+$CARGO_TOML_PATCH_START $CARGO_TOML | sed 's/.*git = "\([^"]*\)", rev = "\([^"]*\)".*/\1#\2/' | sort | uniq)
|
||||
do
|
||||
# shellcheck disable=SC2001
|
||||
PATCH_GIT=$(echo $PATCH | sed 's/#.*//')
|
||||
# shellcheck disable=SC2001
|
||||
PATCH_REV=$(echo $PATCH | sed 's/.*#//')
|
||||
|
||||
# Canonicalize the git URL (matching how Cargo treats them, so we don't over-lint).
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright (c) 2018 The Bitcoin Core developers
|
||||
# Copyright (c) 2018-2019 The Bitcoin Core developers
|
||||
# Copyright (c) 2020-2022 The Zcash developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or https://www.opensource.org/licenses/mit-license.php .
|
||||
|
@ -17,32 +17,48 @@ if [ "$TRAVIS" = "true" ]; then
|
|||
unset LC_ALL
|
||||
fi
|
||||
|
||||
if ! command -v shellcheck > /dev/null; then
|
||||
echo "Skipping shell linting since shellcheck is not installed."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Disabled warnings:
|
||||
disabled=(
|
||||
SC1087 # Use braces when expanding arrays, e.g. ${array[idx]} (or ${var}[.. to quiet).
|
||||
SC2001 # See if you can use ${variable//search/replace} instead.
|
||||
SC2004 # $/${} is unnecessary on arithmetic variables.
|
||||
SC2005 # Useless echo? Instead of 'echo $(cmd)', just use 'cmd'.
|
||||
SC2006 # Use $(..) instead of legacy `..`.
|
||||
SC2016 # Expressions don't expand in single quotes, use double quotes for that.
|
||||
SC2028 # echo won't expand escape sequences. Consider printf.
|
||||
SC2046 # Quote this to prevent word splitting.
|
||||
SC2048 # Use "$@" (with quotes) to prevent whitespace problems.
|
||||
SC2066 # Since you double quoted this, it will not word split, and the loop will only run once.
|
||||
SC2086 # Double quote to prevent globbing and word splitting.
|
||||
SC2116 # Useless echo? Instead of 'cmd $(echo foo)', just use 'cmd foo'.
|
||||
SC2162 # read without -r will mangle backslashes.
|
||||
SC2166 # Prefer [ p ] {&&,||} [ q ] as [ p -{a,o} q ] is not well defined.
|
||||
SC2181 # Check exit code directly with e.g. 'if mycmd;', not indirectly with $?.
|
||||
SC2206 # Quote to prevent word splitting, or split robustly with mapfile or read -a.
|
||||
SC2207 # Prefer mapfile or read -a to split command output (or quote to avoid splitting).
|
||||
SC2230 # which is non-standard. Use builtin 'command -v' instead.
|
||||
SC2236 # Don't force -n instead of ! -z.
|
||||
)
|
||||
shellcheck -e "$(IFS=","; echo "${disabled[*]}")" \
|
||||
$(git ls-files -- "*.sh")
|
||||
disabled_gitian=(
|
||||
SC2035 # Use ./*glob* or -- *glob* so names with dashes won't become options.
|
||||
SC2043 # This loop will only ever run once for a constant value. Did you perhaps mean to loop over dir/*, $var or $(cmd)?
|
||||
SC2094 # Make sure not to read and write the same file in the same pipeline.
|
||||
SC2129 # Consider using { cmd1; cmd2; } >> file instead of individual redirects.
|
||||
SC2164 # Use 'cd ... || exit' or 'cd ... || return' in case cd fails.
|
||||
SC2230 # which is non-standard. Use builtin 'command -v' instead.
|
||||
)
|
||||
|
||||
EXIT_CODE=0
|
||||
|
||||
if ! command -v shellcheck > /dev/null; then
|
||||
echo "Skipping shell linting since shellcheck is not installed."
|
||||
exit $EXIT_CODE
|
||||
fi
|
||||
|
||||
EXCLUDE="--exclude=$(IFS=','; echo "${disabled[*]}")"
|
||||
if ! shellcheck "$EXCLUDE" $(git ls-files -- '*.sh' | grep -vE 'src/(leveldb|secp256k1|univalue)/'); then
|
||||
EXIT_CODE=1
|
||||
fi
|
||||
|
||||
if ! command -v yq > /dev/null; then
|
||||
echo "Skipping Gitian descriptor scripts checking since yq is not installed."
|
||||
exit $EXIT_CODE
|
||||
fi
|
||||
|
||||
EXCLUDE_GITIAN=${EXCLUDE}",$(IFS=','; echo "${disabled_gitian[*]}")"
|
||||
for descriptor in $(git ls-files -- 'contrib/gitian-descriptors/*.yml')
|
||||
do
|
||||
echo
|
||||
echo "$descriptor"
|
||||
# Use #!/bin/bash as gitian-builder/bin/gbuild does to complete a script.
|
||||
SCRIPT=$'#!/bin/bash\n'$(yq -r .script "$descriptor")
|
||||
if ! echo "$SCRIPT" | shellcheck "$EXCLUDE_GITIAN" -; then
|
||||
EXIT_CODE=1
|
||||
fi
|
||||
done
|
||||
|
||||
exit $EXIT_CODE
|
||||
|
|
|
@ -11,7 +11,7 @@ export AFL_LOG_DIR
|
|||
|
||||
for d in src/fuzzing/*/ ; do
|
||||
fuzz_cases+="$(basename "$d"), "
|
||||
fuzz_cases_choices=("${fuzz_cases_choices[@]}" $(basename "$d"))
|
||||
fuzz_cases_choices=("${fuzz_cases_choices[@]}" "$(basename "$d")")
|
||||
done
|
||||
|
||||
FUZZ_OPTIONS_STRING="Options are: ${fuzz_cases::-2}"
|
||||
|
|
|
@ -55,7 +55,7 @@ fi
|
|||
mkdir -p "$AFL_INSTALL_DIR"
|
||||
cd "$AFL_INSTALL_DIR"
|
||||
|
||||
if [ ! -z "$(ls -A .)" ]; then
|
||||
if [ -n "$(ls -A .)" ]; then
|
||||
echo "$1 is not empty. This script will only attempt to build AFL in an empty directory."
|
||||
exit 1
|
||||
fi
|
||||
|
@ -63,8 +63,7 @@ fi
|
|||
# Get the AFL source
|
||||
rm -f afl-latest.tgz
|
||||
wget https://lcamtuf.coredump.cx/afl/releases/afl-latest.tgz
|
||||
sha256sum afl-latest.tgz | grep '43614b4b91c014d39ef086c5cc84ff5f068010c264c2c05bf199df60898ce045'
|
||||
if [ "$?" != "0" ]
|
||||
if ! sha256sum afl-latest.tgz | grep '43614b4b91c014d39ef086c5cc84ff5f068010c264c2c05bf199df60898ce045';
|
||||
then
|
||||
echo "Wrong SHA256 hash for afl"
|
||||
exit
|
||||
|
|
|
@ -8,7 +8,7 @@ set -x
|
|||
|
||||
BUILD_PATH="/tmp/zcbuild"
|
||||
PACKAGE_NAME="zcash"
|
||||
SRC_PATH=`pwd`
|
||||
SRC_PATH=$(pwd)
|
||||
SRC_DEB=$SRC_PATH/contrib/debian
|
||||
SRC_DOC=$SRC_PATH/doc
|
||||
|
||||
|
|
Loading…
Reference in New Issue