a48e44bd4f Fix CLEAN_BITCOIN_TEST to remove .log files for all BITCOIN_TESTS files (James O'Beirne)
Pull request description:
My preferred alternative to https://github.com/bitcoin/bitcoin/pull/14440 (I'm too lazy to review an entire file move). This just applies a `.log` suffix addition to all `BITCOIN_TESTS` files for the purposes of cleaning, and thus doesn't erroneously remove test/scriptnum10.h.
Tree-SHA512: 06a0d9fb2c4851f4e74215aa4bca9cf81f49787f16c46b0172e5c1cf18ca744d747c5b0c1564cac433e0dea29b0afabd2d95f0f58a0157d1e05b2b7cb7800e00
'Must be one of' should always end in a ':'
'hex encoded' is now always 'hex-encoded'
Remove redundant '(defaults to CONSERVATIVE)' text from estimatesmartfee
Consistent spacing for options '( verbose )' and '( verbosity )'
'BIP125 replaceable' is now always 'BIP125-replaceable'
JSON-RPC example is now always 'As a JSON-RPC call'
* AddKeyPubKeyWithDB(...) reads encrypted_batch which potentially races with write in the same method.
* IncOrderPosNext(...) reads nOrderPosNext which potentially races with write in BlockDisconnected(...).
* LoadKeyPool(...) reads m_max_keypool_index which potentially races with write in BlockDisconnected(...).
* LoadMinVersion(...) reads nWalletMaxVersion which potentially races with write in BlockDisconnected(...).
This reverts commit 15e26a6a9a, whose
purpose was to tweak the Qt configuration to force TLS, i.e., to
disable SSLv3, in Qt versions >= 5.5. However, the default behavior
of Qt >= 5.4 is to disable SSLv3 anyway [1], so the configuration
tweak is redundant.
With Qt 5.11.2, the configuration tweak is not only redundant but in
fact provokes a deadlock (#14359) due to Qt 5.11.2 being incompatible
with OpenSSL 1.1.1 [2]. Since the deadlock occurs at the early startup
stage of bitcoin-qt, it renders bitcoin-qt entirely non-functional
when compiled against OpenSSL 1.1.1 and Qt 5.11.2 (and possible future
combinations of OpenSSL and Qt versions).
This commit fixes#14359 by removing the redundant code.
[1] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=3fd2d9eff8c1f948306ee5fbfe364ccded1c4b84
[2] https://bugreports.qt.io/browse/QTBUG-70956
This patch adds a --disable-bip70 configure option that disables BIP70
payment request support. When disabled, this removes the dependency of
the GUI on OpenSSL and Protobuf.
f149e31ea2 depends: qt: avoid system harfbuzz and bz2 (Cory Fields)
Pull request description:
Should fix#14367.
Gitian builds end up with this config implicitly due to missing harfbuzz system lib, this change explicitly disables the use of the lib completely, even if present.
We may eventually want to break out harfbuzz and build it in depends, but for now just ensure that runtime dependencies don't depend on whether or not harfbuzz was present on the builder.
@real-or-random Can you confirm that this fixes your issue?
Tree-SHA512: 1ad3dd572c1f2004ec80ebaf3b6831327b0267fb3dc1895e77bd04785cd6e32bafc931932195462bbae807289bc565f0ea740f4050d26f0233ddcd62bfdb0685
854c85ae90 test: allow arguments to be forwarded to flake8 in lint-python.sh (James O'Beirne)
Pull request description:
In order to use `lint-python.sh` from within various in-editor linting frameworks (e.g. [ALE](https://github.com/w0rp/ale), [flycheck](https://github.com/flycheck/flycheck)), we need to allow its arguments to be forwarded to the wrapped flake8 invocation.
For what it's worth, here's my bitcoin-specific ALE vim config for doing so (requires this changeset):
```vim
$ grep python /home/james/src/bitcoin/.exrc
let g:ale_python_flake8_executable="/home/james/src/bitcoin/test/lint/lint-python.sh"
```
Tree-SHA512: 0d5500238ea5fde26ee9c21f6518a3a3dc8409c77ad1271ff7e7a94ef45a8c8d2e1b8ad3df3075dd4062ee0fff534625b1bc79613f869cd3c2d9260814ffc7ee
3f5ac27205 Include some files currently missed by 'make distclean'. (murrayn)
Pull request description:
`make clean` currently leaves behind some cache and test log files that should be removed.
Tree-SHA512: a1877e776e24232f6dd1468d7f392ea0bd1e93fdd975e623897d48c4b23a080a2e84ebb199f5482abd6b8c9ddd036850325e7b7ed07e2f9fe7a32f83cc99da4a
3b706212ad doc: RPC documentation (Karel Bílek)
Pull request description:
The auto-generated RPC docs seem to work so far ( https://bitcoincore.org/en/doc/ + 0.17.0 https://github.com/bitcoin-core/bitcoincore.org/pull/618 ). There are some problems (the design of the list on the right is not ideal, and apparently the huge list of pages slows down jekyll), but that can be fixed later; people are already linking to the docs now and looking for them there
So I am adding the RPC docs to the release process.
The script is here and it is written in golang, since I am most confident in the language; if necessary, I can try to rewrite to python, which is more common in bitcoin tooling
https://github.com/bitcoin-core/bitcoincore.org/tree/master/contrib/doc-gen
Tree-SHA512: ba1b7696bb7ceb6cee4ff222b006b8c18768dd9283a4130751714a782d75ea2ca33f8d9fc4a5263d85a2f001c254daa0cee3b09cc7cba7366c66c5a115d8352a
faa4043c66 qa: Run more tests with wallet disabled (MarcoFalke)
Pull request description:
Instead of skipping the whole test, only skip the wallet specific section of a test if the wallet is not compiled in. This is mostly an indentation change, so can be reviewed with `--ignore-all-space`.
Tree-SHA512: 5941a8b6b00dca5cf9438c5f6f010ba812115188a69e427d7ade4c1ab8cfe7a57c73daf52c66235dbb24b1cd9ab7c7a17c49bc23d931e041b605d79116a71f66
62c304ea48 tests: Allow closed http server in assert_start_raises_init_error (Chun Kuan Lee)
Pull request description:
The rpc handler may be unregistered when http server haven't been closed yet. So it may be allowable to get -342 `non-JSON HTTP response with \'%i %s\' from server` (503 Service Unavailable)
See https://ci.appveyor.com/project/DrahtBot/bitcoin/build/master.2001. It shows "Rejecting request while shutting down" between "RPC stopped" and "Stopped HTTP server"
Tree-SHA512: e1f50ab9096cf23494ccc2850c01516c4a75f112c99108759157b22fce2011682a4b88216f206702f6a56e960182c00098053ad75f13aa0eafe27046adae63da
59a50c2179 appveyor: trivial build cache modifications (Chun Kuan Lee)
Pull request description:
- Reduce cache size from 1.55GB to 170MB by disabling whole program optimization.
- The `*.iobj` `*.ipdb` cache is no longer required because of above change.
- Clearing cache hit stats instead of deleting clcache stats.txt file
- Enable access time on Windows so clcache would work correctly
- Reduce max cache size from 2GB to 512MB (Uncompressed)
- Remove unnecessary `boost-interprocess` vcpkg package
- Split some command into multiple lines to make it easier to know what commands do.
Tree-SHA512: 070b3ee05cd4323cef6fdab5ca0f223a5aa178f09b64d41fa39d0495f9bf3a387eadd10f5b72a2cd5b6f91579f19f595450fcf0afc05d7c5f6059a79fefaadc0
42a995ae48 [tests] Remove rpc_zmq.py (John Newbery)
Pull request description:
rpc_zmq.py is racy and fails intermittently. Remove that test file and
move the getzmqnotifications RPC test into interface_zmq.py.
Tree-SHA512: 666c8f252f8a392deda1bd531e84fdc04bdae4eab09407657ade2b5fc0aeffa247735e20314236f56e4e3402476673f3b7538d6e09f5af6976021ba2377ce63c
380c843217 utils: Convert Windows args to utf-8 string (Chun Kuan Lee)
Pull request description:
Create a new class `WinCmdLineArgs` when building for Windows. It converts all command line arguments to utf8 string.
Tree-SHA512: f098520fd123a8a452bc84a55dc8c0b88f0c475410efe57f2ccc393f86c396eed59ea1575ddc1b920323792e390fdb092061d80cdcd9b682f0ac79a22a22ff82
- Creates m_assumed_blockchain_size and m_assumed_chain_state_size on CChainParams.
- Implements access to CChainParams' m_assumed_blockchain_size and m_assumed_chain_state_size on node interface.
- Implements m_assumed_blockchain_size and m_assumed_chain_state_size on qt/intro via node interface.
- Updates release process document with the new CChainParam's values.
- changes importprivkey behavior to overwrite existent label if one
is passed and keep existing ones if no label is passed
- tests behavior of importprivkey on existing address labels and
different same key destination
d10f2cd7d8 travis: set codespell version to avoid breakage (MarcoFalke)
Pull request description:
codespell changes the behaviour across version, so just hardcode the version to avoid warnings when they bump the version.
Tree-SHA512: f1a4d078d28c088cf0036f5160bfd79d5e4ccda061e535c066a74cd3d54d41b43ffa4df87a00d1941957ce0b5b60cb69135f6eee85e3e38bd496808fdf36743f
fad95e8da6 doc: Split build linux dependencies (MarcoFalke)
0000009015 doc: Split depends installation instructions per arch (MarcoFalke)
Pull request description:
The current depends installation instructions fail on bionic with
```
E: Unable to locate package g++-4.8-aarch64-linux-gnu
E: Unable to locate package gcc-4.8-aarch64-linux-gnu
E: Unable to locate package g++-4.8-arm-linux-gnueabihf
E: Unable to locate package gcc-4.8-arm-linux-gnueabihf
```
Also, they fail due to missing dependencies `make automake cmake pkg-config python3`
Fix this by removing the explicit version and splitting them into common instructions and instructions per linux architecture.
Tree-SHA512: 25d5efa7450a0b1bbd569f431158f5a25bf4fe34f6adc32ebdfd6b6db9447ce083f555f20ff5b9f7c458864986c15d65219a31a1cd2b18bad9965ece2ea5e3be