From 992c7cad462ee8700d34559cd8ff8ecbbf1b1b08 Mon Sep 17 00:00:00 2001 From: Brandon Odiwuor Date: Wed, 16 Apr 2025 14:18:48 +0300 Subject: [PATCH 1/9] test: Handle empty string returned by CLI as None in RPC tests Github-Pull: #32286 Rebased-From: a4041c77f0e20d004524868e70ff12508832c9eb --- test/functional/test_framework/test_node.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/functional/test_framework/test_node.py b/test/functional/test_framework/test_node.py index 3baa78fd79f..a653927e922 100755 --- a/test/functional/test_framework/test_node.py +++ b/test/functional/test_framework/test_node.py @@ -887,6 +887,8 @@ class TestNodeCLI(): # Ignore cli_stdout, raise with cli_stderr raise subprocess.CalledProcessError(returncode, self.binary, output=cli_stderr) try: + if not cli_stdout.strip(): + return None return json.loads(cli_stdout, parse_float=decimal.Decimal) except (json.JSONDecodeError, decimal.InvalidOperation): return cli_stdout.rstrip("\n") From 418bee8f9d1b7d9c13e580b645cc955af36475fe Mon Sep 17 00:00:00 2001 From: MarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz> Date: Tue, 1 Apr 2025 18:41:54 +0200 Subject: [PATCH 2/9] refactor: Remove spurious virtual from final ~CZMQNotificationInterface Github-Pull: #32187 Rebased-From: fa69c42fdf0aeec0546e951bc6132ab630edb9d4 --- src/zmq/zmqnotificationinterface.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/zmq/zmqnotificationinterface.h b/src/zmq/zmqnotificationinterface.h index 45d0982bd3e..5bcb95f6fc0 100644 --- a/src/zmq/zmqnotificationinterface.h +++ b/src/zmq/zmqnotificationinterface.h @@ -1,4 +1,4 @@ -// Copyright (c) 2015-2022 The Bitcoin Core developers +// Copyright (c) 2015-present The Bitcoin Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -21,7 +21,7 @@ struct NewMempoolTransactionInfo; class CZMQNotificationInterface final : public CValidationInterface { public: - virtual ~CZMQNotificationInterface(); + ~CZMQNotificationInterface(); std::list GetActiveNotifiers() const; From f52ab00f69f713d4d3c8cb6ef7386ca599eb4c0e Mon Sep 17 00:00:00 2001 From: Sjors Provoost Date: Fri, 14 Mar 2025 16:19:45 +0100 Subject: [PATCH 3/9] build: use make < 3.82 syntax for define directive From the GNU make 3.82 release announcement: * The 'define' make directive now allows a variable assignment operator after the variable name, to allow for simple, conditional, or appending multi-line variable assignment. macOS ships with 3.81. This caused the multiprocess config options to be ignored. Fixes #32068 Co-authored-by: Ryan Ofsky Github-Pull: #32070 Rebased-From: 9157d9e449870851ef455e077249ac46fc2df24c --- depends/packages/capnp.mk | 2 +- depends/packages/libmultiprocess.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/depends/packages/capnp.mk b/depends/packages/capnp.mk index 2465c8091bb..8942c2b03cb 100644 --- a/depends/packages/capnp.mk +++ b/depends/packages/capnp.mk @@ -9,7 +9,7 @@ $(package)_sha256_hash=$(native_$(package)_sha256_hash) # setting in depends/config.site.in, which also hardcodes "lib". # Without this setting, cmake by default would use the OS library # directory, which might be "lib64" or something else, not "lib", on multiarch systems. -define $(package)_set_vars := +define $(package)_set_vars $(package)_config_opts := -DBUILD_TESTING=OFF $(package)_config_opts += -DWITH_OPENSSL=OFF $(package)_config_opts += -DWITH_ZLIB=OFF diff --git a/depends/packages/libmultiprocess.mk b/depends/packages/libmultiprocess.mk index d237f52dbb2..3e47aaf3adc 100644 --- a/depends/packages/libmultiprocess.mk +++ b/depends/packages/libmultiprocess.mk @@ -12,7 +12,7 @@ endif # setting in depends/config.site.in, which also hardcodes "lib". # Without this setting, cmake by default would use the OS library # directory, which might be "lib64" or something else, not "lib", on multiarch systems. -define $(package)_set_vars := +define $(package)_set_vars $(package)_config_opts += -DCMAKE_INSTALL_LIBDIR=lib/ $(package)_config_opts += -DCMAKE_POSITION_INDEPENDENT_CODE=ON ifneq ($(host),$(build)) From 1fc7b9d260c51e674487f544624299d39cbfd71f Mon Sep 17 00:00:00 2001 From: MarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz> Date: Thu, 24 Apr 2025 10:21:40 +0200 Subject: [PATCH 4/9] test: Add imports for util bpf_cflags This is required for the next commit. Github-Pull: #32336 Rebased-From: fa0c1baaf89805182de56d6a2e8eed2265a94b40 --- test/functional/interface_usdt_coinselection.py | 3 ++- test/functional/interface_usdt_mempool.py | 7 +++++-- test/functional/interface_usdt_net.py | 7 +++++-- test/functional/interface_usdt_utxocache.py | 7 +++++-- test/functional/interface_usdt_validation.py | 8 +++++--- test/functional/test_framework/util.py | 7 +++++++ 6 files changed, 29 insertions(+), 10 deletions(-) diff --git a/test/functional/interface_usdt_coinselection.py b/test/functional/interface_usdt_coinselection.py index 30931a41cd2..3d4fd066926 100755 --- a/test/functional/interface_usdt_coinselection.py +++ b/test/functional/interface_usdt_coinselection.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# Copyright (c) 2022 The Bitcoin Core developers +# Copyright (c) 2022-present The Bitcoin Core developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -17,6 +17,7 @@ from test_framework.util import ( assert_equal, assert_greater_than, assert_raises_rpc_error, + bpf_cflags, ) coinselection_tracepoints_program = """ diff --git a/test/functional/interface_usdt_mempool.py b/test/functional/interface_usdt_mempool.py index 0168d9f916a..6986e7bf12a 100755 --- a/test/functional/interface_usdt_mempool.py +++ b/test/functional/interface_usdt_mempool.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# Copyright (c) 2022 The Bitcoin Core developers +# Copyright (c) 2022-present The Bitcoin Core developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -19,7 +19,10 @@ from test_framework.blocktools import COINBASE_MATURITY from test_framework.messages import COIN, DEFAULT_MEMPOOL_EXPIRY_HOURS from test_framework.p2p import P2PDataStore from test_framework.test_framework import BitcoinTestFramework -from test_framework.util import assert_equal +from test_framework.util import ( + assert_equal, + bpf_cflags, +) from test_framework.wallet import MiniWallet MEMPOOL_TRACEPOINTS_PROGRAM = """ diff --git a/test/functional/interface_usdt_net.py b/test/functional/interface_usdt_net.py index 58570399c19..cbf4dda3867 100755 --- a/test/functional/interface_usdt_net.py +++ b/test/functional/interface_usdt_net.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# Copyright (c) 2022 The Bitcoin Core developers +# Copyright (c) 2022-present The Bitcoin Core developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -17,7 +17,10 @@ except ImportError: from test_framework.messages import msg_version from test_framework.p2p import P2PInterface from test_framework.test_framework import BitcoinTestFramework -from test_framework.util import assert_equal +from test_framework.util import ( + assert_equal, + bpf_cflags, +) # Tor v3 addresses are 62 chars + 6 chars for the port (':12345'). MAX_PEER_ADDR_LENGTH = 68 diff --git a/test/functional/interface_usdt_utxocache.py b/test/functional/interface_usdt_utxocache.py index 06cdcd10a04..f33a7fd3af9 100755 --- a/test/functional/interface_usdt_utxocache.py +++ b/test/functional/interface_usdt_utxocache.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# Copyright (c) 2022 The Bitcoin Core developers +# Copyright (c) 2022-present The Bitcoin Core developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -15,7 +15,10 @@ except ImportError: pass from test_framework.messages import COIN from test_framework.test_framework import BitcoinTestFramework -from test_framework.util import assert_equal +from test_framework.util import ( + assert_equal, + bpf_cflags, +) from test_framework.wallet import MiniWallet utxocache_changes_program = """ diff --git a/test/functional/interface_usdt_validation.py b/test/functional/interface_usdt_validation.py index 30982393d85..bce59df02a8 100755 --- a/test/functional/interface_usdt_validation.py +++ b/test/functional/interface_usdt_validation.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# Copyright (c) 2022 The Bitcoin Core developers +# Copyright (c) 2022-present The Bitcoin Core developers # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -17,8 +17,10 @@ except ImportError: from test_framework.address import ADDRESS_BCRT1_UNSPENDABLE from test_framework.test_framework import BitcoinTestFramework -from test_framework.util import assert_equal - +from test_framework.util import ( + assert_equal, + bpf_cflags, +) validation_blockconnected_program = """ #include diff --git a/test/functional/test_framework/util.py b/test/functional/test_framework/util.py index b4b05b15972..645cc7c21dc 100644 --- a/test/functional/test_framework/util.py +++ b/test/functional/test_framework/util.py @@ -277,6 +277,13 @@ def wait_until_helper_internal(predicate, *, attempts=float('inf'), timeout=floa raise RuntimeError('Unreachable') +def bpf_cflags(): + return [ + "-Wno-error=implicit-function-declaration", + "-Wno-duplicate-decl-specifier", # https://github.com/bitcoin/bitcoin/issues/32322 + ] + + def sha256sum_file(filename): h = hashlib.sha256() with open(filename, 'rb') as f: From 882166642c72ecd0af4180920c4c1a8021463a2b Mon Sep 17 00:00:00 2001 From: MarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz> Date: Thu, 24 Apr 2025 10:26:11 +0200 Subject: [PATCH 5/9] scripted-diff: Use bpf_cflags -BEGIN VERIFY SCRIPT- ren() { sed --regexp-extended -i "s/$1/$2/g" $( git grep --extended-regexp -l "$1" ) ; } ren 'cflags=\["-Wno-error=implicit-function-declaration"\]' 'cflags=bpf_cflags()' -END VERIFY SCRIPT- Github-Pull: #32336 Rebased-From: facb9b327b9da39ce1e09ed56199be9efb19b5b8 --- test/functional/interface_usdt_coinselection.py | 2 +- test/functional/interface_usdt_mempool.py | 8 ++++---- test/functional/interface_usdt_net.py | 2 +- test/functional/interface_usdt_utxocache.py | 8 ++++---- test/functional/interface_usdt_validation.py | 2 +- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/test/functional/interface_usdt_coinselection.py b/test/functional/interface_usdt_coinselection.py index 3d4fd066926..778fcf9558f 100755 --- a/test/functional/interface_usdt_coinselection.py +++ b/test/functional/interface_usdt_coinselection.py @@ -167,7 +167,7 @@ class CoinSelectionTracepointTest(BitcoinTestFramework): ctx.enable_probe(probe="coin_selection:normal_create_tx_internal", fn_name="trace_normal_create_tx") ctx.enable_probe(probe="coin_selection:attempting_aps_create_tx", fn_name="trace_attempt_aps") ctx.enable_probe(probe="coin_selection:aps_create_tx_internal", fn_name="trace_aps_create_tx") - self.bpf = BPF(text=coinselection_tracepoints_program, usdt_contexts=[ctx], debug=0, cflags=["-Wno-error=implicit-function-declaration"]) + self.bpf = BPF(text=coinselection_tracepoints_program, usdt_contexts=[ctx], debug=0, cflags=bpf_cflags()) self.log.info("Prepare wallets") self.generate(self.nodes[0], 101) diff --git a/test/functional/interface_usdt_mempool.py b/test/functional/interface_usdt_mempool.py index 6986e7bf12a..28e451a8a49 100755 --- a/test/functional/interface_usdt_mempool.py +++ b/test/functional/interface_usdt_mempool.py @@ -147,7 +147,7 @@ class MempoolTracepointTest(BitcoinTestFramework): node = self.nodes[0] ctx = USDT(pid=node.process.pid) ctx.enable_probe(probe="mempool:added", fn_name="trace_added") - bpf = BPF(text=MEMPOOL_TRACEPOINTS_PROGRAM, usdt_contexts=[ctx], debug=0, cflags=["-Wno-error=implicit-function-declaration"]) + bpf = BPF(text=MEMPOOL_TRACEPOINTS_PROGRAM, usdt_contexts=[ctx], debug=0, cflags=bpf_cflags()) def handle_added_event(_, data, __): events.append(bpf["added_events"].event(data)) @@ -184,7 +184,7 @@ class MempoolTracepointTest(BitcoinTestFramework): node = self.nodes[0] ctx = USDT(pid=node.process.pid) ctx.enable_probe(probe="mempool:removed", fn_name="trace_removed") - bpf = BPF(text=MEMPOOL_TRACEPOINTS_PROGRAM, usdt_contexts=[ctx], debug=0, cflags=["-Wno-error=implicit-function-declaration"]) + bpf = BPF(text=MEMPOOL_TRACEPOINTS_PROGRAM, usdt_contexts=[ctx], debug=0, cflags=bpf_cflags()) def handle_removed_event(_, data, __): events.append(bpf["removed_events"].event(data)) @@ -230,7 +230,7 @@ class MempoolTracepointTest(BitcoinTestFramework): node = self.nodes[0] ctx = USDT(pid=node.process.pid) ctx.enable_probe(probe="mempool:replaced", fn_name="trace_replaced") - bpf = BPF(text=MEMPOOL_TRACEPOINTS_PROGRAM, usdt_contexts=[ctx], debug=0, cflags=["-Wno-error=implicit-function-declaration"]) + bpf = BPF(text=MEMPOOL_TRACEPOINTS_PROGRAM, usdt_contexts=[ctx], debug=0, cflags=bpf_cflags()) def handle_replaced_event(_, data, __): events.append(bpf["replaced_events"].event(data)) @@ -281,7 +281,7 @@ class MempoolTracepointTest(BitcoinTestFramework): self.log.info("Hooking into mempool:rejected tracepoint...") ctx = USDT(pid=node.process.pid) ctx.enable_probe(probe="mempool:rejected", fn_name="trace_rejected") - bpf = BPF(text=MEMPOOL_TRACEPOINTS_PROGRAM, usdt_contexts=[ctx], debug=0, cflags=["-Wno-error=implicit-function-declaration"]) + bpf = BPF(text=MEMPOOL_TRACEPOINTS_PROGRAM, usdt_contexts=[ctx], debug=0, cflags=bpf_cflags()) def handle_rejected_event(_, data, __): events.append(bpf["rejected_events"].event(data)) diff --git a/test/functional/interface_usdt_net.py b/test/functional/interface_usdt_net.py index cbf4dda3867..04bdfd403a5 100755 --- a/test/functional/interface_usdt_net.py +++ b/test/functional/interface_usdt_net.py @@ -118,7 +118,7 @@ class NetTracepointTest(BitcoinTestFramework): fn_name="trace_inbound_message") ctx.enable_probe(probe="net:outbound_message", fn_name="trace_outbound_message") - bpf = BPF(text=net_tracepoints_program, usdt_contexts=[ctx], debug=0, cflags=["-Wno-error=implicit-function-declaration"]) + bpf = BPF(text=net_tracepoints_program, usdt_contexts=[ctx], debug=0, cflags=bpf_cflags()) EXPECTED_INOUTBOUND_VERSION_MSG = 1 checked_inbound_version_msg = 0 diff --git a/test/functional/interface_usdt_utxocache.py b/test/functional/interface_usdt_utxocache.py index f33a7fd3af9..c46f7164959 100755 --- a/test/functional/interface_usdt_utxocache.py +++ b/test/functional/interface_usdt_utxocache.py @@ -178,7 +178,7 @@ class UTXOCacheTracepointTest(BitcoinTestFramework): ctx = USDT(pid=self.nodes[0].process.pid) ctx.enable_probe(probe="utxocache:uncache", fn_name="trace_utxocache_uncache") - bpf = BPF(text=utxocache_changes_program, usdt_contexts=[ctx], debug=0, cflags=["-Wno-error=implicit-function-declaration"]) + bpf = BPF(text=utxocache_changes_program, usdt_contexts=[ctx], debug=0, cflags=bpf_cflags()) # The handle_* function is a ctypes callback function called from C. When # we assert in the handle_* function, the AssertError doesn't propagate @@ -247,7 +247,7 @@ class UTXOCacheTracepointTest(BitcoinTestFramework): ctx.enable_probe(probe="utxocache:add", fn_name="trace_utxocache_add") ctx.enable_probe(probe="utxocache:spent", fn_name="trace_utxocache_spent") - bpf = BPF(text=utxocache_changes_program, usdt_contexts=[ctx], debug=0, cflags=["-Wno-error=implicit-function-declaration"]) + bpf = BPF(text=utxocache_changes_program, usdt_contexts=[ctx], debug=0, cflags=bpf_cflags()) # The handle_* function is a ctypes callback function called from C. When # we assert in the handle_* function, the AssertError doesn't propagate @@ -336,7 +336,7 @@ class UTXOCacheTracepointTest(BitcoinTestFramework): ctx = USDT(pid=self.nodes[0].process.pid) ctx.enable_probe(probe="utxocache:flush", fn_name="trace_utxocache_flush") - bpf = BPF(text=utxocache_flushes_program, usdt_contexts=[ctx], debug=0, cflags=["-Wno-error=implicit-function-declaration"]) + bpf = BPF(text=utxocache_flushes_program, usdt_contexts=[ctx], debug=0, cflags=bpf_cflags()) # The handle_* function is a ctypes callback function called from C. When # we assert in the handle_* function, the AssertError doesn't propagate @@ -393,7 +393,7 @@ class UTXOCacheTracepointTest(BitcoinTestFramework): ctx = USDT(pid=self.nodes[0].process.pid) ctx.enable_probe(probe="utxocache:flush", fn_name="trace_utxocache_flush") - bpf = BPF(text=utxocache_flushes_program, usdt_contexts=[ctx], debug=0, cflags=["-Wno-error=implicit-function-declaration"]) + bpf = BPF(text=utxocache_flushes_program, usdt_contexts=[ctx], debug=0, cflags=bpf_cflags()) bpf["utxocache_flush"].open_perf_buffer(handle_utxocache_flush) self.log.info(f"prune blockchain to trigger a flush for pruning") diff --git a/test/functional/interface_usdt_validation.py b/test/functional/interface_usdt_validation.py index bce59df02a8..051f713086b 100755 --- a/test/functional/interface_usdt_validation.py +++ b/test/functional/interface_usdt_validation.py @@ -96,7 +96,7 @@ class ValidationTracepointTest(BitcoinTestFramework): ctx.enable_probe(probe="validation:block_connected", fn_name="trace_block_connected") bpf = BPF(text=validation_blockconnected_program, - usdt_contexts=[ctx], debug=0, cflags=["-Wno-error=implicit-function-declaration"]) + usdt_contexts=[ctx], debug=0, cflags=bpf_cflags()) def handle_blockconnected(_, data, __): event = ctypes.cast(data, ctypes.POINTER(Block)).contents From e0af7bffff4b33d1de9d95bb7a4f4424f2e6c2dd Mon Sep 17 00:00:00 2001 From: fanquake Date: Mon, 19 May 2025 13:53:20 +0100 Subject: [PATCH 6/9] ci: remove --enable-external-signer Boost 1.88.0 (installed in the macOS CI) broke compat with Boost Process V1. As `--enable-external-signer` is set in the CI, this causes the macOS CI to fail. Remove `--enable-external-signer` from the CI. --- ci/test/03_test_script.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/test/03_test_script.sh b/ci/test/03_test_script.sh index 4bb2a1c7955..6e984e1d154 100755 --- a/ci/test/03_test_script.sh +++ b/ci/test/03_test_script.sh @@ -119,7 +119,7 @@ if [ -n "$ANDROID_TOOLS_URL" ]; then exit 0 fi -BITCOIN_CONFIG_ALL="${BITCOIN_CONFIG_ALL} --enable-external-signer --prefix=$BASE_OUTDIR" +BITCOIN_CONFIG_ALL="${BITCOIN_CONFIG_ALL} --prefix=$BASE_OUTDIR" if [ -n "$CONFIG_SHELL" ]; then "$CONFIG_SHELL" -c "./autogen.sh" From a328170e093e18a81cf3c29b74ee87921ba66c13 Mon Sep 17 00:00:00 2001 From: fanquake Date: Wed, 7 May 2025 17:23:23 +0100 Subject: [PATCH 7/9] guix: accomodate migration to codeberg See https://guix.gnu.org/blog/2025/migrating-to-codeberg/. When interacting with the old repo you may now also see: ```bash warning: redirecting to https://codeberg.org/guix/guix/ ``` Github-Pull: #32439 Rebased-From: d5ca4d4fd713a9f7e17e074a1e37dda99bbb09fc --- contrib/guix/INSTALL.md | 8 ++++---- contrib/guix/libexec/prelude.bash | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/contrib/guix/INSTALL.md b/contrib/guix/INSTALL.md index 35ea83e585b..1b789ba50ea 100644 --- a/contrib/guix/INSTALL.md +++ b/contrib/guix/INSTALL.md @@ -319,7 +319,7 @@ Source: https://logs.guix.gnu.org/guix/2020-11-12.log#232527 Start by cloning Guix: ``` -git clone https://git.savannah.gnu.org/git/guix.git +git clone https://codeberg.org/guix/guix.git cd guix ``` @@ -607,7 +607,7 @@ checklist. ``` Generation 38 Feb 22 2021 16:39:31 (current) guix f350df4 - repository URL: https://git.savannah.gnu.org/git/guix.git + repository URL: https://codeberg.org/guix/guix.git branch: version-1.2.0 commit: f350df405fbcd5b9e27e6b6aa500da7f101f41e7 ``` @@ -757,8 +757,8 @@ Please see the following links for more details: - An upstream coreutils bug has been filed: [debbugs#47940](https://debbugs.gnu.org/cgi/bugreport.cgi?bug=47940) - A Guix bug detailing the underlying problem has been filed: [guix-issues#47935](https://issues.guix.gnu.org/47935), [guix-issues#49985](https://issues.guix.gnu.org/49985#5) -- A commit to skip this test in Guix has been merged into the core-updates branch: -[savannah/guix@6ba1058](https://git.savannah.gnu.org/cgit/guix.git/commit/?id=6ba1058df0c4ce5611c2367531ae5c3cdc729ab4) +- A commit to skip this test is included since Guix 1.4.0: +[codeberg/guix@6ba1058](https://codeberg.org/guix/guix/commit/6ba1058df0c4ce5611c2367531ae5c3cdc729ab4) [install-script]: #options-1-and-2-using-the-official-shell-installer-script-or-binary-tarball diff --git a/contrib/guix/libexec/prelude.bash b/contrib/guix/libexec/prelude.bash index 6c912ca748d..ccf3f695e9c 100644 --- a/contrib/guix/libexec/prelude.bash +++ b/contrib/guix/libexec/prelude.bash @@ -50,7 +50,7 @@ fi # across time. time-machine() { # shellcheck disable=SC2086 - guix time-machine --url=https://git.savannah.gnu.org/git/guix.git \ + guix time-machine --url=https://codeberg.org/guix/guix.git \ --commit=d5ca4d4fd713a9f7e17e074a1e37dda99bbb09fc \ --cores="$JOBS" \ --keep-failed \ From aef658601d2a559ead1bc764e6b247da12e5b3e8 Mon Sep 17 00:00:00 2001 From: fanquake Date: Tue, 20 May 2025 10:45:06 +0100 Subject: [PATCH 8/9] depends: use "mkdir -p" when installing xproto It looks like the mkdir detection in xproto is broken on Alpine. Ensure we always use `mkdir -p`. Fixes #32494. Github-Pull: #32568 Rebased-From: df9ebbf659d5d1282289f36d7f9ee7103aa33a17 --- depends/packages/xproto.mk | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/depends/packages/xproto.mk b/depends/packages/xproto.mk index 7a43c52faf4..7f3dfd3a999 100644 --- a/depends/packages/xproto.mk +++ b/depends/packages/xproto.mk @@ -21,6 +21,8 @@ define $(package)_build_cmds $(MAKE) endef +# mkdir detection is broken on Alpine. Set MKDIRPROG to ensure we always +# use "mkdir -p", and avoid parallelism issues during install. define $(package)_stage_cmds - $(MAKE) DESTDIR=$($(package)_staging_dir) install + $(MAKE) MKDIRPROG="mkdir -p" DESTDIR=$($(package)_staging_dir) install endef From 1d8856dddfcd6978ca8104d7c3fc96f522ad2e9b Mon Sep 17 00:00:00 2001 From: fanquake Date: Tue, 13 May 2025 14:22:13 +0100 Subject: [PATCH 9/9] doc: update release notes for 27.x --- doc/release-notes.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/doc/release-notes.md b/doc/release-notes.md index 66c62432cd1..40259faef16 100644 --- a/doc/release-notes.md +++ b/doc/release-notes.md @@ -40,18 +40,26 @@ unsupported systems. Notable changes =============== +External signing is not currently supported when compiling with Boost version 1.88.0 or later. + ### Test - #31419 test: fix MIN macro redefinition +- #32286 test: Handle empty string returned by CLI as None in RPC tests +- #32336 test: Suppress upstream -Wduplicate-decl-specifier in bpfcc ### Build - #31502 depends: Fix CXXFLAGS on NetBSD - #31627 depends: Fix spacing issue +- #32070 build: use make < 3.82 syntax for define directive +- #32439 guix: accomodate migration to codeberg +- #32568 depends: use "mkdir -p" when installing xproto ### Misc - #31623 tracing: Rename the MIN macro to TRACEPOINT_TEST_MIN in log_raw_p2p_msgs +- #32187 refactor: Remove spurious virtual from final ~CZMQNotificationInterface Credits @@ -60,7 +68,11 @@ Credits Thanks to everyone who directly contributed to this release: - 0xb10c +- Brandon Odiwuor +- fanquake - Hennadii Stepanov +- MarcoFalke +- Sjors Provoost As well as to everyone that helped with translations on [Transifex](https://www.transifex.com/bitcoin/bitcoin/).