Skip to content

Commit 3bf58b2

Browse files
committed
Merge #262: Sync with the main repo
Pull request description: Sync with the main repo up to the latest bitcoin/bitcoin@b92d609. Guix builds: ``` 538e5ce4ff6657a5915c58bec2988c10f02a85a64fa19ce2e3b210235c7daaed guix-build-c83e581b0951/output/aarch64-linux-gnu/SHA256SUMS.part 2c085a288513eecf2a6c7e3dfc10000347f51c806eb54cf21be3f25eee0ce46a guix-build-c83e581b0951/output/aarch64-linux-gnu/bitcoin-c83e581b0951-aarch64-linux-gnu-debug.tar.gz 4402fcea36b818919c016faff44a2dfafc1d0da74a74dfab43024e5b344afd28 guix-build-c83e581b0951/output/aarch64-linux-gnu/bitcoin-c83e581b0951-aarch64-linux-gnu.tar.gz b1feb8723a0918c18cfba1c7d5b98584d582cf916e1866266ea941278e4b8019 guix-build-c83e581b0951/output/arm-linux-gnueabihf/SHA256SUMS.part 8c9dc80d550723cac16d6a6cc921c3e854d7be7b085cf73db4090509308caa8a guix-build-c83e581b0951/output/arm-linux-gnueabihf/bitcoin-c83e581b0951-arm-linux-gnueabihf-debug.tar.gz fb3336ea1823acf53426ee9b02423ebbd26ee99c0287e01639906aeb4c505669 guix-build-c83e581b0951/output/arm-linux-gnueabihf/bitcoin-c83e581b0951-arm-linux-gnueabihf.tar.gz f37f4fafffd6c71f2f29c097309c34e2ac20768ab18c37c755a113aedfc741a4 guix-build-c83e581b0951/output/arm64-apple-darwin/SHA256SUMS.part d9bc94004414195a38648210cffb9f66c72aa308edc2416785fd0747abb99742 guix-build-c83e581b0951/output/arm64-apple-darwin/bitcoin-c83e581b0951-arm64-apple-darwin-unsigned.dmg eaa05154ade194ae6cfc77f5f8e0aba05ce4c5ffd1c0a64d967ac6a9a902d3ff guix-build-c83e581b0951/output/arm64-apple-darwin/bitcoin-c83e581b0951-arm64-apple-darwin-unsigned.tar.gz 13e7d462e4e4f7ec9d893c003ebef1ce2be96805f81a3499180685f8ef0413b8 guix-build-c83e581b0951/output/arm64-apple-darwin/bitcoin-c83e581b0951-arm64-apple-darwin.tar.gz 6402b212067ad1abe334a42f57bf28051cec0c3196ff0eac0bdda2f929723e7e guix-build-c83e581b0951/output/dist-archive/bitcoin-c83e581b0951.tar.gz d35b0f60d6a29e10527d2804976d6599866e7756cbe660b0b3f5a0e372872c05 guix-build-c83e581b0951/output/powerpc64-linux-gnu/SHA256SUMS.part afd83b86ebebeb29364ee172fd55292df3afcf05f516ee3994f2e60feb2bfa33 guix-build-c83e581b0951/output/powerpc64-linux-gnu/bitcoin-c83e581b0951-powerpc64-linux-gnu-debug.tar.gz eedd9b4b8dd94bf9487ccfa23f6413bf43a5be9a59521ba9a0bd041b7b48cd2c guix-build-c83e581b0951/output/powerpc64-linux-gnu/bitcoin-c83e581b0951-powerpc64-linux-gnu.tar.gz e6c4c4d0dab4fafaff6532cc33a034bebf17df3653e018ee8051b888c8a609f6 guix-build-c83e581b0951/output/powerpc64le-linux-gnu/SHA256SUMS.part d1d3d66241a72fabfb66c3abd695284eb177883cce05a6aef7ba8023ab0c7c57 guix-build-c83e581b0951/output/powerpc64le-linux-gnu/bitcoin-c83e581b0951-powerpc64le-linux-gnu-debug.tar.gz 9ca75e18990ac4dd1990a7dac626840877cd97462e043bcbd45aec46b0df54ba guix-build-c83e581b0951/output/powerpc64le-linux-gnu/bitcoin-c83e581b0951-powerpc64le-linux-gnu.tar.gz a8841022a27166c6409054db46e8238899ac69aea170cc0812b0b52da7268da6 guix-build-c83e581b0951/output/riscv64-linux-gnu/SHA256SUMS.part d2b88b3e507a9cb9d97e5b427d152bc654203bbad9ef3515a3f1df1dcc22dc98 guix-build-c83e581b0951/output/riscv64-linux-gnu/bitcoin-c83e581b0951-riscv64-linux-gnu-debug.tar.gz 1ce80df97a505b4dd9adde007297fa158b0607a0d019acc00777dd51cbb926f5 guix-build-c83e581b0951/output/riscv64-linux-gnu/bitcoin-c83e581b0951-riscv64-linux-gnu.tar.gz 5a65b1c10d9b4e4c20f200fdb9263d98fd5875b553d921028aae2697adff28da guix-build-c83e581b0951/output/x86_64-apple-darwin/SHA256SUMS.part 6466d008fce54d4bbd302326e42c76ec7ede2c357b208d69b5a1e29b2ee2da1e guix-build-c83e581b0951/output/x86_64-apple-darwin/bitcoin-c83e581b0951-x86_64-apple-darwin-unsigned.dmg afe3f4baf774c935553c801091dd69eec208609a67aa559d121380290030c29e guix-build-c83e581b0951/output/x86_64-apple-darwin/bitcoin-c83e581b0951-x86_64-apple-darwin-unsigned.tar.gz 8515b889fa3ba9acebff23fb9f538d1f85e03c56cbe604f18bc8ce36ca4fea7b guix-build-c83e581b0951/output/x86_64-apple-darwin/bitcoin-c83e581b0951-x86_64-apple-darwin.tar.gz f8ae99e081f08078a7ea532671d808697db1c7b31f29b553dc2e1b218592963d guix-build-c83e581b0951/output/x86_64-linux-gnu/SHA256SUMS.part d8e7e66b4db7912bb32e79042d0fb34652126343201edfc8b86f9ec634e76f79 guix-build-c83e581b0951/output/x86_64-linux-gnu/bitcoin-c83e581b0951-x86_64-linux-gnu-debug.tar.gz 7bb14d6021f3b351b3cfc5a6b2d2f208d95a76f300fb5bee3364de49d3ce28be guix-build-c83e581b0951/output/x86_64-linux-gnu/bitcoin-c83e581b0951-x86_64-linux-gnu.tar.gz 41eb53095fcc9dd1d818fcc870dda2930d00594d10834fbe47f79ea3fb6d1cec guix-build-c83e581b0951/output/x86_64-w64-mingw32/SHA256SUMS.part 2f46b0e136ecb409be6fd1a7c940fe98e258b682976e3d607b3bf18be647f832 guix-build-c83e581b0951/output/x86_64-w64-mingw32/bitcoin-c83e581b0951-win64-debug.zip 67121297d59b0cd392adc91552b6a1958b2f6f034552d372e3c566139fe14651 guix-build-c83e581b0951/output/x86_64-w64-mingw32/bitcoin-c83e581b0951-win64-setup-unsigned.exe d07fae06c8bdafd522ce5e3dde84e1702a20f27874479113b26aa7fb83c4bf55 guix-build-c83e581b0951/output/x86_64-w64-mingw32/bitcoin-c83e581b0951-win64-unsigned.tar.gz 8c652400bdc6f19a9b10feefa262f0492513aee4635ef6989473a907eaae94ab guix-build-c83e581b0951/output/x86_64-w64-mingw32/bitcoin-c83e581b0951-win64.zip ``` [![Windows](https://img.shields.io/badge/OS-Windows-green)](https://api.cirrus-ci.com/v1/artifact/github/bitcoin-core/gui-qml/win64/insecure_win_gui.zip?branch=pull/262) [![Intel macOS](https://img.shields.io/badge/OS-Intel%20macOS-green)](https://api.cirrus-ci.com/v1/artifact/github/bitcoin-core/gui-qml/macos/insecure_mac_gui.zip?branch=pull/262) [![Apple Silicon macOS](https://img.shields.io/badge/OS-Apple%20Silicon%20macOS-green)](https://api.cirrus-ci.com/v1/artifact/github/bitcoin-core/gui-qml/macos_arm64/insecure_mac_arm64_gui.zip?branch=pull/262) [![ARM64 Android](https://img.shields.io/badge/OS-Android-green)](https://api.cirrus-ci.com/v1/artifact/github/bitcoin-core/gui-qml/android/insecure_android_apk.zip?branch=pull/262) ACKs for top commit: johnny9: ACK c83e581 Tree-SHA512: 8e912409c59f58dece9eb3567f3a457aed07cf29a031d72d8fe794f4614435b2819ba598addf143f1ceea4a19f26898222b3838b83e06df155e0b2c1ada33cd6
2 parents 7b8b81c + c83e581 commit 3bf58b2

File tree

100 files changed

+791
-652
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

100 files changed

+791
-652
lines changed

.cirrus.yml

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ main_template: &MAIN_TEMPLATE
3939
ci_script:
4040
- ./ci/test_run_all.sh
4141

42-
global_task_template: &GLOBAL_TASK_TEMPLATE
42+
container_depends_template: &CONTAINER_DEPENDS_TEMPLATE
4343
<< : *BASE_TEMPLATE
4444
container:
4545
# https://cirrus-ci.org/faq/#are-there-any-limits
@@ -49,15 +49,10 @@ global_task_template: &GLOBAL_TASK_TEMPLATE
4949
memory: 8G # Set to 8GB to avoid OOM. https://cirrus-ci.org/guide/linux/#linux-containers
5050
depends_built_cache:
5151
folder: "depends/built"
52-
fingerprint_script: echo $CIRRUS_TASK_NAME $(git rev-list -1 HEAD ./depends)
53-
<< : *MAIN_TEMPLATE
52+
fingerprint_script: echo $CIRRUS_TASK_NAME $(git rev-parse HEAD:depends)
5453

55-
macos_native_task_template: &MACOS_NATIVE_TASK_TEMPLATE
56-
<< : *BASE_TEMPLATE
57-
check_clang_script:
58-
- clang --version
59-
brew_install_script:
60-
- brew install boost libevent qt@5 miniupnpc libnatpmp ccache zeromq qrencode libtool automake gnu-getopt
54+
global_task_template: &GLOBAL_TASK_TEMPLATE
55+
<< : *CONTAINER_DEPENDS_TEMPLATE
6156
<< : *MAIN_TEMPLATE
6257

6358
compute_credits_template: &CREDITS_TEMPLATE
@@ -207,8 +202,8 @@ task:
207202

208203
task:
209204
name: 'Win64 [unit tests, no gui tests, no boost::process, no functional tests] [jammy]'
210-
<< : *GLOBAL_TASK_TEMPLATE
211205
alias: win64
206+
<< : *GLOBAL_TASK_TEMPLATE
212207
container:
213208
image: ubuntu:jammy
214209
env:
@@ -314,14 +309,14 @@ task:
314309

315310
task:
316311
name: 'macOS 10.15 [gui, no tests] [focal]'
317-
<< : *BASE_TEMPLATE
312+
alias: macos
313+
<< : *CONTAINER_DEPENDS_TEMPLATE
314+
container:
315+
image: ubuntu:focal
318316
macos_sdk_cache:
319317
folder: "depends/SDKs/$MACOS_SDK"
320318
fingerprint_key: "$MACOS_SDK"
321319
<< : *MAIN_TEMPLATE
322-
alias: macos
323-
container:
324-
image: ubuntu:focal
325320
env:
326321
MACOS_SDK: "Xcode-12.2-12B45b-extracted-SDK-with-libcxx-headers"
327322
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
@@ -335,12 +330,12 @@ task:
335330

336331
task:
337332
name: 'macOS arm64 [gui, no tests] [jammy]'
333+
alias: macos_arm64
338334
<< : *BASE_TEMPLATE
339335
macos_sdk_cache:
340336
folder: "depends/SDKs/$MACOS_SDK"
341337
fingerprint_key: "$MACOS_SDK"
342338
<< : *MAIN_TEMPLATE
343-
alias: macos_arm64
344339
container:
345340
image: ubuntu:jammy
346341
env:
@@ -359,26 +354,31 @@ task:
359354
macos_instance:
360355
# Use latest image, but hardcode version to avoid silent upgrades (and breaks)
361356
image: ghcr.io/cirruslabs/macos-ventura-xcode:14.1 # https://cirrus-ci.org/guide/macOS
362-
<< : *MACOS_NATIVE_TASK_TEMPLATE
357+
<< : *BASE_TEMPLATE
358+
check_clang_script:
359+
- clang --version
360+
brew_install_script:
361+
- brew install boost libevent qt@5 miniupnpc libnatpmp ccache zeromq qrencode libtool automake gnu-getopt
362+
<< : *MAIN_TEMPLATE
363363
env:
364364
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
365365
CI_USE_APT_INSTALL: "no"
366366
PACKAGE_MANAGER_INSTALL: "echo" # Nothing to do
367367
FILE_ENV: "./ci/test/00_setup_env_mac_native_arm64.sh"
368368

369369
task:
370-
name: 'ARM64 Android APK [focal]'
371-
<< : *BASE_TEMPLATE
370+
name: 'ARM64 Android APK [jammy]'
371+
alias: android
372+
<< : *CONTAINER_DEPENDS_TEMPLATE
373+
container:
374+
image: ubuntu:jammy
372375
android_sdk_cache:
373376
folder: "depends/SDKs/android"
374377
fingerprint_key: "ANDROID_API_LEVEL=28 ANDROID_BUILD_TOOLS_VERSION=28.0.3 ANDROID_NDK_VERSION=23.2.8568313"
375378
depends_sources_cache:
376379
folder: "depends/sources"
377-
fingerprint_script: git rev-list -1 HEAD ./depends
380+
fingerprint_script: git rev-parse HEAD:depends/packages
378381
<< : *MAIN_TEMPLATE
379-
alias: android
380-
container:
381-
image: ubuntu:focal
382382
env:
383383
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
384384
FILE_ENV: "./ci/test/00_setup_env_android.sh"

REVIEWERS

Lines changed: 0 additions & 17 deletions
This file was deleted.

ci/test/00_setup_env_android.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ export LC_ALL=C.UTF-8
99
export HOST=aarch64-linux-android
1010
export PACKAGES="unzip openjdk-8-jdk gradle"
1111
export CONTAINER_NAME=ci_android
12-
export CI_IMAGE_NAME_TAG="ubuntu:focal"
12+
export CI_IMAGE_NAME_TAG="ubuntu:jammy"
1313

1414
export RUN_UNIT_TESTS=false
1515
export RUN_FUNCTIONAL_TESTS=false

ci/test/00_setup_env_i686_centos.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ export CI_IMAGE_NAME_TAG=quay.io/centos/centos:stream8
1212
export CI_BASE_PACKAGES="gcc-c++ glibc-devel.x86_64 libstdc++-devel.x86_64 glibc-devel.i686 libstdc++-devel.i686 ccache libtool make git python38 python38-pip which patch lbzip2 xz procps-ng dash rsync coreutils bison"
1313
export PIP_PACKAGES="pyzmq"
1414
export GOAL="install"
15+
export NO_WERROR=1 # GCC 8
1516
export BITCOIN_CONFIG="--enable-zmq --with-gui=qt5 --enable-reduce-exports"
1617
export CONFIG_SHELL="/bin/dash"
1718
export TEST_RUNNER_ENV="LC_ALL=en_US.UTF-8"

ci/test/00_setup_env_native_nowallet_libbitcoinkernel.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,5 @@ export PACKAGES="-t buster-backports python3-zmq clang-8 llvm-8 libc++abi-8-dev
1313
export APPEND_APT_SOURCES_LIST="deb http://deb.debian.org/debian buster-backports main"
1414
export DEP_OPTS="NO_WALLET=1 CC=clang-8 CXX='clang++-8 -stdlib=libc++'"
1515
export GOAL="install"
16+
export NO_WERROR=1
1617
export BITCOIN_CONFIG="--enable-reduce-exports CC=clang-8 CXX='clang++-8 -stdlib=libc++' --enable-experimental-util-chainstate --with-experimental-kernel-lib --enable-shared"

ci/test/00_setup_env_native_qt5.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ export TEST_RUNNER_EXTRA="--previous-releases --coverage --extended --exclude fe
1414
export RUN_UNIT_TESTS_SEQUENTIAL="true"
1515
export RUN_UNIT_TESTS="false"
1616
export GOAL="install"
17+
export NO_WERROR=1
1718
export DOWNLOAD_PREVIOUS_RELEASES="true"
1819
export BITCOIN_CONFIG="--enable-zmq --with-libs=no --with-gui=qt5 --enable-reduce-exports \
1920
--enable-debug CFLAGS=\"-g0 -O2 -funsigned-char\" CXXFLAGS=\"-g0 -O2 -funsigned-char\" CC=gcc-9 CXX=g++-9"

ci/test/01_base_install.sh

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
#!/usr/bin/env bash
2+
#
3+
# Copyright (c) 2018-2022 The Bitcoin Core developers
4+
# Distributed under the MIT software license, see the accompanying
5+
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
6+
7+
export LC_ALL=C.UTF-8
8+
9+
CI_EXEC_ROOT () { bash -c "$*"; }
10+
export -f CI_EXEC_ROOT
11+
12+
if [ -n "$DPKG_ADD_ARCH" ]; then
13+
CI_EXEC_ROOT dpkg --add-architecture "$DPKG_ADD_ARCH"
14+
fi
15+
16+
if [[ $CI_IMAGE_NAME_TAG == *centos* ]]; then
17+
${CI_RETRY_EXE} CI_EXEC_ROOT dnf -y install epel-release
18+
${CI_RETRY_EXE} CI_EXEC_ROOT dnf -y --allowerasing install "$CI_BASE_PACKAGES" "$PACKAGES"
19+
elif [ "$CI_USE_APT_INSTALL" != "no" ]; then
20+
if [[ "${ADD_UNTRUSTED_BPFCC_PPA}" == "true" ]]; then
21+
# Ubuntu 22.04 LTS and Debian 11 both have an outdated bpfcc-tools packages.
22+
# The iovisor PPA is outdated as well. The next Ubuntu and Debian releases will contain updated
23+
# packages. Meanwhile, use an untrusted PPA to install an up-to-date version of the bpfcc-tools
24+
# package.
25+
# TODO: drop this once we can use newer images in GCE
26+
CI_EXEC_ROOT add-apt-repository ppa:hadret/bpfcc
27+
fi
28+
if [[ -n "${APPEND_APT_SOURCES_LIST}" ]]; then
29+
CI_EXEC_ROOT echo "${APPEND_APT_SOURCES_LIST}" \>\> /etc/apt/sources.list
30+
fi
31+
${CI_RETRY_EXE} CI_EXEC_ROOT apt-get update
32+
${CI_RETRY_EXE} CI_EXEC_ROOT apt-get install --no-install-recommends --no-upgrade -y "$PACKAGES" "$CI_BASE_PACKAGES"
33+
fi

ci/test/04_install.sh

Lines changed: 8 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,12 @@ if [ -z "$DANGER_RUN_CI_ON_HOST" ]; then
3333

3434
# the name isn't important, so long as we use the same UID
3535
LOCAL_USER=nonroot
36-
${CI_RETRY_EXE} docker pull "$CI_IMAGE_NAME_TAG"
36+
DOCKER_BUILDKIT=1 ${CI_RETRY_EXE} docker build \
37+
--file "${BASE_ROOT_DIR}/ci/test_imagefile" \
38+
--build-arg "CI_IMAGE_NAME_TAG=${CI_IMAGE_NAME_TAG}" \
39+
--build-arg "FILE_ENV=${FILE_ENV}" \
40+
--tag="${CONTAINER_NAME}" \
41+
"${BASE_ROOT_DIR}"
3742

3843
if [ -n "${RESTART_CI_DOCKER_BEFORE_RUN}" ] ; then
3944
echo "Restart docker before run to stop and clear all containers started with --rm"
@@ -49,7 +54,7 @@ if [ -z "$DANGER_RUN_CI_ON_HOST" ]; then
4954
-w $BASE_ROOT_DIR \
5055
--env-file /tmp/env \
5156
--name $CONTAINER_NAME \
52-
$CI_IMAGE_NAME_TAG)
57+
$CONTAINER_NAME)
5358
export CI_CONTAINER_ID
5459

5560
# Create a non-root user inside the container which matches the local user.
@@ -63,6 +68,7 @@ if [ -z "$DANGER_RUN_CI_ON_HOST" ]; then
6368
export CI_EXEC_CMD_PREFIX="docker exec -u $LOCAL_UID $CI_CONTAINER_ID"
6469
else
6570
echo "Running on host system without docker wrapper"
71+
"${BASE_ROOT_DIR}/ci/test/01_base_install.sh"
6672
fi
6773

6874
CI_EXEC () {
@@ -76,29 +82,6 @@ export -f CI_EXEC_ROOT
7682

7783
CI_EXEC mkdir -p "${BINS_SCRATCH_DIR}"
7884

79-
if [ -n "$DPKG_ADD_ARCH" ]; then
80-
CI_EXEC_ROOT dpkg --add-architecture "$DPKG_ADD_ARCH"
81-
fi
82-
83-
if [[ $CI_IMAGE_NAME_TAG == *centos* ]]; then
84-
${CI_RETRY_EXE} CI_EXEC_ROOT dnf -y install epel-release
85-
${CI_RETRY_EXE} CI_EXEC_ROOT dnf -y --allowerasing install "$CI_BASE_PACKAGES" "$PACKAGES"
86-
elif [ "$CI_USE_APT_INSTALL" != "no" ]; then
87-
if [[ "${ADD_UNTRUSTED_BPFCC_PPA}" == "true" ]]; then
88-
# Ubuntu 22.04 LTS and Debian 11 both have an outdated bpfcc-tools packages.
89-
# The iovisor PPA is outdated as well. The next Ubuntu and Debian releases will contain updated
90-
# packages. Meanwhile, use an untrusted PPA to install an up-to-date version of the bpfcc-tools
91-
# package.
92-
# TODO: drop this once we can use newer images in GCE
93-
CI_EXEC_ROOT add-apt-repository ppa:hadret/bpfcc
94-
fi
95-
if [[ -n "${APPEND_APT_SOURCES_LIST}" ]]; then
96-
CI_EXEC_ROOT echo "${APPEND_APT_SOURCES_LIST}" \>\> /etc/apt/sources.list
97-
fi
98-
${CI_RETRY_EXE} CI_EXEC_ROOT apt-get update
99-
${CI_RETRY_EXE} CI_EXEC_ROOT apt-get install --no-install-recommends --no-upgrade -y "$PACKAGES" "$CI_BASE_PACKAGES"
100-
fi
101-
10285
if [ -n "$PIP_PACKAGES" ]; then
10386
if [ "$CI_OS_NAME" == "macos" ]; then
10487
sudo -H pip3 install --upgrade pip

ci/test/06_script_b.sh

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ if [ "${RUN_TIDY}" = "true" ]; then
6060
" src/rpc/signmessage.cpp"\
6161
" src/test/fuzz/txorphan.cpp"\
6262
" src/test/fuzz/util/"\
63+
" src/uint256.cpp"\
6364
" src/util/bip32.cpp"\
6465
" src/util/bytevectorhash.cpp"\
6566
" src/util/check.cpp"\
@@ -75,7 +76,12 @@ if [ "${RUN_TIDY}" = "true" ]; then
7576
" src/util/syserror.cpp"\
7677
" src/util/threadinterrupt.cpp"\
7778
" src/zmq"\
78-
" -p . ${MAKEJOBS} -- -Xiwyu --cxx17ns -Xiwyu --mapping_file=${BASE_BUILD_DIR}/bitcoin-$HOST/contrib/devtools/iwyu/bitcoin.core.imp"
79+
" -p . ${MAKEJOBS}"\
80+
" -- -Xiwyu --cxx17ns -Xiwyu --mapping_file=${BASE_BUILD_DIR}/bitcoin-$HOST/contrib/devtools/iwyu/bitcoin.core.imp"\
81+
" |& tee /tmp/iwyu_ci.out"
82+
export P_CI_DIR="${BASE_ROOT_DIR}/src"
83+
CI_EXEC "python3 ${DIR_IWYU}/include-what-you-use/fix_includes.py --nosafe_headers < /tmp/iwyu_ci.out"
84+
CI_EXEC "git --no-pager diff"
7985
fi
8086

8187
if [ "$RUN_SECURITY_TESTS" = "true" ]; then

ci/test_imagefile

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
ARG CI_IMAGE_NAME_TAG
2+
FROM ${CI_IMAGE_NAME_TAG}
3+
4+
ARG FILE_ENV
5+
ENV FILE_ENV=${FILE_ENV}
6+
7+
COPY ./ci/retry/retry /usr/bin/retry
8+
COPY ./ci/test/00_setup_env.sh ./${FILE_ENV} ./ci/test/01_base_install.sh /ci_base_install/ci/test/
9+
10+
RUN ["bash", "-c", "cd /ci_base_install/ && set -o errexit && source ./ci/test/00_setup_env.sh && ./ci/test/01_base_install.sh"]

configure.ac

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -935,7 +935,9 @@ if test "$TARGET_OS" != "windows"; then
935935
AX_CHECK_COMPILE_FLAG([-fPIC], [PIC_FLAGS="-fPIC"])
936936
fi
937937

938-
dnl All versions of gcc that we commonly use for building are subject to bug
938+
dnl Versions of gcc prior to 12.1 (commit
939+
dnl https://github.com/gcc-mirror/gcc/commit/551aa75778a4c5165d9533cd447c8fc822f583e1)
940+
dnl are subject to a bug, see the gccbug_90348 test case and
939941
dnl https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90348. To work around that, set
940942
dnl -fstack-reuse=none for all gcc builds. (Only gcc understands this flag)
941943
AX_CHECK_COMPILE_FLAG([-fstack-reuse=none], [HARDENED_CXXFLAGS="$HARDENED_CXXFLAGS -fstack-reuse=none"])
@@ -1449,7 +1451,7 @@ if test "$use_natpmp" != "no"; then
14491451
CPPFLAGS="$TEMP_CPPFLAGS"
14501452
fi
14511453

1452-
if test "$build_bitcoin_wallet$build_bitcoin_cli$build_bitcoin_tx$build_bitcoin_util$build_bitcoind$bitcoin_enable_qt$use_tests$use_bench" = "nononononononono"; then
1454+
if test "$build_bitcoin_wallet$build_bitcoin_cli$build_bitcoin_tx$build_bitcoin_util$build_bitcoind$bitcoin_enable_qt$use_tests$use_bench$enable_fuzz_binary" = "nonononononononono"; then
14531455
use_boost=no
14541456
else
14551457
use_boost=yes

contrib/seeds/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@ data. Run the following commands from the `/contrib/seeds` directory:
1313

1414
curl https://bitcoin.sipa.be/seeds.txt.gz | gzip -dc > seeds_main.txt
1515
curl https://bitcoin.sipa.be/asmap-filled.dat > asmap-filled.dat
16-
python3 makeseeds.py -a asmap-filled.dat < seeds_main.txt > nodes_main.txt
16+
python3 makeseeds.py -a asmap-filled.dat -s seeds_main.txt > nodes_main.txt
1717
cat nodes_main_manual.txt >> nodes_main.txt
1818
python3 generate-seeds.py . > ../../src/chainparamsseeds.h

contrib/seeds/makeseeds.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,7 @@ def ip_stats(ips: List[Dict]) -> str:
173173
def parse_args():
174174
argparser = argparse.ArgumentParser(description='Generate a list of bitcoin node seed ip addresses.')
175175
argparser.add_argument("-a","--asmap", help='the location of the asmap asn database file (required)', required=True)
176+
argparser.add_argument("-s","--seeds", help='the location of the DNS seeds file (required)', required=True)
176177
return argparser.parse_args()
177178

178179
def main():
@@ -184,7 +185,8 @@ def main():
184185
print('Done.', file=sys.stderr)
185186

186187
print('Loading and parsing DNS seeds…', end='', file=sys.stderr, flush=True)
187-
lines = sys.stdin.readlines()
188+
with open(args.seeds, 'r', encoding='utf8') as f:
189+
lines = f.readlines()
188190
ips = [parseline(line) for line in lines]
189191
print('Done.', file=sys.stderr)
190192

depends/funcs.mk

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,9 @@ $($(1)_postprocessed): | $($(1)_staged)
234234
touch $$@
235235
$($(1)_cached): | $($(1)_dependencies) $($(1)_postprocessed)
236236
echo Caching $(1)...
237-
cd $$($(1)_staging_dir)/$(host_prefix); find . | sort | $(build_TAR) --no-recursion -czf $$($(1)_staging_dir)/$$(@F) -T -
237+
cd $$($(1)_staging_dir)/$(host_prefix); \
238+
find . ! -name '.stamp_postprocessed' -print0 | TZ=UTC xargs -0r touch -h -m -t 200001011200; \
239+
find . ! -name '.stamp_postprocessed' | LC_ALL=C sort | $(build_TAR) --numeric-owner --no-recursion -czf $$($(1)_staging_dir)/$$(@F) -T -
238240
mkdir -p $$(@D)
239241
rm -rf $$(@D) && mkdir -p $$(@D)
240242
mv $$($(1)_staging_dir)/$$(@F) $$(@)

depends/packages/bdb.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ $(package)_config_opts_netbsd=--with-pic
1515
$(package)_config_opts_openbsd=--with-pic
1616
$(package)_config_opts_android=--with-pic
1717
$(package)_cflags+=-Wno-error=implicit-function-declaration -Wno-error=format-security
18-
$(package)_cppflags_freebsd=-D_XOPEN_SOURCE=600
18+
$(package)_cppflags_freebsd=-D_XOPEN_SOURCE=600 -D__BSD_VISIBLE=1
1919
$(package)_cppflags_netbsd=-D_XOPEN_SOURCE=600
2020
$(package)_cppflags_openbsd=-D_XOPEN_SOURCE=600
2121
$(package)_cppflags_mingw32=-DUNICODE -D_UNICODE

depends/packages/zeromq.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@ endef
2020

2121
define $(package)_preprocess_cmds
2222
patch -p1 < $($(package)_patch_dir)/remove_libstd_link.patch && \
23-
patch -p1 < $($(package)_patch_dir)/netbsd_kevent_void.patch && \
24-
cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub config
23+
patch -p1 < $($(package)_patch_dir)/netbsd_kevent_void.patch
2524
endef
2625

2726
define $(package)_config_cmds
2827
./autogen.sh && \
28+
cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub config && \
2929
$($(package)_autoconf)
3030
endef
3131

doc/developer-notes.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,10 @@ code.
109109
- `++i` is preferred over `i++`.
110110
- `nullptr` is preferred over `NULL` or `(void*)0`.
111111
- `static_assert` is preferred over `assert` where possible. Generally; compile-time checking is preferred over run-time checking.
112+
- Use a named cast or functional cast, not a C-Style cast. When casting
113+
between integer types, use functional casts such as `int(x)` or `int{x}`
114+
instead of `(int) x`. When casting between more complex types, use static_cast.
115+
Use reinterpret_cast and const_cast as appropriate.
112116

113117
For function calls a namespace should be specified explicitly, unless such functions have been declared within it.
114118
Otherwise, [argument-dependent lookup](https://en.cppreference.com/w/cpp/language/adl), also known as ADL, could be

doc/fuzzing.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,10 +136,10 @@ You may also need to take care of giving the correct path for `clang` and
136136
`clang++`, like `CC=/path/to/clang CXX=/path/to/clang++` if the non-systems
137137
`clang` does not come first in your path.
138138
139-
Full configure that was tested on macOS Catalina with `brew` installed `llvm`:
139+
Full configure that was tested on macOS with `brew` installed `llvm`:
140140
141141
```sh
142-
./configure --enable-fuzz --with-sanitizers=fuzzer,address,undefined CC=/usr/local/opt/llvm/bin/clang CXX=/usr/local/opt/llvm/bin/clang++ --disable-asm
142+
./configure --enable-fuzz --with-sanitizers=fuzzer,address,undefined --disable-asm CC=$(brew --prefix llvm)/bin/clang CXX=$(brew --prefix llvm)/bin/clang++
143143
```
144144
145145
Read the [libFuzzer documentation](https://llvm.org/docs/LibFuzzer.html) for more information. This [libFuzzer tutorial](https://github.com/google/fuzzing/blob/master/tutorial/libFuzzerTutorial.md) might also be of interest.

0 commit comments

Comments
 (0)