ci: Add missing python3-dev package for riscv64
What changed, and why it matters
This commit updates Bitcoin Core's continuous integration (CI) build scripts to install the python3-dev package instead of (or alongside) the base python3 package on two CI environments, including riscv64. It is a build-infrastructure fix, not a change to the Bitcoin node software that users run. There is no indication it fixes a security vulnerability in the Bitcoin protocol or wallet code.
No security action required. Treat as a normal CI/build maintenance change.
Security signals we found
No changes to runtime, consensus, networking, wallet, or RPC code
CI-only dependency list adjustment
No vendor statement of security relevance
No CVE, advisory, or researcher attribution in commit or references
Evidence from the diff
The diff modifies CI dependency lists: ci/test/00_setup_env.sh changes the default CI_BASE_PACKAGES from ‘python3’ to ‘python3-dev’, and ci/test/00_setup_env_native_alpine_musl.sh changes ‘python3’ to ‘python3-dev’. The commit message says this is to add the missing python3-dev package for riscv64. This is a build-time dependency correction for CI containers; it does not alter consensus, networking, wallet, or RPC code. No security relevance is stated by the vendor, and no exploit path is visible from the diff.
Changed components
ci/test/00_setup_env.shci/test/00_setup_env_native_alpine_musl.shInspect captured patch +2 / −2
diff --git a/ci/test/00_setup_env.sh b/ci/test/00_setup_env.sh
index a4293fb8..a8f8d0ee 100755
--- a/ci/test/00_setup_env.sh
+++ b/ci/test/00_setup_env.sh
@@ -64,7 +64,7 @@ export BASE_OUTDIR=${BASE_OUTDIR:-$BASE_SCRATCH_DIR/out}
# The folder for previous release binaries.
# This folder exists only on the ci guest, and on the ci host as a volume.
export PREVIOUS_RELEASES_DIR=${PREVIOUS_RELEASES_DIR:-$BASE_ROOT_DIR/prev_releases}
-export CI_BASE_PACKAGES=${CI_BASE_PACKAGES:-build-essential pkgconf curl ca-certificates ccache python3 rsync git procps bison e2fsprogs cmake ninja-build}
+export CI_BASE_PACKAGES=${CI_BASE_PACKAGES:-build-essential pkgconf curl ca-certificates ccache python3-dev rsync git procps bison e2fsprogs cmake ninja-build}
export GOAL=${GOAL:-install}
export DIR_QA_ASSETS=${DIR_QA_ASSETS:-${BASE_SCRATCH_DIR}/qa-assets}
export CI_RETRY_EXE=${CI_RETRY_EXE:-"retry --"}
diff --git a/ci/test/00_setup_env_native_alpine_musl.sh b/ci/test/00_setup_env_native_alpine_musl.sh
index 094709ff..2de2a16b 100755
--- a/ci/test/00_setup_env_native_alpine_musl.sh
+++ b/ci/test/00_setup_env_native_alpine_musl.sh
@@ -8,7 +8,7 @@ export LC_ALL=C.UTF-8
export CONTAINER_NAME=ci_native_alpine_musl
export CI_IMAGE_NAME_TAG="mirror.gcr.io/alpine:3.22"
-export CI_BASE_PACKAGES="build-base musl-dev pkgconf curl ccache make ninja git python3 py3-pip which patch xz procps rsync util-linux bison e2fsprogs cmake dash linux-headers"
+export CI_BASE_PACKAGES="build-base musl-dev pkgconf curl ccache make ninja git python3-dev py3-pip which patch xz procps rsync util-linux bison e2fsprogs cmake dash linux-headers"
export PIP_PACKAGES="--break-system-packages pyzmq pycapnp"
export DEP_OPTS="DEBUG=1"
export GOAL="install"
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.