aboutsummaryrefslogtreecommitdiff
path: root/contrib
AgeCommit message (Collapse)Author
2021-04-05guix: Build dmg as a static binaryCarl Dong
This relatively easy change eliminates all runtime dependencies (except for the kernel) for dmg, which is the only native build tool that gets put in our output tarballs. This allows much more flexibility when constructing the codesigning environment, and is much more robust.
2021-04-05guix: Remove codesign_allocate+pagestuff from unsigned tarballCarl Dong
2021-04-05guix: Use clang-toolchain instead of clangCarl Dong
2021-04-05guix: Fallback to local build for substitute-enabled Guix usersCarl Dong
2021-04-05guix: Add early health check for guix-daemonCarl Dong
2021-04-05guix: More thoroughly control native toolchainCarl Dong
2021-04-05guix: Supply --link-profileCarl Dong
2021-04-05guix: Add troubleshooting documentation entriesCarl Dong
2021-04-05guix: Adapt guix-build to prelude, restructure hierCarl Dong
2021-04-05guix: Remove guix-build.sh filename extensionCarl Dong
2021-04-05guix: Add source-able bash prelude and utilsCarl Dong
2021-04-05contrib: Add explicit port numbers for testnet seedsW. J. van der Laan
This is necessary now due to parsing change.
2021-04-05contrib: Add a few TorV3 seed nodesW. J. van der Laan
2021-04-05contrib: generate-seeds.py generates output in BIP155 formatW. J. van der Laan
2021-04-02Doc: Copyright: Fix embedded font file locationwodry
2021-04-01guix: Create windeploy inside distsrc-*Carl Dong
./windeploy is a "working directory", and therefore belongs inside distsrc-*. Many people have noticed their Guix builds failing after hours simply because they did not remove windeploy (but did remove the distsrc-* directories).
2021-04-01contrib: Silence git-describe when looking for tagCarl Dong
Otherwise, it prints a rather disturbing message to stderr: fatal: no tag exactly matches '<hash>'
2021-04-01guix: Use --cores instead of --max-jobsCarl Dong
In Guix, there are two flags for controlling parallelism: Note: When I say "derivation," think "package" --cores=n - controls the number of CPU cores to build each derivation. This is the value passed to `make`'s `--jobs=` flag. - defaults to 0: as many cores as is available --max-jobs=n - controls how many derivations can be built in parallel - defaults to 1 Therefore, if set --max-jobs=$MAX_JOBS and don't set --cores, Guix could theoretically spin up $MAX_JOBS * $(nproc) number of threads, and that's no good. So we could either default to --cores=1, --max-jobs=$MAX_JOBS - Pro: --cores=1 means that `make` will be invoked with `-j1`, avoiding problems with package whose build systems and test suites break when running multi-threaded. - Con: There will be times when only 1 or 2 derivations can be built at a time, because the rest of the dependency graph all depend on those 1 or 2 derivations. During these times, the machine will be severely under-utilized. or --cores=$MAX_JOBS, --max-jobs=1 - Pro: We don't encounter prolonged periods of severe under-utilization mentioned above. - Con: Many packages' build systems and test suites break when running multi-threaded. or --cores=1, --max-jobs=1 and let the user override with $ADDITIONAL_GUIX_COMMON_FLAGS
2021-04-01Merge #21300: script: Add explanatory comment to tc.shfanquake
3a0446fad470595db09929695ff02debe12bd4cd script: Add explanatory comment to tc.sh (dscotese) Pull request description: This is a replacement for #21289 tc.sh is used to limit bandwidth. I ran it and it is limiting my bandwidth. When I ran it, I got one error. I have not found an explanation anywhere of what the error means, but my best guess is consistent with the result, so I propose the explanatory comment to save others time when they use it and also get the error. ACKs for top commit: laanwj: that said, LGTM ACK 3a0446fad470595db09929695ff02debe12bd4cd Tree-SHA512: 5403a2a0fec3724625c20402a96334c3c7a620324a930c5fd828017da8911d2867aecb7a2ad94a23d1f189009d3eb197a67eb59c8e4531fd215d9b1edb600440
2021-03-22Merge #21418: contrib: Make systemd invoke dependencies only when readyWladimir J. van der Laan
663f6cd9ddadeec30b27ec12f0f5ed49f3146cc9 contrib: Use -daemonwait in systemd init script (Wladimir J. van der Laan) Pull request description: Make systemd invoke dependencies only when ready by using `-daemonwait` in the service file instead of `-daemon`. Closes #21322 by making bitcoind conform to behavior specified for `type=forking`. This may need some tuning of timeouts. ACKs for top commit: darosior: ACK 663f6cd hebasto: re-ACK 663f6cd9ddadeec30b27ec12f0f5ed49f3146cc9 Tree-SHA512: 890005852b632a202caa578e6c796ebdc9da0b2379a9157a4f56f7db9d193c0ffbb78d120bbf112ab2f273855f2a08c3da000b1f7a9fb5222a3b94dcdb16b878
2021-03-22contrib: Use -daemonwait in systemd init scriptWladimir J. van der Laan
Closes #21322 by making bitcoind conform to behavior specified for `type=forking`.
2021-03-19Doc: Tell howto install clang-format on Debian/Ubuntuwodry
Because only macOS wasy mentioned, I was unsure if this would be a macOS specific tool. I guess Linux is more used than Mac, so Linux guide should be there, too.
2021-03-18bugfix: fix bech32_encode calls in gen_key_io_test_vectors.pyPieter Wuille
2021-03-18Merge #20861: BIP 350: Implement Bech32m and use it for v1+ segwit addressesWladimir J. van der Laan
03346022d611871f2cc185440b19d928b9264d9d naming nits (Fabian Jahr) 2e7c80fb5be82ad4a3f737cab65b31f70a772a23 Add signet support to gen_key_io_test_vectors.py (Pieter Wuille) fe5e495c31de47b0ec732b943db11fe345d874af Use Bech32m encoding for v1+ segwit addresses (Pieter Wuille) 25b1c6e13ddf1626210d5e3d37298d1f3a78a94f Add Bech32m test vectors (Pieter Wuille) da2bb6976dadeec682d163c258c9afecc87d6428 Implement Bech32m encoding/decoding (Pieter Wuille) Pull request description: This implements [BIP 350](https://github.com/bitcoin/bips/blob/master/bip-0350.mediawiki): * For segwit v1+ addresses, a new checksum algorithm called Bech32m is used. * Segwit v0 address keep using Bech32 as specified in [BIP 173](https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki). ACKs for top commit: Sjors: utACK 0334602 jnewbery: utACK 03346022d6 achow101: ACK 0334602 fjahr: re-ACK 0334602 benthecarman: ACK 03346022d611871f2cc185440b19d928b9264d9d Tree-SHA512: 4424cfd44869d813d6152fb3ed867b204036736bc2344a039b93700b6f36a43e9110478f138eb81c97c77ab27ecb776dada5ba632cb5a3a9d244924d2540a557
2021-03-18Merge #21428: test: Cleanup in test-{security,symbol}-check.pyfanquake
0fc0c00f7ab1a90bf673ba1a01b021d3b1fa7df0 test: Drop unused get_machine function (Hennadii Stepanov) 61a0f8f9cc2592dc39bb71a88c61d8da05771da0 test: Cleanup test files in test-{security,symbol}-check.py (Hennadii Stepanov) Pull request description: 1) Test source and executable files are neither ignored by `.gitignore` nor removed by `make clean` and `make distclean`. 2) The `get_machine` function is no longer used since #21255. ACKs for top commit: fanquake: ACK 0fc0c00f7ab1a90bf673ba1a01b021d3b1fa7df0 Tree-SHA512: ef3fcf22d4a04b6e4f37f748bd4be57e09696d2a77982e26292843cb2a1297789c8325f5c4bdad37d8094fce7765c4cc9ab19809e07471487943361b2b1a252c
2021-03-16Add signet support to gen_key_io_test_vectors.pyPieter Wuille
2021-03-16Use Bech32m encoding for v1+ segwit addressesPieter Wuille
This also includes updates to the Python test framework implementation, test vectors, and release notes.
2021-03-15Merge #21437: gitian, ci: Drop unneeded python3-dev package for macOS buildsfanquake
e4c0cada791135e2d0a36638541c03feff0bd6bc ci, gitian: Drop unneeded python3-dev package for macOS builds (Hennadii Stepanov) Pull request description: ACKs for top commit: fanquake: ACK e4c0cada791135e2d0a36638541c03feff0bd6bc - gitian builds match and I checked that this doesn't end up installed as a side-effect of another package. Tree-SHA512: 520a3909b106a0e005b195c5395691edf62b76ee2df43b6971b7aa193648d68e6dac69cb4f1dc474f594b015a2fc2074061865e571d89365174beb5c1780356f
2021-03-14ci, gitian: Drop unneeded python3-dev package for macOS buildsHennadii Stepanov
2021-03-13Merge #21111: Improve OpenRC initscriptMarcoFalke
95f97111dd27f32dfcb461c9dd6890aa8d1355ed contrib/init: (OpenRC) quote some unquoted variables. (parazyd) 737feadff7c026412039774de0d10931fe0c5bcc contrib/init: (OpenRC) Do not fail if both rpcuser and rpcpassword are unset. (parazyd) Pull request description: This pull request improves the available OpenRC initscripts in `contrib/init`. The first commit (737feadff7c026412039774de0d10931fe0c5bcc) reworks `checkconfig()` to not fail if **both** `rpcuser` and `rpcpassword` are unset, because this implies that bitcoind shall use the `.cookie` file for RPC authentication. Currently, the initscript does not allow starting bitcoind without a set `rpcuser` and `rpcpassword`. The second commit (95f97111dd27f32dfcb461c9dd6890aa8d1355ed) simply quotes some unquoted variables. ACKs for top commit: kristapsk: ACK 95f97111dd27f32dfcb461c9dd6890aa8d1355ed Tree-SHA512: 62bebcd07143c147e349c0cfc17b54ef21bd4684377b444f58c6bd1f509a4d3e1af58746fa7215f18e33021f691bbbc5e42f4df497458322b055e545b7f30d46
2021-03-13test: Drop unused get_machine functionHennadii Stepanov
The removed get_machine function is no longer used since #21255.
2021-03-13test: Cleanup test files in test-{security,symbol}-check.pyHennadii Stepanov
2021-03-10build: qt 5.12.10fanquake
remove fix_configure_mac.patch Fixed upstream: https://bugreports.qt.io/browse/QTBUG-67286 remove fix_riscv64_arch.patch Was fixed upstream in 6a39e49a6cdeb28a04a3657bb6a22f848d5dfa9d remove fix_rcc_determinism.patch Fixed upstream in https://bugreports.qt.io/browse/QTBUG-62511 remove freetype_back_compat.patch By the time we ship a release with Qt 5.12, we'll certainly no-longer be supporting Ubuntu 14.04 and Ubuntu 16.04 ships with FreeType 2.6.1, which is new enough that using the symbol is no-longer an issue. The renaming of FT_Get_X11_Font_Format() happened in FreeType 2.6 remove xkb-default.patch This was removed upstream in d5abf545971da717014d316127045fc19edbcd65 Co-authored-by: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com>
2021-03-10build: Add xkbcommon 0.8.4Hennadii Stepanov
Co-authored-by: fanquake <fanquake@gmail.com>
2021-03-05Merge #21354: build, doc: Drop no longer required packages from macOS ↵fanquake
cross-compiling dependencies f7f3829a68df173c54ab11ecfe162b840afb64e8 build, doc: Drop libbz2-dev from macOS cross-compiling dependencies (Hennadii Stepanov) d8239362e283107657a5a6577890fdb198a1d334 build, doc: Drop libcap-dev from macOS cross-compiling dependencies (Hennadii Stepanov) Pull request description: The `libcap-dev` and `libbz2-dev` packages are no longer required when cross-compiling for macOS. ACKs for top commit: fanquake: ACK f7f3829a68df173c54ab11ecfe162b840afb64e8 Tree-SHA512: 820cdc2724f3346c0942d4d4115fc7206f7bf02889d9fa6cbdbd1d9e3afa03a067c1c3fa64dff596aefdc74898178b7c7d64027a6501486e3b606f4760de04ae
2021-03-03build, doc: Drop libbz2-dev from macOS cross-compiling dependenciesHennadii Stepanov
2021-03-03build, doc: Drop libcap-dev from macOS cross-compiling dependenciesHennadii Stepanov
2021-03-03guix: Remove libcap from manifestHennadii Stepanov
2021-03-03guix: Update darwin native packages dependenciesHennadii Stepanov
2021-03-02Merge #21325: lint: Fix spelling errors in commentsfanquake
fbbb2d4fc13971c98c83a51635166ac532e71a32 lint: Fix spelling errors in comments (fyquah) Pull request description: Found some spelling errors while running spelling linter https://github.com/bitcoin/bitcoin/pull/21245 This PR fixes them. ACKs for top commit: fanquake: ACK fbbb2d4fc13971c98c83a51635166ac532e71a32 - I thought we just fixed all of these. Tree-SHA512: 95525040001f94e899b778c616cb66ebafb679dff88835b66fccf6349d8eb942d6b7374c536a44e393f13156bce9a32ed57e6a82bb02074d2b3cddb2696addb2
2021-03-02Merge #21298: guix: Bump time-machine, glibc, and linux-headersfanquake
c33b199456e57d83c21eacd36d3c56d0a123b0d0 guix: Bump glibc and linux-headers (Carl Dong) 65363a1bd8b886f5aef5fbc97ca88c9c9b243b21 guix: Rebase on 95aca2991b (1.2.0-12.dffc918) (Carl Dong) Pull request description: On bumping the time-machine: ``` A few changes which are useful for us: 1. 'gnu: cross-gcc-arguments: Enable 128 bit long double for POWER9.' is now merged into master. 2. gnutls is bumped to 3.6.15 and the temporal test failure in status-request-revoked is fixed. Note that this does not fix the case where one has installed Guix v1.2.0 and is running a substitute-less bootstrap build, since the `guix time-machine` command itself has a dependency on gnutls v3.6.12 (the one with the broken test) and will thus try to build it before attempting to jump forwards in time. This does however, mean that those who build a version of Guix that also contains this fix will not go backwards in time to build the broken gnutls v3.6.12. ``` On bumping the rest: ``` Bump glibc and linux-headers to match those of our Gitian counterparts. We also require a glibc >= 2.28 for the test-symbol-check scripts to work properly. The default BASE-GCC-FOR-LIBC also has to be bumped since glibc 2.31 requires a gcc >= 6.2 ``` This is a prerequisite for #20980 ACKs for top commit: fanquake: ACK c33b199456e57d83c21eacd36d3c56d0a123b0d0 - I think going ahead with this now and to sycn back up to gitian is fine. It will also unblock #20980. Potential code signing related issues can be sorted out in #21239 and later PRs. Tree-SHA512: 31f022aadb93ba44813b0da005b1f2e5d67d76e8cdcdb53368924d1ea6cb076a21218c26831a6b0dcdcfe33507f54934330489ba557371d740f5587b7d727b95
2021-03-02Merge #21323: guix, doc: Update default HOSTS valuefanquake
a0a7a4337d06553ab625bbd66ed4198c4bf7f18c guix, doc: Update default HOSTS value (Hennadii Stepanov) Pull request description: This is a #21089 follow up. ACKs for top commit: fanquake: ACK a0a7a4337d06553ab625bbd66ed4198c4bf7f18c Tree-SHA512: c1813cc2b9212a79fd34d4e25cd0816b58264e1890daf777cd59411bd20fcc9affe312871d06fab1308b8f55c1a78ac1101e631882c18360a4709ecef4529f05
2021-03-01lint: Fix spelling errors in commentsfyquah
2021-03-01guix, doc: Update default HOSTS valueHennadii Stepanov
2021-03-01guix: Add curl to required tool listHennadii Stepanov
2021-02-26Merge #21272: guix: Passthrough SDK_PATH into containerWladimir J. van der Laan
13a9fd11a507fd3398bc2c0a0575bdc81579243f guix: Passthrough SDK_PATH into container (Carl Dong) Pull request description: This is a usability improvement for Guix builders so that they don't have to extract the Xcode tarball into `depends/SDKs` every time. Inspiration: https://github.com/bitcoin/bitcoin/pull/21089#issuecomment-778639698 ACKs for top commit: laanwj: Tested ACK 13a9fd11a507fd3398bc2c0a0575bdc81579243f Tree-SHA512: 63392d537e48a0da9f0ee04a929613b139bef1ac5643187871c9ea5376afd2a3d95df0f5e0950ae0eccd2813b166667be98401e5a248ae9c187fe4e84e54d427
2021-02-25script: Add explanatory comment to tc.shdscotese
2021-02-24guix: Bump glibc and linux-headersCarl Dong
Bump glibc and linux-headers to match those of our Gitian counterparts. We also require a glibc >= 2.28 for the test-symbol-check scripts to work properly. The default BASE-GCC-FOR-LIBC also has to be bumped since glibc 2.31 requires a gcc >= 6.2
2021-02-24guix: Rebase on 95aca2991b (1.2.0-12.dffc918)Carl Dong
A few changes which are useful for us: 1. 'gnu: cross-gcc-arguments: Enable 128 bit long double for POWER9.' is now merged into master. 2. gnutls is bumped to 3.6.15 and the temporal test failure in status-request-revoked is fixed. Note that this does not fix the case where one has installed Guix v1.2.0 and is running a substitute-less bootstrap build, since the `guix time-machine` command itself has a dependency on gnutls v3.6.12 (the one with the broken test) and will thus try to build it before attempting to jump forwards in time. This does however, mean that those who build a version of Guix that also contains this fix will not go backwards in time to build the broken gnutls v3.6.12.
2021-02-23guix: Explicitly set umask in build containerCarl Dong
A difference in system umask value can cause non-determinism when zip archives are produced. Set it to a reasonable default.