aboutsummaryrefslogtreecommitdiff
path: root/contrib
AgeCommit message (Collapse)Author
2017-12-21Merge #11945: Improve BSD compatibility of contrib/install_db4.shWladimir J. van der Laan
2712742 doc: Update FreeBSD build instructions to use bdb4 (Wladimir J. van der Laan) d95c83d contrib: FreeBSD compatibility in install_db4.sh (Wladimir J. van der Laan) c0298b0 contrib: Make X=Y arguments work in install_db4 (Wladimir J. van der Laan) b798f9b contrib: New clang patch for install_db4 (Wladimir J. van der Laan) Pull request description: This PR improves the BSD compatibility of the bdb4 installer script. See #11921, #11868. I've tested this on OpenBSD 6.2 (clang) and Ubuntu 16.04 (gcc). This needs testing on OSX at least, ~~and on gcc/Linux to make sure that applying the patch unconditionally doesn't negatively affect gcc~~. ~~NB: this is not yet sufficient to make `install_db4.sh` work on FreeBSD, as we need to use yet another `sha256` tool there. But it's a step in the right direction.~~ ### contrib: New clang patch for install_db4 Replace the clang patch with a new and improved version that also fixes the build issues with OpenBSD and FreeBSD's clang, and apply it unconditionally. Thanks to @fanquake for finding the patch. ### contrib: Make X=Y arguments work in install_db4 Trailing X=Y arguments are supposed to be passed through unchanged to bdb's configure. This was not the case, at least with OpenBSD 6.2's shell. Fix this by not storing the arguments in a temporary variable but passing "$@" through directly. ### contrib: FreeBSD compatibility in install_db4.sh Unfortunately, FreeBSD uses yet another syntax for `sha256`. Support FreeBSD's syntax too. Using `uname` is a bit of a hack but it works and I found no way to distinguish the two. Tree-SHA512: 12461a58dfeb4834701891762efc747c8187d834f41d98c8451edee1402a3958c4842bbc02c61bacbc7b0d90cc6b020a2ca158b65304d9760c9f0d2052ff36d4
2017-12-20Merge #10657: Utils: Improvements to ECDSA key-handling codeWladimir J. van der Laan
63179d0 Scope the ECDSA constant sizes to CPubKey / CKey classes (Jack Grigg) 1ce9f0a Ensure that ECDSA constant sizes are correctly-sized (Jack Grigg) 48abe78 Remove redundant `= 0` initialisations (Jack Grigg) 17fa391 Specify ECDSA constant sizes as constants (Jack Grigg) e4a1086 Update Debian copyright list (Jack Grigg) e181dbe Add comments (Jack Grigg) a3603ac Fix potential overflows in ECDSA DER parsers (Jack Grigg) Pull request description: Mostly trivial, but includes fixes to potential overflows in the ECDSA DER parsers. Cherry-picked from Zcash PR https://github.com/zcash/zcash/pull/2335 Tree-SHA512: 8fcbd51b0bd6723e5d33fa5d592f7cb68ed182796a9b837ecc8217991ad69d6c970258617dc00eb378c8caa4cec5d6b304d9d2c066acd40cda98e4da68e0caa4
2017-12-20contrib: FreeBSD compatibility in install_db4.shWladimir J. van der Laan
Unfortunately, FreeBSD uses yet another syntax for `sha256`. Support FreeBSD's syntax too. Using `uname` is a bit of a hack but it works and I found no way to distinguish the two.
2017-12-19contrib: Make X=Y arguments work in install_db4Wladimir J. van der Laan
Trailing X=Y arguments are supposed to be passed through unchanged to bdb's configure. This was not the case, at least with OpenBSD 6.2's shell. Fix this by not storing the arguments in a temporary variable but passing "$@" through directly.
2017-12-19contrib: New clang patch for install_db4Wladimir J. van der Laan
Replace the clang patch with a new and improved version that also fixes the build issues with OpenBSD and FreeBSD's clang, and apply it unconditionally. This needs testing on OSX.
2017-12-19contrib: fix typo in install_db4.sh help messageWladimir J. van der Laan
It installs db4, not db5.
2017-12-11Merge #11836: Rename rpcuser.py to rpcauth.pyWladimir J. van der Laan
3121d76 doc: Update release notes for share/rpcauth/rpcauth.py rename (Henrik Jonsson) 3fdb297 Rename rpcuser.py to rpcauth.py (Henrik Jonsson) Pull request description: This script creates `rpcauth` entries for bitcoin.conf, not the deprecated `rpcuser` entry, so this changes the name of the script to match. As discussed in #11830. Tree-SHA512: cd71c2a4043ef1381d3810b057cc83be3fac612df576b91b683ef91fdb7998c534b3b97a3313845eb867dc4bf7cc42a1250474d2261ab3f9ed2f884ca8ebd9f4
2017-12-10Add Travis check for unused Python importspracticalswift
2017-12-06Rename rpcuser.py to rpcauth.pyHenrik Jonsson
This script creates `rpcauth` entries for bitcoin.conf, not the deprecated `rpcuser` entry, so this changes the name of the script to match.
2017-12-05[verify-commits] Fix gpg.sh's echoing for commits with '\n'Matt Corallo
2017-12-04Merge #10773: Shell script cleanupsPieter Wuille
13a81b19d Add quotes to variable assignment (as requested by @TheBlueMatt) (practicalswift) 683b9d280 Fix valid path output (practicalswift) 193c2fb4c Use bash instead of POSIX sh. POSIX sh does not support arrays. (practicalswift) 80f5f28d3 Fix incorrect quoting of quotes (the previous quotes had no effect beyond unquoting) (practicalswift) 564a172df Add required space to [[ -n "$1" ]] (previously [[ -n"$1" ]]) (practicalswift) 1e44ae0e1 Add error handling: exit if cd fails (practicalswift) b9e79ab41 Remove "\n" from echo argument. echo does not support escape sequences. (practicalswift) f6b3382fa Remove unused variables (practicalswift) Pull request description: Shell script cleanups: * Add required space to `[ -n ]`. * Avoid quote within quote. * Exit if `cd` fails. * Remove `\n` which is not handled by `echo`. * ~~Remove redundant `$` in arithmetic variable expression.~~ * ~~Use `$(command)` instead of legacy form `` `command` ``.~~ * Arrays are not supported in POSIX `sh`. Use `bash` when arrays are used. * ~~`[ foo -a bar ]` is not well defined, use `[ foo ] && [ bar ]` instead.~~ * ~~`[ foo -o bar ]` is not well defined, use `[ foo ] || [ bar ]` instead.~~ Tree-SHA512: 80f6ded58bce625b15b4da30d69d2714c633e184e62b21ed67d2c58e2ebaa08b4147593324012694d02bf4f1f252844cdff2fd1cf5e817ddb07e2777db7a6390
2017-11-29Trivial: fix comments for ZeroMQ bitcoind argsaaron-hanson
2017-11-17Merge #11700: Add gitian PGP key: willykoWladimir J. van der Laan
f88d900 Add gitian PGP key: willyko (Willy Ko) Pull request description: First gitian sig: [https://github.com/bitcoin-core/gitian.sigs/pull/619](url) Tree-SHA512: 3e6b017bd982a05d9a966948292b2d9a95e1bff6f28139a6a7545d63d7320f77d257fa0628c4fe28b39b8ae844be521dfb6224b1611e1e9d0fa49e7bceacb27c
2017-11-16[build] Add a script for installing db4James O'Beirne
Instead of maintaining not-easily-tested instructions for building BerkeleyDB in doc/build-unix.md, package the installation as a script in contrib/. This allows shared usage from a number of contexts, e.g. Docker. Thanks to @jonasschnelli, @laanwj for feedback.
2017-11-15Add gitian PGP key: willykoWilly Ko
2017-11-15fix the StartupWMClass for bitoin-qt, so gnome-shell can recognize itEvan Klitzke
2017-11-13Merge #11676: contrib/init: Update openrc-run filenameMarcoFalke
2f041f0e7 contrib/init: Update openrc-run filename (Luke Dashjr) Pull request description: OpenRC changed their program binary names in 2014 (3 years ago), and using the old names has loud warnings now Tree-SHA512: 2b81802b21c32b8df6010142f9593c0b6cc814a052f83b7f5654f6885566e8dbcaf4da772145fa2cf5d94c16c2fb488c5d4879f71021407c4d7b3a3b7e7ed21e
2017-11-13contrib/init: Update openrc-run filenameLuke Dashjr
OpenRC changed their program binary names in 2014 (3 years ago), and using the old names has loud warnings now
2017-11-13Merge #11035: [contrib] Add Valgrind suppressions fileWladimir J. van der Laan
4a426d8 Add note about Valgrind suppressions file in developer-notes.md (practicalswift) 84e2462 contrib: Add Valgrind suppressions file (practicalswift) Pull request description: Includes known Valgrind warnings in our dependencies that cannot be fixed in-tree. Example use: ``` $ valgrind --suppressions=contrib/valgrind.supp src/test/test_bitcoin $ valgrind --suppressions=contrib/valgrind.supp --leak-check=full \ --show-leak-kinds=all src/test/test_bitcoin --log_level=test_suite ``` Running with the suppressions file under Ubuntu 16.04: ``` $ valgrind --suppressions=contrib/valgrind.supp --leak-check=full --show-leak-kinds=all src/test/test_bitcoin --log_level=test_suite --run_test=wallet_crypto … ==10769== LEAK SUMMARY: ==10769== definitely lost: 0 bytes in 0 blocks ==10769== indirectly lost: 0 bytes in 0 blocks ==10769== possibly lost: 0 bytes in 0 blocks ==10769== still reachable: 0 bytes in 0 blocks ==10769== suppressed: 72,704 bytes in 1 blocks ``` Running without the suppressions file under Ubuntu 16.04: ``` $ valgrind --leak-check=full --show-leak-kinds=all src/test/test_bitcoin --log_level=test_suite --run_test=wallet_crypto … ==10724== 72,704 bytes in 1 blocks are still reachable in loss record 1 of 1 ==10724== at 0x4C2DBF6: malloc (vg_replace_malloc.c:299) ==10724== by 0x6F74EFF: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) ==10724== by 0x40106B9: call_init.part.0 (dl-init.c:72) ==10724== by 0x40107CA: call_init (dl-init.c:30) ==10724== by 0x40107CA: _dl_init (dl-init.c:120) ==10724== by 0x4000C69: ??? (in /lib/x86_64-linux-gnu/ld-2.23.so) ==10724== by 0x2: ??? ==10724== by 0x1FFF0006D2: ??? ==10724== by 0x1FFF0006E8: ??? ==10724== by 0x1FFF0006FF: ??? ==10724== ==10724== LEAK SUMMARY: ==10724== definitely lost: 0 bytes in 0 blocks ==10724== indirectly lost: 0 bytes in 0 blocks ==10724== possibly lost: 0 bytes in 0 blocks ==10724== still reachable: 72,704 bytes in 1 blocks ==10724== suppressed: 0 bytes in 0 blocks ``` Tree-SHA512: 9c92079fc61313ea678deb6aaa16a3a71c3154c757459793eb9ca0d90a9a74c6faebfb04c9135e1b398ca34224fb7f03bd9c488ea0e8debf6894f69f030a31d3
2017-11-09Merge #11394: Perform a weaker subtree check in TravisMarcoFalke
487aff421 Check subtree consistency in Travis (Pieter Wuille) e1d0cc23a Improve git-subtree-check.sh (Pieter Wuille) Pull request description: Apparently many of our subtrees get modified by PRs in this repository, without getting noticed. To improve upon this: * Make git-subtree-check.sh capable of doing a weaker consistency check (that doesn't need access to external repositories), but which should be sufficient to detect unintended changes. It can be fooled by a fake subtree merge commit, but that would hopefully be obvious to reviewers. * Make Travis invoke this subtree check for each of our subtrees. Note that Travis is currently expected to fail on this PR, as 2 out of 4 subtrees (`src/secp156k1` and `src/univalue` have been modified directly in master). Tree-SHA512: 465b680392d3daf38a8c1dda77d6f74b1d1c23324c378774777fb95aa673e119a8f7e3ccc124e41d97b5ac8975f3d79f3015797d2d309666582394364917ec4e
2017-11-09Revert "Remove unused variable in shell script"MarcoFalke
This partially reverts commit ab8e8b97a359e1c4f1bca8e1769021c95019f2c4
2017-11-09Merge #10771: Remove unused variables in shell scriptsWladimir J. van der Laan
ab8e8b9 Remove unused variables in shell scripts. (practicalswift) Pull request description: Remove unused variables in shell scripts. Use `_` where we don't care about the result. Tree-SHA512: 35049e79ee432c805f061456c32902a92811b5214d50ce6770b22d1442cc5999ed53cfe05bb2347f6995ca33c707a0f3fe92d5829c0385c4a3e254953924cbc4
2017-11-09Merge #10529: Improve bitcoind systemd service fileWladimir J. van der Laan
16be7dd Improve bitcoind systemd service file (Florian Schmaus) Pull request description: Add comment how further options can be added or existing ones modified. Use /run/${RuntimeDirectory} for PID file. Remove TimeoutStopSec, TimeoutStartSec, StartLimitInterval, StartLimitBurst directives as those should be set indivdually. Remove Group to user the bitcoin user's default group. Changed Restart from 'always' to 'on-failure' (can also be overwritten individually). Tree-SHA512: f76674c11fd6e3faaf786aa05686926523d9c875aad6b776337f800108fdb716470286805c532b494f8cf713cb5eea6b735e1c7c238ffb407a5cc909dda41aa4
2017-11-04Add sjors gitian keySjors Provoost
2017-10-20[verify-commits] Allow revoked keys to expireMatt Corallo
2017-10-18Add quotes to variable assignment (as requested by @TheBlueMatt)practicalswift
2017-10-18Fix valid path outputpracticalswift
2017-10-18Use bash instead of POSIX sh. POSIX sh does not support arrays.practicalswift
2017-10-18Fix incorrect quoting of quotes (the previous quotes had no effect beyond ↵practicalswift
unquoting)
2017-10-18Add required space to [[ -n "$1" ]] (previously [[ -n"$1" ]])practicalswift
2017-10-18Add error handling: exit if cd failspracticalswift
2017-10-18Remove "\n" from echo argument. echo does not support escape sequences.practicalswift
2017-10-18Remove unused variablespracticalswift
2017-10-11Improve git-subtree-check.shPieter Wuille
We have several pieces of information about subtrees: 1) What their current directory contents is 2) What their directory contents was at the time of the last subtree merge 3) What the directory contents of the upstream project is in the commit referred to by the subtree merge. Normally, all 3 should be identical. git-subtree-check.sh so far only compared (1) with (3) however. Fix this by comparing all three, and give some more useful diff output in the case of mismatch. The added benefit is that (1) and (2) can be compared without needing to see the upstream repository.
2017-10-09Remove accidental stray semicolonpracticalswift
2017-10-04Merge #11443: [qa] Allow "make cov" out-of-tree; Fix rpc mapping checkWladimir J. van der Laan
fae60e3 qa: Fix lcov for out-of-tree builds (MarcoFalke) fae2673 qa: check-rpc-mapping must not run on empty lists (MarcoFalke) Pull request description: Random qa fixups: * `make cov` should work for out-of-tree builds * `check-rpc-mappings.py` should assert that it is actually checking something and the lists are not empty. Tree-SHA512: 2b66f69d6a1ae035c772f8ceb1d58dce904d98058330dad6ccb1421941e167aa748fe1c12126b87f43b0843f51fa85d89de079d586629fcaf8261c44a8dc6053
2017-10-03Merge #11419: Utils: Fix launchctl not being able to stop bitcoindJonas Schnelli
ab5bba778 Fix launchctl not being able to stop bitcoind (Alejandro Avilés) Pull request description: `bitcoind` should not be launched as daemon from the Launch Agent. Otherwise, the process cannot be stopped from `launchctl stop`/`launchctl unload`. To reproduce the issue: ```console $ launchctl load ~/Library/LaunchAgents/org.bitcoin.bitcoind.plist $ pgrep -fla bitcoin 60225 /usr/local/opt/bitcoin/bin/bitcoind $ launchctl unload ~/Library/LaunchAgents/org.bitcoin.bitcoind.plist ``` Wait a few seconds and then run `pgrep` again: ```console $ pgrep -fla bitcoin 60225 /usr/local/opt/bitcoin/bin/bitcoind ``` The node is still running. This happens because Launch Agent is not supposed to run programs as daemons, since the agent makes sure they run in the background. Running them as daemons makes the Launch Agent lose control of the process and, so, it cannot be stopped. Tree-SHA512: 5342e1a858e478a226a1db292f1b8f8666bb252ee951753b131902c325ea3d47592cf245298decb423ac658a3175761b54dc2e7df6feea5343d65ba255613f67
2017-10-01qa: check-rpc-mapping must not run on empty listsMarcoFalke
2017-09-30Merge #11391: Remove lxcbr0 lines from gitian-build.shMarcoFalke
884913041 Remove lxcbr0 lines from gitian-build.sh (MeshCollider) Pull request description: The `gitian-build.sh` script crashes with an error when I tried to use it, @kallewoof also had this same issue: lxcbr0: ERROR while getting interface flags: No such device SIOCSIFADDR: No such device lxcbr0: ERROR while getting interface flags: No such device And then: lxc-execute: failed to find gateway addresses lxc-execute: failed to spawn 'gitian' ./bin/gbuild:21:in `system!': failed to run make-clean-vm --suite trusty --arch amd64 (RuntimeError) I believe it's because of the two lines which this PR removes, I tested it and seems to work as expected now. These lines are unique to this script and aren't mentioned in `gitian-building.md` or `release-process.md`. We discussed it on IRC, @achow101 agrees removing these lines would probably fix it: https://botbot.me/freenode/bitcoin-core-dev/2017-09-19/?msg=91299782&page=2 Has anyone successfully used this script as-is? Or does everyone else manually run the builds/write their own script like I have up til this point? Tree-SHA512: 0cffd3df307ad107fb1d4bae45094fc5002b56c2fe64f03642d968659fdc62f586ba249dbc540b69058b276f2456962e5bc4d665cab21ef1f561735eb78afcc2
2017-09-29Fix launchctl not being able to stop bitcoindAlejandro Avilés
bitcoind should not be launched as daemon from launchctl. Otherwise, the process cannot be stopped from launchctl.
2017-09-28[docs] Remove partial gitian instructions from descriptors dirfanquake
2017-09-24Remove lxcbr0 lines from gitian-build.shMeshCollider
2017-09-14contrib: Ignore historical release notes for whitespace checkWladimir J. van der Laan
Lint checks should not test these, they are historical documents, and we don't want to encourage silly changes to them to satisfy a checker. Hopefully makes travis pass again on master. Tree-SHA512: 37e6716c4fd5e8a4e579f9b84042e6b0ac224836b6c851cd1ca3f7d46611ffd3003bed0ae08dd0457f69d6eaa485a0d21c631e7ef16b14bdb0f2f78ea700332d
2017-09-14Add tab char lint check and exclude imported dependenciesMeshCollider
2017-09-14Add a lint check for trailing whitespace.Evan Klitzke
This adds a new CHECK_DOC check that looks for newly introduced trailing whitespace. Existing trailing whitespace (of which there is plenty!) will not trigger an error. This is written in a generic way so that new lint-*.sh scripts can be added to contrib/devtools/, as I'd like to contribute additional lint checks in the future.
2017-09-13Merge #10753: test: Check RPC argument mappingMarcoFalke
77aa9e59e test: Check RPC argument mapping (Wladimir J. van der Laan) Pull request description: Parse the dispatch tables from the server implementation files, and the conversion table from the client (see #10751). Perform the following consistency checks: - Arguments defined in conversion table, must be present in dispatch table. If not, it was probably forgotten to add them to the dispatch table, and they will not work. - Arguments defined in conversion table must have the same names as in the dispatch table. If not, they will not work. - All aliases for an argument must either be present in the conversion table, or not. Anything in between means an oversight and some aliases won't work. Any of these results in an error. It also performs a consistency check to see if the same named argument is sometimes converted, and sometimes not. E.g. one RPC call might have a 'verbose' argument that is converted, another RPC call might have one that is not converted. This is not necessarily wrong, but points at a possible error (as well as makes the API harder to memorize) - so it is emitted as a warning (could upgrade this to error). This test is added to travis and run when `CHECK_DOC`. Currently fails with the following output: ``` * Checking consistency between dispatch tables and vRPCConvertParams ERROR: createrawtransaction argument 3 (named optintorbf in vRPCConvertParams) is not defined in dispatch table ERROR: getblock argument ['verbosity', 'verbose'] has conflicts in vRPCConvertParams conversion specifier [True, False] WARNING: conversion mismatch for argument named verbose ([('getblock', False), ('getblockheader', True), ('getmempoolancestors', True), ('getmempooldescendants', True), ('getrawmempool', True), ('getrawtransaction', True)]) ``` - ~#10698 fixes the first ERROR~ - #10747 fixes the second ERROR, as well as the WARNING Update: #10698 was merged, leaving: ``` * Checking consistency between dispatch tables and vRPCConvertParams ERROR: getblock argument ['verbosity', 'verbose'] has conflicts in vRPCConvertParams conversion specifier [True, False] WARNING: conversion mismatch for argument named verbose ([('getblock', False), ('getblockheader', True), ('getmempoolancestors', True), ('getmempooldescendants', True), ('getrawmempool', True), ('getrawtransaction', True)]) ``` Tree-SHA512: feabebfbeda5d4613b2b9d5265aa6bde4e1a0235297ffd48fa415ad7edc531d9ed7913fe76d191ac60d481a915a326f216bc93de3c671e45e1d14e97d07dea7a
2017-09-08Add -usehd to excluded args in check-doc.pyMeshCollider
2017-09-07test: Check RPC argument mappingWladimir J. van der Laan
Parse the dispatch tables from the server implementation files, and the conversion table from the client. Perform the following consistency checks: - Arguments defined in conversion table, must be present in dispatch table. If not, it was probably forgotten to add them to the dispatch table, and they will not work. - Arguments defined in conversion table must have the same names as in the dispatch table. If not, they will not work. - All aliases for an argument must either be present in the conversion table, or not. Anything in between means an oversight and some aliases won't work. Any of these results in an error. It also performs a consistency check to see if the same named argument is sometimes converted, and sometimes not. E.g. one RPC call might have a 'verbose' argument that is converted, another RPC call might have one that is not converted. This is not necessarily wrong, but points at a possible error (as well as makes the API harder to memorize) - so it is emitted as a warning (could upgrade this to error).
2017-09-06Merge #10825: net: set regtest JSON-RPC port to 18443 to avoid conflict with ↵Wladimir J. van der Laan
testnet 18332 ce3baa193 changed regtest RPCport to 18443 to avoid conflict with testnet 18332 (Ferdinando M. Ametrano) Pull request description: using the same JSON-RPC default port for both testnet and regtest prevents running both at the same time on the same machine. Since RPCport=P2Pport-1 for both mainnet and testnet, and regtest P2Pport being 18444, 18443 is proposed for regtest RPCport Documentation has been updated (or created where missing); manpages doc/man/bitcoin*.1 could include information for regtest too Tree-SHA512: d42185f7ef54dc918ece19b543c8681d08bb9c5a971394e21f2d9a1091734b091b08df69fab622c207b46f402cf9323ded5b7a33fbd0af722388930169124e7f
2017-09-05github-merge: Coalesce git fetchesWladimir J. van der Laan
Fetch the destination branch as well as PR in one go. Saves a few seconds (as well as one ssh authentication, when using a yubikey) when using github-merge.py.