Enabled ShellCheck rules:
SC1087
SC2001
SC2004
SC2005
SC2006
SC2016
SC2028
SC2048
SC2066 (note that IFS already contains only a line feed)
SC2116
SC2166
SC2181
SC2206
SC2207
SC2230
SC2236
(cherry picked from commit bitcoin/bitcoin@1ac454a384)
Zcash: Applies more of this commit. It was partially backported in
zcash/zcash#4827, and is also partially backported here for the scripts
we actually have.
Putting the build date in the executable is a practice that has no place
in these days, now that deterministic building is increasingly common.
Continues #7732 which did this for the GUI.
(cherry picked from commit bitcoin/bitcoin@d096d22446)
Changes the error message from:
./autogen.sh: 9: ./autogen.sh: autoreconf: not found
To:
configuration failed, please install autoconf first
(cherry picked from commit bitcoin/bitcoin@889426d37e)
From NU5, block heights are required to be encoded in the 32-bit
`nExpiryHeight` field, which places a bound on the maximum length of the
height encoded in a coinbase transaction.
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
Currently supports Zcash blocks, block headers, and transactions. Some
consensus rules are also checked, and a JSON context object can be
optionally passed to provide any necessary details for extra contextual
consensus checks.
These paths get displayed to users, so showing the resolved path (e.g.,
without "../") is clearer. Also, these paths are created if they don't
exist. So if you provide something like
`-exportdir=doesntexist/../real_path`, Boost will create `doesntexist/`
if you create the directories before canonicalizing the path, even
though it isn't used.
Many error messages would say "see debug.log" or similar, without
indicating where the debug log actually lives. This now prints the
actual path in those cases.
It also changes more general uses of "debug.log" to "debug log", since
the file name may not even be "debug.log" if the user has specified it.
The primary purpose of this commit is an exercise in using `cargo vet`
for tracking audits of our Rust dependency updates. `cargo update` was
run, and then a simple-to-audit subset of the dependency updates were
audited and committed.
In practice we are using 14.0.0 in most cases, as the LLVM Project have
not published Ubuntu binaries for any point release after 14.0.0 (which
we are using here).