BTCP-Rebase/contrib
MarcoFalke e8ffec69f7
Merge #13732: Depends: Fix Qt's rcc determinism
6b5506a286 Fix Qt's rcc determinism for depends/gitian (Fuzzbawls)

Pull request description:

  With the update to Qt 5.9 having been merged, Qt's `rcc` tool now embeds a file's last modified time in it's output. Since the build system generates temporary files for all locale translations (`*.qm` files) at build time, the resulting `qrc_bitcoin_locale.cpp` file was always being generated in a non-deterministic way.

  This is a backport of https://bugreports.qt.io/browse/QTBUG-62511, which is included in Qt versions 5.11+, that allows for an environment variable (`QT_RCC_SOURCE_DATE_OVERRIDE`) to override the behavior described above. This environment variable is in turn set in the gitian descriptors, as that is where determinism is vital for release purposes.

  Prior to this, the `qt_libbitcoinqt_a-qrc_bitcoin_locale.o` object file (included into `libbitcoinqt.a`) was returning a different `sha256sum` for each and every build, regardless of file contents change, thus breaking determinism in the resulting binaries.

  This should fix #13731

Tree-SHA512: 174017e41f9afc3950ef54a9419de81577ec900db9aec3c78ccd3d879c6aecaaeb944fde0615b933f43e6ca9d7898a27ec071cdd0b91cb772755a3012de96725
2018-07-29 08:06:45 -04:00
..
debian [gui] Add proxy icon in statusbar 2018-05-15 23:23:56 +03:00
devtools Tools: fix BIND_NOW check in security-check.py 2018-07-12 13:16:01 -03:00
gitian-descriptors Merge #13732: Depends: Fix Qt's rcc determinism 2018-07-29 08:06:45 -04:00
gitian-keys Corrected text to reflect new[er] process of specifying fingerprints instead of individual keys. 2018-07-09 13:45:51 -04:00
init Obsolete #!/bin/bash shebang 2018-06-20 11:12:41 +03:00
linearize Explicitly specify encoding when opening text files in Python code 2018-06-12 21:34:52 +02:00
macdeploy Obsolete #!/bin/bash shebang 2018-06-20 11:12:41 +03:00
qos Add "export LC_ALL=C" to all shell scripts 2018-06-14 15:27:52 +02:00
rpm Merge #10825: net: set regtest JSON-RPC port to 18443 to avoid conflict with testnet 18332 2017-09-06 01:18:35 +02:00
seeds Explicitly specify encoding when opening text files in Python code 2018-06-12 21:34:52 +02:00
testgen Minor Python cleanups to make flake8 pass with the new rules enabled 2018-04-16 17:25:11 +02:00
verify-commits Obsolete #!/bin/bash shebang 2018-06-20 11:12:41 +03:00
verifybinaries Obsolete #!/bin/bash shebang 2018-06-20 11:12:41 +03:00
windeploy Add "export LC_ALL=C" to all shell scripts 2018-06-14 15:27:52 +02:00
zmq contrib: correct version check 2018-07-18 16:46:19 +09:00
README.md doc: Update broken links to now point to gitian-build.py 2018-07-19 09:33:05 +10:00
bitcoin-cli.bash-completion bash-completion: Adapt for 0.12 and 0.13 2016-07-07 07:52:59 -04:00
bitcoin-qt.pro Rename rpcconsole.ui => debugwindow.ui 2015-09-23 10:27:39 +02:00
bitcoin-tx.bash-completion bash-completion: Adapt for 0.12 and 0.13 2016-07-07 07:52:59 -04:00
bitcoind.bash-completion Fix inconsistencies and grammar in various files 2017-06-27 19:59:07 +12:00
filter-lcov.py Explicitly specify encoding when opening text files in Python code 2018-06-12 21:34:52 +02:00
gitian-build.py [contrib] Add automatic setup for Ubuntu Bionic 2018-07-21 06:05:29 +08:00
install_db4.sh Add "export LC_ALL=C" to all shell scripts 2018-06-14 15:27:52 +02:00
valgrind.supp contrib: Add Valgrind suppressions file 2017-08-16 21:39:31 +02:00

README.md

Repository Tools

Developer tools

Specific tools for developers working on this repository. Contains the script github-merge.py for merging GitHub pull requests securely and signing them using GPG.

Verify-Commits

Tool to verify that every merge commit was signed by a developer using the above github-merge.py script.

Linearize

Construct a linear, no-fork, best version of the blockchain.

Qos

A Linux bash script that will set up traffic control (tc) to limit the outgoing bandwidth for connections to the Bitcoin network. This means one can have an always-on bitcoind instance running, and another local bitcoind/bitcoin-qt instance which connects to this node and receives blocks from it.

Seeds

Utility to generate the pnSeed[] array that is compiled into the client.

Build Tools and Keys

Debian

Contains files used to package bitcoind/bitcoin-qt for Debian-based Linux systems. If you compile bitcoind/bitcoin-qt yourself, there are some useful files here.

Gitian-descriptors

Files used during the gitian build process. For more information about gitian, see the the Bitcoin Core documentation repository.

Gitian-keys

PGP keys used for signing Bitcoin Core Gitian release results.

MacDeploy

Scripts and notes for Mac builds.

RPM

RPM spec file for building bitcoin-core on RPM based distributions.

Gitian-build

Script for running full Gitian builds.

Test and Verify Tools

TestGen

Utilities to generate test vectors for the data-driven Bitcoin tests.

Verify Binaries

This script attempts to download and verify the signature file SHA256SUMS.asc from bitcoin.org.