Commit Graph

944 Commits

Author SHA1 Message Date
fanquake fae98f66fe
[Docs] Bump minimum required version of GCC to 4.8 2017-11-23 08:02:06 +08:00
Wladimir J. van der Laan d080a7d503
Merge #11466: Specify custom wallet directory with -walletdir param
c1e5d40 Make debugging test crash easier (MeshCollider)
8263f6a Create walletdir if datadir doesn't exist and fix tests (MeshCollider)
9587a9c Default walletdir is wallets/ if it exists (MeshCollider)
d987889 Add release notes for -walletdir and wallets/ dir (MeshCollider)
80c5cbc Add test for -walletdir (MeshCollider)
0530ba0 Add -walletdir parameter to specify custom wallet dir (MeshCollider)

Pull request description:

  Closes #11348

  Adds a `-walletdir` parameter which specifies a directory to use for wallets, allowing them to be stored separately from the 'main' data directory. Creates a new `wallets/` directory in datadir if this is the first time running, and defaults to using it if it exists.

  Includes tests and release notes. Things which might need to be considered more:
  - there is no 'lock' on the wallets directory, which might be needed?
  - because this uses a new wallets/ directory by default, downgrading to an earlier version won't see the wallets in that directory (not a big deal though, users can just copy them up to the main dir)
  - jnewbery suggested putting each wallet in its own directory, which is a good idea, but out of scope for this PR IMO. EDIT: this is being done in https://github.com/bitcoin/bitcoin/pull/11687
  - doc/files.md needs updating (will do soon)

  I also considered including  a cleanup by removing caching of data directory paths and instead just initialise them once on startup (c.f. #3073), but decided it wasn't super relevant here will just complicate review.

Tree-SHA512: c8ac04bfe9a810c32055f2c8b8fa0d535e56125ceb8d96f12447dd3538bf3e5ee992b60b1cd2173bf5f3fa023a9feab12c9963593bf27ed419df929bb413398d
2017-11-18 14:41:15 +01:00
Wladimir J. van der Laan ea68190132
Merge #11704: Windows build doc update
1cecea7 doc: Specify required source location for Windows WSL builds (Aaron Clauson)

Tree-SHA512: 6c5bb7f953a4399e1f99da865086a3d5196e7eb0df226f1ec08bde5b9a68bfe8934f45a5dc011623adb607aab7ac79fa8b48ed09f6fec4494179938d9951080e
2017-11-17 14:32:00 +01:00
Aaron Clauson 1cecea71ad doc: Specify required source location for Windows WSL builds
- Added steps to specify required source location for Windows WSL
  builds.
- Attempted to make the introduction and options for building on Windows
  clearer.
2017-11-17 14:31:05 +01:00
MeshCollider d9878890e4 Add release notes for -walletdir and wallets/ dir 2017-11-18 00:50:58 +13:00
Wladimir J. van der Laan 41221126c8
Merge #11702: [build] Add a script for installing db4
6e4cdd6 [docs] Add reference to install_db4.sh in OS X build instructions (James O'Beirne)
af9103e [build] Add a script for installing db4 (James O'Beirne)

Pull request description:

  Instead of maintaining rote instructions for building BerkeleyDB in `doc/build-{unix,openbsd}.md`, reference a script that does the same thing and can be called from unanticipated contexts, e.g. Docker builds.

  The script was written with portability in mind, though I haven't tested it on openbsd.

  I wasn't sure if we wanted to create a separate directory for this sort of thing (e.g. `contrib/install`) so I just stuck it in `contrib/`; happy to move it around if anyone has another preference.

Tree-SHA512: d2fc83c065d083458c448e6041e5e9ef67f8165974925560a83881d22d1e9448ea3dd4f7a38196800a8cd6dcf206208a2d6d12417bfe094902d4754e4ca67f18
2017-11-17 12:45:00 +01:00
James O'Beirne 6e4cdd67b1 [docs] Add reference to install_db4.sh in OS X build instructions 2017-11-16 11:49:34 -08:00
James O'Beirne af9103eb75 [build] Add a script for installing db4
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-16 11:49:19 -08:00
Russell Yanofsky 434f5a2506 Recommend #include<> syntax in developer notes 2017-11-16 08:23:03 +13:00
Wladimir J. van der Laan 927a1d7d08
Merge #10286: Call wallet notify callbacks in scheduler thread (without cs_main)
89f0312 Remove redundant pwallet nullptr check (Matt Corallo)
c4784b5 Add a dev notes document describing the new wallet RPC blocking (Matt Corallo)
3ea8b75 Give ZMQ consistent order with UpdatedBlockTip on scheduler thread (Matt Corallo)
cb06edf Fix wallet RPC race by waiting for callbacks in sendrawtransaction (Matt Corallo)
e545ded Also call other wallet notify callbacks in scheduler thread (Matt Corallo)
17220d6 Use callbacks to cache whether wallet transactions are in mempool (Matt Corallo)
5d67a78 Add calls to CWallet::BlockUntilSyncedToCurrentChain() in RPCs (Matt Corallo)
5ee3172 Add CWallet::BlockUntilSyncedToCurrentChain() (Matt Corallo)
0b2f42d Add CallFunctionInQueue to wait on validation interface queue drain (Matt Corallo)
2b4b345 Add ability to assert a lock is not held in DEBUG_LOCKORDER (Matt Corallo)
0343676 Call TransactionRemovedFromMempool in the CScheduler thread (Matt Corallo)
a7d3936 Add a CValidationInterface::TransactionRemovedFromMempool (Matt Corallo)

Pull request description:

  Based on #10179, this effectively reverts #9583, regaining most of the original speedups of #7946.

  This concludes the work of #9725, #10178, and #10179.

  See individual commit messages for more information.

Tree-SHA512: eead4809b0a75d1fb33b0765174ff52c972e45040635e38cf3686cef310859c1e6b3c00e7186cbd17374c6ae547bfbd6c1718fe36f26c76ba8a8b052d6ed7bc9
2017-11-15 16:25:40 +01:00
Jonas Schnelli 4db82b7aab
Merge #11680: [docs] Add instructions for lcov report generation
5ff01c236 [docs] Add instructions for lcov coverage report generation (James O'Beirne)

Pull request description:

  After rediscovering the `lcov` report generation recipe one too many times, it seemed prudent to write some doc.

Tree-SHA512: 20e1b5f51ecd39e14bd67986a2c1578fb7da03a50625366eaca35b201db66aef99cd4a5456df3aaca5d2d66b18ed7d2e8eb8f3bd9c7aaf9af48164d9bac38931
2017-11-14 21:29:08 -10:00
James O'Beirne 5ff01c2363 [docs] Add instructions for lcov coverage report generation 2017-11-14 15:29:45 -08:00
practicalswift d8ac893268 trivial: Fix typo – "Ubutntu" → "Ubuntu" 2017-11-14 10:23:41 +01:00
Thoragh 73a7e6d186 Update WSL installation for Fall Creators update 2017-11-14 03:18:31 +01:00
MarcoFalke 41aa9c4a80
Merge #11663: [trivial] doc: Add getreceivedbyaddress release notes
fa0c7c7f8 doc: Add getreceivedbyaddress release notes (MarcoFalke)

Pull request description:

  C.f. #11055

  Also, remove release note snippets of previous versions.

Tree-SHA512: 3ec0722d2f69b24fdaddb65e3a602ffb79b986ae6910425d6c3639e250b88432885ac4cc738ec395ac80551e73dfc2cd59b2d2b6645c3986b97c4046ead27cbc
2017-11-13 14:57:26 -05:00
Wladimir J. van der Laan 927e5280bd
Merge #11035: [contrib] Add Valgrind suppressions file
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-13 15:00:45 +01:00
Wladimir J. van der Laan 7fbf3c638f
Merge #11438: Updated Windows build doc for WSL/Xenial workaround
7383d77 Updated instructions for Windows 10 Fall Creators Update. (Aaron Clauson)
e0fc4a7 Updated Windows build doc for WSL/Xenial workarounds. (Aaron Clauson)

Pull request description:

  An update to the Windows build document that provides workarounds for the broken 64 bit mingw32 cross compiler on WSL/Xenial.

  This update is an alternative to pull request #11437. While that pull request takes a valid approach by stating building on WSL should be avoided I think it is more useful to give Windows developers a workaround option.

  The instructions have been tested on:
  - Ubuntu 14.04 and 64 bit mingw32 tool chain
  - Ubuntu 16.04 and 64 bit mingw32 tool chain
  - Ubuntu 17.04 and 64 bit mingw32 tool chain
  - Windows Subsystem for Linux (Windows 10 OS Build 15063.608) and 32 bit mingw32 tool chain
  - Windows Subsystem for Linux (Windows 10 OS Build 15063.608) and 64 bit mingw32 tool chain

  Related items:
  - Serious incompatibility problems w/ newer mingw-64 on Ubuntu #8653
  - `-fstack-protector-all` triggers crashes in mingw-w64 5.3.1 #8732
  - Windows build appears broken on WSL (buntu okay) #10269
  - Compilation error for windows target #11437

Tree-SHA512: 7c937e37ed7120ae5dcf61aba50e5228a7ed6f729647c724b8f48e7cbbd81366c1a83a818618766a8fe0418425e05ba2eba2b14f2616621c58606585444f45fc
2017-11-13 12:48:55 +01:00
practicalswift 4a426d8900 Add note about Valgrind suppressions file in developer-notes.md 2017-11-12 17:11:47 +01:00
MarcoFalke fa0c7c7f86 doc: Add getreceivedbyaddress release notes
Also, remove release note snippets of previous versions.
2017-11-11 12:55:45 -05:00
Wladimir J. van der Laan 6de3203cdc
doc: Add historical release notes for 0.15.1
Tree-SHA512: 83d1b5c392ada61c846ece98e5060ead8b79989a024d241ade20b607af3651a832f59adc73d34771b4e9ec573315cb19ea20743d7d7d88dbbec0e60b2ca81729
2017-11-11 14:40:43 +01:00
Wladimir J. van der Laan e1f6a2a801
Merge #11565: Make listsinceblock refuse unknown block hash
659b206 Make listsinceblock refuse unknown block hash (Russell Yanofsky)

Pull request description:

  Change suggested by @theuni  who noticed listsinceblock would ignore invalid block hashes causing it to return a completely unfiltered list of transactions.

Tree-SHA512: 3c8fb160265780d1334e856e853ab48e2e18372b8f1fc71ae480c3f45317048cc1fee0055d5c58031981a91b9c2bdbeb8e49a889d04ecba61729ce8109f2ce3f
2017-11-01 14:12:54 +01:00
Russell Yanofsky 659b2061c4 Make listsinceblock refuse unknown block hash
Change suggested by Cory Fields <cory-nospam-@coryfields.com> who noticed
listsinceblock would ignore invalid block hashes causing it to return a
completely unfiltered list of transactions.
2017-10-26 07:10:59 -04:00
fanquake 9d30f54ef1
[Docs] Update OpenBSD Build Instructions for OpenBSD 6.2 2017-10-25 10:57:56 +08:00
Aaron Clauson 7383d77264 Updated instructions for Windows 10 Fall Creators Update. 2017-10-18 10:14:22 +11:00
Aaron Clauson e0fc4a7356 Updated Windows build doc for WSL/Xenial workarounds. 2017-10-15 22:51:53 +11:00
Matt Corallo c4784b5065 Add a dev notes document describing the new wallet RPC blocking 2017-10-13 19:30:15 -04:00
Wladimir J. van der Laan becbd71b0c
Merge #11437: [Docs] Update Windows build instructions for using WSL and Ubuntu 17.04
696ce46 [Docs] Update Windows build instructions for using WSL and Ubuntu 17.04 (fanquake)
4f890ba Add new step to clean $PATH var by removing /mnt specific Window's %PATH% paths that cause issues with the make system (Donal OConnor)

Pull request description:

  This updates the Windows build documentation with the workaround required to build using Ubuntu 17.04 on WSL, and makes it's explicit that building on Ubuntu 16.04 is broken, and not recommended.

  This includes a commit from @donaloconnor in #11244, and is mostly the investigative work of @laanwj throughout #8732, #8653 and quite a few other issues.

  I tested building on 14.04, 16.04.3 and 17.04 [here](https://github.com/bitcoin/bitcoin/pull/11244#issuecomment-327990251) and got the results we expect.

  ---

  Built master at c22a53cd63 on a Windows 10 VM (Version 1607, OS Build 14393.1593) using WSL with Ubuntu 14.04.
  ![windows](https://user-images.githubusercontent.com/863730/30195033-867f1f24-9489-11e7-932c-e87b8764a627.png)

  Upgraded WSL to 16.04.3, and tried building c22a53cd63 using these instructions. The result is as expected.
  ![ubuntu 16 04 3](https://user-images.githubusercontent.com/863730/30235670-b9bf36bc-953d-11e7-8c1d-4debf7113032.png)

  Upgraded WSL to 17.04 and tried building 3255d6347b using these instructions.
  ![ubuntu 17 04](https://user-images.githubusercontent.com/863730/30235669-b7473434-953d-11e7-8ea3-d05a319ae2d4.png)

  If someone else could also verify that builds are working on both 14.04 and 17.04 with these instructions, that would be great.

Tree-SHA512: 866f1003eb45d208d8ae849504f54fc2f27c32240129d2124ce5a2ee7167bcbf062d29f23b1745123f532ffd0253a8611e719b2a316d1331d3c3924f91e7775d
2017-10-05 18:06:10 +02:00
Wladimir J. van der Laan 7f11ef2608
Merge #9937: rpc: Prevent `dumpwallet` from overwriting files
0cd9273 rpc: Prevent `dumpwallet` from overwriting files (Wladimir J. van der Laan)

Pull request description:

  Prevent arbitrary files from being overwritten by `dumpwallet`. There have been reports that users have overwritten wallet files this way. It may also avoid other security issues.

  Fixes #9934. Adds mention to release notes and adds a test.

Tree-SHA512: 268c98636d40924d793b55a685a0b419bafd834ad369edaec08227ebe26ed4470ddea73008d1c4beb10ea445db1b0bb8e3546ba8fc2d1a411ebd4a0de8ce9120
2017-10-04 15:01:24 +02:00
fanquake 696ce46306
[Docs] Update Windows build instructions for using WSL and Ubuntu 17.04 2017-10-03 07:49:25 +08:00
Donal OConnor 4f890ba6bc
Add new step to clean $PATH var by removing /mnt specific Window's %PATH% paths that cause issues with the make system 2017-10-02 18:28:53 +08:00
Wladimir J. van der Laan 0cd9273fd9 rpc: Prevent `dumpwallet` from overwriting files
Prevent arbitrary files from being overwritten. There have been reports
that users have overwritten wallet files this way. It may also avoid
other security issues.

Fixes #9934. Adds mention to release notes and adds a test.
2017-09-26 16:12:47 +02:00
MarcoFalke fa082b4ee0 doc: move gitian building to external repo
This reduces the overhead in the git repo due to binary blobs of
the png files.

Also, the documentation can be updated independent of any tags and
release cycles.
2017-09-25 15:45:38 +02:00
Wladimir J. van der Laan a3b4c5943b
Merge #11392: Fix stale link in gitian-building.md
204cc98 fix  link error (Shooter)

Pull request description:

  The  `perform-gitian-builds`  is  not  exist,
  replace  `perform-gitian-builds` with  `setup-and-perform-gitian-builds`.

Tree-SHA512: c4f3fb4b6ae502a2e7a6857d3075734d493f549871b80ec00a2733ee689b00f98aa67ce7c3b7facf1ae4949b7845e1e2ef6f727aeca0c88c00b46d77b4d7e570
2017-09-25 11:48:26 +02:00
Pieter Wuille 12ed800ab8
Merge #11390: [docs] document scripted-diff
90ab62c45 [docs] document scripted-diff (John Newbery)

Pull request description:

  Document scripted-diffs in developer-notes.md

  I sometimes comment on PRs that a scripted-diff would be appropriate, but I don't have any documentation to point to. Fix that.

Tree-SHA512: 7d4a14b9217c812e4c27601e5e6dd8054cf5104cd20ecbe1ec0a84c217cc4b0645b7c0d2e3a89fdd4d059cafbc388acbddba75a430308f8279200b9383e009de
2017-09-24 17:38:59 -07:00
John Newbery 90ab62c451 [docs] document scripted-diff 2017-09-24 08:16:48 -04:00
Shooter 204cc98261 fix link error
The  `perform-gitian-builds`  is  not  exists,
repalce  `perform-gitian-builds` with  `setup-and-perform-gitian-builds`.
2017-09-24 17:39:41 +08:00
Wladimir J. van der Laan 10a20bf770
Merge #11338: qt: Backup former GUI settings on `-resetguisettings`
723aa1b qt: Backup former GUI settings on `-resetguisettings` (Wladimir J. van der Laan)

Pull request description:

  Writes the GUI settings to `guisettings.bak` in the data directory before wiping them. This can be used to retroactively troubleshoot issues (e.g. #11262) where `-resetguisettings` solves the problem.
  (as discussed in yesterday's IRC meeting)

Tree-SHA512: c64f5052d992eb02057ba285435f143c42d0cc456144a4c565e1c87be833737f9df750d0aee10810f85047c820d9b4f9f22fd94a6f09f4b28a9cf41b63a56586
2017-09-23 09:40:28 +02:00
Wladimir J. van der Laan 723aa1b875 qt: Backup former GUI settings on `-resetguisettings`
Writes the GUI settings to `guisettings.bak` in the data directory
before wiping them. This can be used to retroactively troubleshoot
issues (e.g. #11262) where `-resetguisettings` solves the problem.
2017-09-23 09:34:53 +02:00
Wladimir J. van der Laan 2847480275
Merge #11305: [doc] Update release notes and manpages for 0.16
fa65dcd doc: Update release notes for 0.16.0 (MarcoFalke)
fa2c3b6 doc: Bump manpages to 0.15.99 (MarcoFalke)

Pull request description:

  This updates the release notes for the breaking changes to `-usehd` option and the `getinfo` rpc.
  Also, bumps the manpages to current master.

Tree-SHA512: 55b74375fa680d6043882e3cc37bc655840c9e719d67f60d4d615c10399d570cf6ed4dc338635be80d4044d4ed12cebde1370729ccb6794182e6d9c9910dab04
2017-09-20 18:52:42 +02:00
Wladimir J. van der Laan 1ab1b687cb
doc: Add release notes for 0.15.0.1
Tree-SHA512: 488ee6fda9f9d2eb1c4d78f37d7b21c019ca70dc1899ef7dd275b5ef615fb5afebd6805147649753dd3497e2e98bfb2c601d8c3cffed04781652f84c9c0d32e5
2017-09-19 15:03:42 +02:00
Wladimir J. van der Laan 86700d3d05
doc: add release-notes for 0.15.0 to master
Tree-SHA512: 0f72b10ac60c3da0847fb9c3b20015566c3bd05f121fa588527828de66cb87e2fe18d463f3cc92b582ab12e4c9362fdd71f3f9a7b014fedb463925d3fa51a7f7
2017-09-14 14:52:32 +02:00
MarcoFalke b148803b18
Merge #11264: [doc] Fix broken Markdown table in dependencies.md
b8d91e03a [Docs] Fix broken Markdown table in dependencies.md. Cleanups. (practicalswift)

Pull request description:

  Changes made to `dependencies.md`:
  * Fix broken table Markdown.
  * Use correct capitalization.
  * Sort dependencies.
  * Minor cleanups.

Tree-SHA512: ff3826dd779a8593738ef5297889a7d28a716220f75af77f63f425206441537738cc589d67f387b9356577b227673b028a61849ee08dd757a311923033fe7271
2017-09-12 19:42:06 +02:00
MarcoFalke fa65dcdda0 doc: Update release notes for 0.16.0 2017-09-12 09:56:13 +02:00
MarcoFalke fa2c3b6cf7 doc: Bump manpages to 0.15.99 2017-09-12 09:55:21 +02:00
Matt Corallo 6f703e9bf1 Add release notes describing blockmaxweight deprecation 2017-09-11 15:51:26 -04:00
practicalswift b8d91e03a9 [Docs] Fix broken Markdown table in dependencies.md. Cleanups.
Use the correct capitalization for the dependencies

Sort dependencies

Fix header formatting. Minor style cleanups.
2017-09-08 09:44:20 +02:00
Wladimir J. van der Laan f65614726d
Merge #10779: Create dependencies.md
e91b96192 Create dependencies.md, and link dependencies file from README & build docs (flack)

Pull request description:

  As @fanquake mentioned in #8639, this should probably be a file in `doc/`, so I went ahead and pulled the issue text via the github API and dumped it into a file. No modifications made, except one spelling fix. This makes the info easier to find, and it will get a proper version history, too.

Tree-SHA512: 6ba4c37c97200972a74724e0e346d6ad5947c01ad18638e15250f2b4cd747dd744aba16e306c98d59f35736542a5eded7a17b6a5ce6aebc63c0a9dc969b365ef
2017-09-07 02:49:14 +02:00
Matt Corallo aece8a4637 (finally) remove getinfo in favor of more module-specific infos 2017-09-06 16:10:04 -07:00
flack e91b961923 Create dependencies.md, and link dependencies file from README & build docs 2017-09-07 00:34:27 +02:00
Wladimir J. van der Laan 21e2f2f799
Merge #11135: Update developer notes with RPC response guidelines
62ecce75e [doc] Add RPC response notes (João Barbosa)

Pull request description:

Tree-SHA512: 795969813eefab47ac03050bd70762fc36d86edb00bdfe1ba76837a810370d61dc88749c51153bd3949eb3885f084b4ba8736b4bbf90dfef65e3fe1939304bd8
2017-09-06 19:39:00 +02:00