macOS Qt minimal platform is frequently broken, and these are currently failing
with Qt 5.11.1.
The tests do pass when run on the full cocoa platform
(with `test_bitcoin-qt -platform cocoa`).
Github-Pull: #14011
Rebased-From: a3197c5294
Add some implementation details, and tweak phrasing in examples section to be
more explicit about how script expressions are used for matching.
Github-Pull: #14161
Rebased-From: eb49412562
f7dbcaa72f [doc] getblocktemplate: use SegWit in example (Sjors Provoost)
Pull request description:
Backport of #14472
Tree-SHA512: ac0863b5f04abe2cbdbb44f376094aa6c224aecd6d3a87689a2bb5a939cb18503eab6e33bfb9814dd2129ddf1dae0118054afc8eb4c438bd390c172defab343b
A few years ago, libfreetype introduced FT_Get_Font_Format() as an alias for
FT_Get_X11_Font_Format(), but FT_Get_X11_Font_Format() was kept for abi
backwards-compatibility.
Our qt bump to 5.9 introduced a call to FT_Get_Font_Format(). Replace it with
FT_Get_X11_Font_Format() in order to remain compatibile with older freetype,
which is still used by e.g. Ubuntu Trusty.
Github-Pull: #14348
Rebased-From: 430bf6c7a1
Tree-SHA512: fd22b824e7251a7975d9e9222eff06d2b04ebf30e13aeccab580596c042b3abe2f62da1f0ef75106b0b171368ee1062ef2f459cfa435aa54826766a9005b80df
0d49c82edd [qa] backport: Test for duplicate inputs within a transaction (Suhas Daftuar)
833180f538 Fix crash bug with duplicate inputs within a transaction (Suhas Daftuar)
Pull request description:
This is a backport of #14247.
Tree-SHA512: 4d3b6244d501a48f56a728c571dac9a346019a671434edac943f4f535ef8f94ec6bfd569a0585ad5e23a6e488ecd7e0079510cbb10a2a22f576eb36d73accb0c
Report errors while parsing the configuration file, instead of silently
ignoring them.
$ src/bitcoind -regtest
Error reading configuration file: parse error on line 22: nodebuglogfile, if you intended to specify a negated option, use nodebuglogfile=1 instead
$ src/bitcoind -regtest
Error reading configuration file: parse error on line 22: sdafsdfafs
$ src/bitcoind -regtest
Error reading configuration file: parse error on line 24: -nodebuglogfile=1, options in the configuration file must be specified without leading -
Github-Pull: #14105
Rebased-From: a66c0f78a9
Tree-SHA512: 2b6be1ab643623e6ef9b53354820147a6c5d2baae3795ffe428fc60d8563ec00a68a379aee4029380f80f892abe23763afb1c75c32b60a13bffe7b82496bf2bb
6bfee8a8c2 doc: Update v0.17.0.0 manpages (MarcoFalke)
2936dbc557 doc: Change documentation for =0 for non-boolean options (Wladimir J. van der Laan)
Pull request description:
Github-Pull: #14100
Rebased-From: e9a78e9b3b
Includes the bumped manpages.
Tree-SHA512: 73d2dadb45418882122313975c0ab0e9f58310697d996dd2edeb400ebe73b3a45f1157c8a7fe65ae1f53d9ce68a88aae7c701f3e82e0b4db4c9417b36ddfecc0
PR #12713 changed the interpretation for negation of non-boolean options
(e.g. -noconnect) to no longer set the option to 0, but to remove it
from the options.
I think this is better because it gets rid of the special meaning of
'0'.
However it needs to be documented. I attempt to do so in this PR.
Addreses #14064.
Github-Pull: #14100
Rebased-From: e9a78e9b3b
cf3d7f94c2 Use assert when running from multithreaded code as BOOST_CHECK_* are not thread safe (Jesse Cohen)
fab0fbefcf qa: Stop txindex thread before calling destructor (MarcoFalke)
b5ec6d4bf8 Docs: Fix help message typo optiona -> optional (Ben Woosley)
Pull request description:
Fixes to make the unit tests and bench pass with the thread sanitizer (beside the issue with fChecked https://github.com/bitcoin/bitcoin/issues/14058#issuecomment-416042917).
For testing: `./configure --with-sanitizers=undefined,thread && make -j 16 && ./src/test/test_bitcoin`
Tree-SHA512: 5cb85ecc278b719dba03240265e93424ed1a28671834da7590adab88c2d43c6e6cbf3269bbe2fd79e5ed3a85ec77a268e05301e7a7421cf6a97d413dddac6327
Otherwise, the generated Makefile is included in the NSIS-installed documentation, which can lead to non-determinism (eg, if gawk is installed on some build VMs, but others only have mawk)
Github-Pull: #14018
Rebased-From: 8563341714
Tree-SHA512: 2d219a4a2027bcd7359b7320bafc6b7cd3bde3dcf9309ddd6198ff67407470025baa71e6d0ed3d6cec081834ddc9a0247043865eb26737e6fd0d2f09574f5932
Qt's configure grabs the path to xkb's data root during configure, but the
build changes in 5.8 apparently broke the handling for cross builds. As a
result, the string embedded in the binary depends on whether or not some files
are present in the builder's filesystem.
The "-xkb-config-root" configure setting is intended to allow manual overriding
but it is also broken. See: https://bugreports.qt.io/browse/QTBUG-60005
This has since been fixed upstream, so just hard-code the path for now. We can
drop this patch when we bump to a fixed Qt.
Also, fix the "-qt-xkbcommon-x11" config param which was renamed. This does not
appear to affect build results, presumably because auto-detection is working,
but it does not hurt to be explicit.
Github-Pull: #14000
Rebased-From: de0b4fba2f
0333914467 More tests of signer checks (Andrew Chow)
8935869487 Test that a non-witness script as witness utxo is not signed (Andrew Chow)
dbaadc9ea9 Only wipe wrong UTXO type data if overwritten by wallet (Pieter Wuille)
ad6d845ac9 Additional sanity checks in SignPSBTInput (Pieter Wuille)
517010e30e Serialize non-witness utxo as a non-witness tx but always deserialize as witness (Andrew Chow)
8c4cd2bd89 Fix PSBT deserialization of 0-input transactions (Andrew Chow)
Pull request description:
Backports #13917 and #13960 to the 0.17 branch.
Tree-SHA512: b3853aff2a13a53aa0a390b6b4b0c539f0ef0d42f2c517e956efd0b135c74c4ddce6a1d00700849a58c696824fa95951d8cac6ca58b426e8dfcb8bb62f680b7c