Commit graph

785 commits

Author SHA1 Message Date
Pieter Wuille
e1d0cc23a9 Improve git-subtree-check.sh
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-11 11:40:57 -07:00
Wladimir J. van der Laan
a4c833fec1
Merge #11443: [qa] Allow "make cov" out-of-tree; Fix rpc mapping check
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-04 14:26:03 +02:00
Jonas Schnelli
093074b843
Merge #11419: Utils: Fix launchctl not being able to stop bitcoind
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-03 20:15:11 -07:00
MarcoFalke
fae2673d5d qa: check-rpc-mapping must not run on empty lists 2017-10-01 16:46:56 +02:00
MarcoFalke
7632310515
Merge #11391: Remove lxcbr0 lines from gitian-build.sh
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-30 10:10:46 +02:00
Alejandro Avilés
ab5bba7783 Fix launchctl not being able to stop bitcoind
bitcoind should not be launched as daemon from launchctl. Otherwise, the
process cannot be stopped from launchctl.
2017-09-29 10:54:10 +02:00
fanquake
bb174e19bc
[docs] Remove partial gitian instructions from descriptors dir 2017-09-28 21:07:36 +08:00
MeshCollider
8849130415 Remove lxcbr0 lines from gitian-build.sh 2017-09-24 14:00:26 +13:00
Wladimir J. van der Laan
96d91b79bd
contrib: Ignore historical release notes for whitespace check
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-14 16:21:09 +02:00
MeshCollider
1f379b1f06 Add tab char lint check and exclude imported dependencies 2017-09-14 11:38:31 +12:00
Evan Klitzke
dd365612fd Add a lint check for trailing whitespace.
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-14 10:49:48 +12:00
MarcoFalke
7fcd61b261
Merge #10753: test: Check RPC argument mapping
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-13 20:16:59 +02:00
MeshCollider
7d03418aea Add -usehd to excluded args in check-doc.py 2017-09-08 19:21:52 +12:00
Wladimir J. van der Laan
77aa9e59ea test: Check RPC argument mapping
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-07 22:34:18 +02:00
Wladimir J. van der Laan
28485c783d
Merge #10825: net: set regtest JSON-RPC port to 18443 to avoid conflict with 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-06 01:18:35 +02:00
Wladimir J. van der Laan
dabee00ef1 github-merge: Coalesce git fetches
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.
2017-09-05 23:32:09 +02:00
practicalswift
9b94054b7c Avoid reference to undefined name: stderr does not exist, sys.stderr does 2017-08-28 15:18:14 +02:00
practicalswift
51cb6b8221 Use print(...) instead of undefined printf(...) 2017-08-28 15:18:14 +02:00
practicalswift
25cd520fc4 Use sys.exit(...) instead of exit(...): exit(...) should not be used in programs 2017-08-28 15:18:14 +02:00
MeshCollider
8897b1b1b1
Add meshcollider gitian key 2017-08-26 18:23:55 +12:00
Cory Fields
4452829b10 gitian: quick hack to fix version string in releases
Release version strings were broken in Gitian by 7522. This is a minimal fix
suitable for 0.15.

After this, we should fix up version handling for good so that gitian packages
the correct string in the release tarball, so that git is not required to get
the tag name.
2017-08-20 00:31:05 -04:00
MarcoFalke
6366941275
Merge #10680: Fix inconsistencies and grammar in various files
1d8df0141 Fix MD formatting in REST-interface.md and spelling mistake in test_runner.py (MeshCollider)
41f3e84aa Fix inconsistencies and grammar in various files (MeshCollider)

Pull request description:

  Just a simple fix of some inconsistent capitalization, formatting and grammar in a few files (no code changes)

Tree-SHA512: 60b12a5a5c69a1af4a25b7db0b32ed806ed62ad2966cee08b3792a7cfa7f51848fd485349b4c09e60a7eedfdf55ee730c51daa066d6e226ae404c93342bf3e13
2017-08-16 00:46:40 +02:00
MarcoFalke
4fb2586661
Merge #10956: Fix typos
9d5e98ff8 Fix typos. (practicalswift)

Pull request description:

  Fix some typos not covered by #10705.

Tree-SHA512: f06e9541f6ae13ef5d6731399b61795997b21a8816abeb1749c93e99a5c47354e6cbd4a3d145f4dc6ef8a13db179799a3121ecbb7288abf3e8d81cdf81500d37
2017-08-16 00:37:18 +02:00
MarcoFalke
d7be7b39fa
Merge #10705: Trivial: spelling fixes
f42fc1d50 doc: spelling fixes (klemens)

Pull request description:

  patch contains some spelling fixes ( just in comments ) as found by a bot ( http://www.misfix.org, https://github.com/ka7/misspell_fixer ).

Tree-SHA512: ba6046cfcd81b0783420daae7d776be92dd7b85a593e212f8f1b4403aca9b1b6af12cef7080d4ea5ed4a14952fd25e4300109a59c414e08f5395cdb9947bb750
2017-08-16 00:30:12 +02:00
klemens
f42fc1d508 doc: spelling fixes 2017-08-16 00:24:39 +02:00
Wladimir J. van der Laan
140de14a12
gitian: bump descriptors for master
Tree-SHA512: dc56ab285ea3fd293794341d7e2f8452730d3efb59f793112d4e1b036a051f9d221a7e577a460b426ecfb1578558203fa6a432efc62e6cabc534059719a2b437
2017-08-14 17:38:10 +02:00
practicalswift
9d5e98ff80 Fix typos. 2017-08-08 17:12:57 +02:00
Ferdinando M. Ametrano
ce3baa193f changed regtest RPCport to 18443 to avoid conflict with testnet 18332 2017-08-04 10:27:41 +02:00
Pieter Wuille
8842d1a5d4 Add undocumented -forcecompactdb to force LevelDB compactions 2017-08-03 23:42:26 -07:00
Wladimir J. van der Laan
f0aceddf88 p2p: Hardcoded seeds update pre-0.15 branch 2017-07-30 14:04:51 +02:00
Wladimir J. van der Laan
ca4c545cc7
Merge #10786: Add PR description to merge commit in github-merge.py
475c08c Add PR description to merge commit in github-merge.py (Pieter Wuille)

Pull request description:

  There is often some context given in PR descriptions that is missing from commits, and it may be worthwhile to retain that information in our history in git. This PR adds that information to the merge commit when created through `github-merge.py`.

  We should also encourage people to provide as much information as possible in the PR commits themselves, but I believe that is an orthogonal issue. Individual commits don't need to have a description of the overall goal of a PR.

Tree-SHA512: cbae46ec24ce911744e11a07e5d51895d3acc79659db306d8124304ef8e422bba99001ee2a741b08c92a5eb39d9c3f6b723622b20d6553ca5cfa0a8de866194c
2017-07-11 15:40:08 +02:00
Wladimir J. van der Laan
cef4b5ccaa
Merge #10651: Verify binaries from bitcoincore.org and bitcoin.org
6270d62 Verify binaries from bitcoincore.org and bitcoin.org (Matt Corallo)

Tree-SHA512: 39e99ce9be3e7c99d17b296749c0af53c867039bc95fd5b03572593c812817decea75e7296bb66e89ba460518210d84114b7bdc22465df621340319b47bd4303
2017-07-11 15:25:10 +02:00
Pieter Wuille
475c08cb44 Add PR description to merge commit in github-merge.py 2017-07-10 13:18:31 -07:00
MarcoFalke
080ec52091
Merge #10688: contrib: Update laanwj key
3c85332 contrib: Update laanwj key (Wladimir J. van der Laan)

Tree-SHA512: c8cad76158850a3e480ccb58ee86c3dbb4e45ef67376173720c2520d3cb02c1c3e13b4e0acea3be6d90991e073db49aad2e185a87a09be194f1d1605b31b6ee4
2017-06-29 11:02:47 +02:00
Wladimir J. van der Laan
3c85332f29
contrib: Update laanwj key
I recently added a signing subkey, which is used to sign gitian
asserts as well as commits.

Old:
```
pub  rsa2048/0x74810B012346C9A6 2011-08-24
uid                             Wladimir J. van der Laan <laanwj@gmail.com>
sub  rsa2048/0xF69705ED890DE427 2011-08-24
```

New:
```
pub  rsa2048/0x74810B012346C9A6 2011-08-24 [expires: 2019-02-14]
uid                             Wladimir J. van der Laan <laanwj@visucore.com>
uid                             Wladimir J. van der Laan <laanwj@gmail.com>
sub  rsa2048/0xF69705ED890DE427 2011-08-24
sub  rsa2048/0x1E4AED62986CD25D 2017-05-17 [expires: 2019-05-17]
sub  rsa2048/0x69B4C4CDC628F8F9 2017-05-17 [expires: 2019-05-17]
```
2017-06-28 09:05:28 +02:00
MeshCollider
41f3e84aac Fix inconsistencies and grammar in various files 2017-06-27 19:59:07 +12:00
Pieter Wuille
eaca1b7b08 Random db flush crash simulator 2017-06-26 10:46:51 -07:00
Wladimir J. van der Laan
8c841a31a9
Merge #10626: doc: Remove outdated minrelaytxfee comment
fab9b60 doc: Remove outdated minrelaytxfee comment (MarcoFalke)

Tree-SHA512: e36c5a554a9773f034c2d358c52a772688009a5a71dfd3f664d9b5566c98378f44ef7c6dc0902b42d69ab5fd54b60d4850a2903823d0b2309c7ae063d1923f7f
2017-06-24 10:16:32 +02:00
Wladimir J. van der Laan
8c2098ad12
Merge #10565: [coverage] Remove subtrees and benchmarks from coverage report
d5711f4 Filter subtrees and and benchmarks from coverage report (Andrew Chow)
405b86a Replace lcov -r commands with faster way (Andrew Chow)
c8914b9 Have `make cov` optionally include branch coverage statistics (Andrew Chow)

Tree-SHA512: 9c349a7baeb7430ea586617c52f91177df58e3546d6dc573e26815ddb79e30ab1873542d85ac1daca5e1fb2c6d6c8965824b42d027b6b0496a744af57b095852
2017-06-22 20:57:11 +02:00
Wladimir J. van der Laan
6bef7ca8bc
Merge #10633: doc: Fix various typos
0a5a6b9 Fixed multiple typos (Dimitris Tsapakidis)

Tree-SHA512: 57748710bcbc03945b160db5e95bd686a2c64605f25d5e11d8ed9d0e1be3b3bf287a63588dc6eb33d0cef4ff17c765fda7c226d667a357acc539c8fcf2b9bb7e
2017-06-22 20:46:37 +02:00
Matt Corallo
6270d624cf Verify binaries from bitcoincore.org and bitcoin.org 2017-06-22 13:54:27 -04:00
Wladimir J. van der Laan
b750b33c3c
Merge #10276: contrib/verifybinaries: allow filtering by platform
8d4dafd contrib/verifybinaries: allow filtering by platform (Andres G. Aragoneses)

Tree-SHA512: 5c117d18fd6e73cdbbf39c610f521bccb32ca7100eb8d5d5ed9c664514c37b32bd2f94f357b64c34f7c093e0c09312ecff330b7f5c708700d4b48643780ebac5
2017-06-22 19:33:10 +02:00
Dimitris Tsapakidis
0a5a6b90bc Fixed multiple typos
A few "a->an" and "an->a".
"Shows, if the supplied default SOCKS5 proxy" -> "Shows if the supplied default SOCKS5 proxy". Change made on 3 occurrences.
"without fully understanding the ramification of a command" -> "without fully understanding the ramifications of a command".
Removed duplicate words such as "the the".
2017-06-22 19:18:10 +03:00
MarcoFalke
fab9b60fbd doc: Remove outdated minrelaytxfee comment 2017-06-18 21:33:44 +02:00
Wladimir J. van der Laan
fbf5d3ba15
Merge #10480: Improve commit-check-script.sh
5432fc3 Fail on commit with VERIFY SCRIPT but no scripted-diff (Pieter Wuille)

Tree-SHA512: 687b6c825f6f882f9c8e9d301bc893383710bad70216fa40b95f7e24d83a7148f9c759c3e4bd905a6cd26960829f8f6bd03106dc6c83ac312bf34ad239917018
2017-06-13 21:13:13 +02:00
Andrew Chow
d5711f4a2d Filter subtrees and and benchmarks from coverage report
Remove leveldb baseline coverage gathering.

Added filter rules to remove all of the subtress (leveldb, secp256k1, ctaes, univalue) and
benchmarking from the coverage report. These items are unnecessary as we do not test for any
of the subtrees and benchmark coverage is unneeded.
2017-06-12 15:53:30 -07:00
Andrew Chow
405b86a92a Replace lcov -r commands with faster way
Instead of using lcov -r (which is extremely slow), first use a python script to perform bulk cleanup of the /usr/include/* coverage. Then use lcov -a to remove the duplicate entries. This has the same effect of lcov -r but runs significantly faster
2017-06-09 12:24:48 -07:00
Andres G. Aragoneses
8d4dafd774 contrib/verifybinaries: allow filtering by platform
Downloading all the binaries of all platforms can take quite long,
especially for slow connections, which may deter people from using
this script and, therefore, to disregard security altogether.

This change introduces the new possibility of specifying the
platform along with the version number, so that only the binaries
that contain the platform name are downloaded.
2017-06-06 13:33:19 +08:00
Wladimir J. van der Laan
27b99312bf
Merge #10451: contrib/init/bitcoind.openrcconf: Don't disable wallet by default
afc693d contrib/init/bitcoind.openrcconf: Don't disable wallet by default (Luke Dashjr)

Tree-SHA512: 1763a9e91788485b079b96239cf09f1557b338e5045aa4ffbad3908f88c4e362b9b5d86a8a0f33734899de244e76e7ced02a6be8e52b3fb69258a5101d6445ef
2017-06-01 15:05:18 +02:00
Wladimir J. van der Laan
6a38b79de4
Merge #10495: contrib: Update location of seeds.txt
ac9cd95 contrib: Update location of seeds.txt (Wladimir J. van der Laan)

Tree-SHA512: c12a75787ba87f03707c21731da083b466762a7e0af9ca501107695ea1074025907cc24805c7c87f4a66daa7f4f13e574da16be1681e61deaf1acbd72176b3ff
2017-06-01 12:59:42 +02:00