Go to file
Wladimir J. van der Laan 7a11ba7e01
Merge #11945: Improve BSD compatibility of contrib/install_db4.sh
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-21 09:30:25 +01:00
.github Make default issue text all comments to make issues more readable 2017-11-16 11:50:56 -05:00
.tx qt: Set transifex slug to 0.14 2017-01-02 09:36:03 +01:00
build-aux/m4 Explicitly search for bdb5.3. 2017-07-02 02:48:00 +00:00
contrib Merge #11945: Improve BSD compatibility of contrib/install_db4.sh 2017-12-21 09:30:25 +01:00
depends depends: fix zmq build with mingw < 4.0 2017-11-29 19:31:59 +08:00
doc Merge #11945: Improve BSD compatibility of contrib/install_db4.sh 2017-12-21 09:30:25 +01:00
share Rename rpcuser.py to rpcauth.py 2017-12-06 13:11:02 +00:00
src Merge #11726: Cleanups + nit fixes for walletdir PR 2017-12-20 17:37:57 -05:00
test Merge #11726: Cleanups + nit fixes for walletdir PR 2017-12-20 17:37:57 -05:00
.gitattributes Separate protocol versioning from clientversion 2014-10-29 00:24:40 -04:00
.gitignore [build] .gitignore: add background.tiff 2017-11-06 14:01:26 +01:00
.travis.yml Squashed 'src/univalue/' changes from fe805ea74f..07947ff2da 2017-12-19 16:44:08 -05:00
CONTRIBUTING.md [docs] links to code style guides 2017-11-20 13:47:01 +01:00
COPYING Put back inadvertently removed copyright notices 2017-09-13 07:24:42 +00:00
INSTALL.md Update INSTALL landing redirection notice for build instructions. 2016-10-06 12:27:23 +13:00
Makefile.am Merge #11842: [build] Add missing stuff to clean-local 2017-12-14 17:42:35 +01:00
README.md Rename test/pull-tester/rpc-tests.py to test/functional/test_runner.py 2017-03-20 10:40:31 -04:00
autogen.sh Add MIT license to autogen.sh and share/genbuild.sh 2016-09-21 23:01:36 +00:00
configure.ac [build] Warn that only libconsensus can be built without boost 2017-12-18 14:32:22 +08:00
libbitcoinconsensus.pc.in Unify package name to as few places as possible without major changes 2015-12-14 02:11:10 +00:00

README.md

Bitcoin Core integration/staging tree

Build Status

https://bitcoincore.org

What is Bitcoin?

Bitcoin is an experimental digital currency that enables instant payments to anyone, anywhere in the world. Bitcoin uses peer-to-peer technology to operate with no central authority: managing transactions and issuing money are carried out collectively by the network. Bitcoin Core is the name of open source software which enables the use of this currency.

For more information, as well as an immediately useable, binary version of the Bitcoin Core software, see https://bitcoin.org/en/download, or read the original whitepaper.

License

Bitcoin Core is released under the terms of the MIT license. See COPYING for more information or see https://opensource.org/licenses/MIT.

Development Process

The master branch is regularly built and tested, but is not guaranteed to be completely stable. Tags are created regularly to indicate new official, stable release versions of Bitcoin Core.

The contribution workflow is described in CONTRIBUTING.md.

The developer mailing list should be used to discuss complicated or controversial changes before working on a patch set.

Developer IRC can be found on Freenode at #bitcoin-core-dev.

Testing

Testing and code review is the bottleneck for development; we get more pull requests than we can review and test on short notice. Please be patient and help out by testing other people's pull requests, and remember this is a security-critical project where any mistake might cost people lots of money.

Automated Testing

Developers are strongly encouraged to write unit tests for new code, and to submit new unit tests for old code. Unit tests can be compiled and run (assuming they weren't disabled in configure) with: make check. Further details on running and extending unit tests can be found in /src/test/README.md.

There are also regression and integration tests, written in Python, that are run automatically on the build server. These tests can be run (if the test dependencies are installed) with: test/functional/test_runner.py

The Travis CI system makes sure that every pull request is built for Windows, Linux, and OS X, and that unit/sanity tests are run automatically.

Manual Quality Assurance (QA) Testing

Changes should be tested by somebody other than the developer who wrote the code. This is especially important for large or high-risk changes. It is useful to add a test plan to the pull request description if testing the changes is not straightforward.

Translations

Changes to translations as well as new translations can be submitted to Bitcoin Core's Transifex page.

Translations are periodically pulled from Transifex and merged into the git repository. See the translation process for details on how this works.

Important: We do not accept translation changes as GitHub pull requests because the next pull from Transifex would automatically overwrite them again.

Translators should also subscribe to the mailing list.