- We update Windows cross-compile builds to 15.0.7 because binaries are
provided for it, but not currently for any other platform we need.
- We update native x84_64 macOS builds to 15.0.4 because no 15.0.6
binaries are provided, and the 15.0.7 ones appear to be targeted at a
newer Darwin version.
- We keep FreeBSD on 14.0.6 because no Clang 15 binaries are provided,
and as FreeBSD is a Tier 3 platform it doesn't block us from upgrading
the remaining platforms.
The relevant licenses are:
* bdb: BDB (variant of Gnu Affero GPL)
* libevent: BSD-3-clause
* libsodium: ISC
* tl_expected: CC0-1.0
* zeromq: LGPL-3+ with ZeroMQ exception
In the case of zeromq, this is an explicit condition of the license --
specifically its static linking exception, which we rely on:
"If you modify this library, you must extend this exception to your
version of the library."
In all cases, patches are necessarily derived (even if only trivially)
from the code they are patching. We technically could relicense to MIT
in some cases, but using the original license for patches we've written
is a courtesy that makes it easier for upstream to adopt the patch, even
if we don't specifically file a PR.
native_cctools is also patched, but Debian copyright policy does not
require `contrib/debian/copyright` to mention this dependency, because
it is only part of the build process and its contents do not get compiled
into the resulting build:
https://www.debian.org/doc/debian-policy/ch-archive.html#s-pkgcopyright
In all cases I checked that we have the right to distribute the patch
under the relevant license (i.e. it doesn't depend on any incompatible
third-party contributions). Reviewers should satisfy themselves of this.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
for operator->, operator*, and error(). Make these into assertion failures
(this still conforms to the proposal).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
ShellCheck has started failing in CI. My guess is that the ubuntu-latest runner
now uses a `/bin/sh` that is actually Bash.
- excludes checksec.sh, as it’s not our code
- fixes lints in other files
We partially revert 8dbd2edd98 by removing
all instances of setting `GIT_DIR` in the gitian descriptors. Currently,
gitian builds cause zcash to have version strings which look like
`Zcash Daemon version v5.3.0-35186b009-dirty`, which is inaccurate.
Setting `GIT_DIR` with a current working directory of
`/home/debian/build/zcash/distsrc-x86_64-linux-gnu` makes the git
invocations in `genbuild.sh` see that directory as the top of the
working tree, which causes git to believe that a bunch of tracked files
were deleted (namely, those not included by the `make dist` step).
This causes `genbuild.sh` to believe that it is working with a dirty
tree, and with the help of `src/clientversion.cpp`, zcash gets a version
string that includes a hash ending in `-dirty`.