fix(admin-config-tool): pin xceadmin's python3 to meson's own resolution
Both meson-build.sh (venv creation) and meson-install.sh (wrapper
shebang) resolved python3 independently at run time (bare `python3 -m
venv` / `command -v python3`) -- correct as long as invoked inside
nix develop/build, but nothing prevented a stray non-nix system
python3 earlier on PATH from shadowing it.
meson.build now resolves python3 once via import('python').
find_installation('python3') -- same mechanism as find_program('go')/
capnp/packcc elsewhere in this build, printed at `meson setup` time
as "Program python3 found: YES (/nix/store/...)" -- and threads that
exact resolved path into both scripts as an explicit argument instead
of a fresh lookup.
Verified: meson setup prints the pinned python3, xceadmin target
rebuilds clean (165/165 passed), and the built venv's own python3
resolves through to that exact nix store path.
This commit is contained in:
parent
d5330fc976
commit
db2b5f17f0
3 changed files with 28 additions and 10 deletions
|
|
@ -19,7 +19,9 @@ set -euo pipefail
|
|||
SOURCE_DIR="$1" # .../src/xceadmin (meson.current_source_dir())
|
||||
BUILD_DIR="$2" # .../xceadmin (meson.current_build_dir())
|
||||
REPO_ROOT="$3" # real repo root (contains ha/, src/)
|
||||
STAMP_FILE="$4"
|
||||
PYTHON="$4" # meson's resolved python3 (import('python').find_installation()),
|
||||
# NOT a bare `python3` PATH lookup -- see meson.build's comment
|
||||
STAMP_FILE="$5"
|
||||
|
||||
SRC_DIR="$REPO_ROOT/src"
|
||||
|
||||
|
|
@ -50,9 +52,9 @@ cp "$SRC_DIR/schema/controller.capnp" "$SCHEMA_DST/controller.capnp"
|
|||
cp "$SRC_DIR/schema/c.capnp" "$SCHEMA_DST/c.capnp"
|
||||
cp "$SRC_DIR/configs/schema/"*.schema.json "$SCHEMA_DST/json/"
|
||||
|
||||
echo "=== xceadmin (meson): pinned install into build-dir venv ==="
|
||||
echo "=== xceadmin (meson): pinned install into build-dir venv (python: $PYTHON) ==="
|
||||
rm -rf "$VENV_DIR"
|
||||
python3 -m venv --system-site-packages "$VENV_DIR"
|
||||
"$PYTHON" -m venv --system-site-packages "$VENV_DIR"
|
||||
"$VENV_DIR/bin/pip" install "$WORK_DIR" --quiet
|
||||
|
||||
echo "=== xceadmin (meson): running tests ==="
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue