aboutsummaryrefslogtreecommitdiffstats
path: root/cli
diff options
context:
space:
mode:
authoruser <user@clank>2026-08-12 21:12:08 +0200
committeruser <user@clank>2026-08-12 21:12:08 +0200
commit03a2a8a8cbe30d8acf76420ba5143080cbf65d9e (patch)
treefe89b79d6cdc3679dcfacc3499008d86d9d386f2 /cli
parentdocs: record the target-dir symlink coupling and refresh stale provenance (diff)
downloadsl0ppi-03a2a8a8cbe30d8acf76420ba5143080cbf65d9e.tar.gz
sl0ppi-03a2a8a8cbe30d8acf76420ba5143080cbf65d9e.tar.xz
sl0ppi-03a2a8a8cbe30d8acf76420ba5143080cbf65d9e.zip
build: ship a static musl binary instead of a glibc-2.39 one
The gnu release build required GLIBC_2.39 (Jan 2024), so the "install it on another machine" artifact would have failed on Debian 12, Ubuntu 22.04 and RHEL 9. That is the whole premise of this repo, so it is a defect, not a nit. make build -> cargo zigbuild --target x86_64-unknown-linux-musl result -> ELF, statically linked, 0 GLIBC_ symbols, 51M make build-gnu kept for fast local use A musl build needs a musl C toolchain: isahc/curl pulls libz-sys and libnghttp2-sys unconditionally (confirmed: --no-default-features does not drop them). cargo-zigbuild + the ziglang python module were already installed here, so this needs no sudo, no docker daemon and no system packages. stage.sh now refuses to be quiet about it: it reports "statically linked" or warns loudly that the artifact inherits the build box's libc. Re-verified from the tarball in a throwaway HOME with node/npm/bun/cargo replaced by poison stubs: static binary, pi 0.84.1 on the bundled bun, both wasm plugins installed, session starts under a pty with no errors. Remaining libc floor is bun's own glibc 2.17 (2012); bun publishes a musl build if Alpine ever matters.
Diffstat (limited to 'cli')
0 files changed, 0 insertions, 0 deletions