The build no longer self-wraps into `nix develop`: src/tools/xce-build.sh now runs meson+ninja directly on system packages, with a dependency preflight that fails early naming the missing tool/pkg-config package (DEPS.md). Dependencies (see DEPS.md for the full tables): - 11 C libraries from apt (libuv, openssl, libedit, sqlite3, hwloc, libcgroup, libtirpc, libcyaml, libyaml, zlib, libsystemd) with version floors in meson.build mirroring the Ubuntu 24.04 baseline. - sd-bus: default libsystemd, -Duse_elogind=true opt-back for nix-era hosts. - 6 libraries/tools unavailable in apt become committed meson wrap subprojects under src/subprojects/ (source closure, ~500 files): the upstream trees plus packagefiles/ overlays and diff_files patches registering dependency/program overrides the nix .pc files used to provide (incl. the '<name>-raw' variable deps the Go CGO path reads). Fresh-clone reproducibility verified: wiped trees + `meson subprojects download` reproduce the committed state exactly (fixed librtti.wrap's dangling patch_directory and c-capnproto's empty packagefiles overlay). - xceadmin: self-contained venv built from requirements-build.txt (pinned, offline-seedable via PIP_FIND_LINKS) instead of --system-site-packages. Build/packaging: - Makefile facade over xce-build.sh; scripts/ci-ubuntu.sh drives a bare Ubuntu 24.04 container through deps + build + tests. - src/tools/xce-package.sh: release-tree tarball packager. Collects non-base DT_NEEDED libs from the BUILD-tree binaries (staged ldd lies: the dangling build RPATH makes ldd drop the very lines the naive filter needs), sets $ORIGIN RPATHs, rebases the xceadmin venv at install time (kernel does not parse quotes in shebangs), ships systemd unit samples + install.sh. Local smoke test: all 8 binaries resolve, xceadmin works from both bin/ wrapper and venv script. Test fixes found on the way (all environmental, not build bugs): - harness_test.c setUp(): pin XCE_CONTROLLER_PEERS to a bound-then-closed loopback port so the CLI-error tests assert the no-controller failure path even on a dev box running a live cluster on localhost:9990. - test_test_cli.c: setpgid(0,0) in the spawned-xce_test child. libedit's sig_handler re-raises received signals via kill(0, sig) -- process GROUP wide (strace -k evidence) -- and the child previously shared the harness's pgrp, so an interrupted SSL handshake killed the whole suite (exit 130). Also fixed while re-baselining on the de-nix toolchain (pre-existing, now deterministic): raft_init zeroes pre-vote tally state (pre_vote_in_progress/ pre_votes_granted/pre_vote_replies were left at stack garbage); push_config_to_standbys clears stale config acks before fan-out (repl_reset_config_acks) -- SHA-256-derived tags are not monotonic, so a previous push's ack numerically above the new tag fabricated a barrier quorum; capnpc-c's generated encode_* memsets the destination first (skipped Data fields fed garbage into capn_setp). Validation: asan profile 161/161 meson tests green (one known p2_integration -110 timing flake on first run, green on re-run); debug + release full builds OK; tarball smoke-tested on the build host. Cluster rollout on t1/t2/t3 follows. Co-Authored-By: Claude Code <noreply@anthropic.com>
70 lines
1.9 KiB
Text
70 lines
1.9 KiB
Text
*~
|
|
*.AppImage
|
|
result
|
|
\#*\#
|
|
|
|
# Editor swap/backup files
|
|
*.swp
|
|
*.swo
|
|
*~
|
|
.*.swp
|
|
|
|
# Build outputs
|
|
src/frontend/apiserver/apiserver
|
|
src/frontend/xcecli/xcecli
|
|
|
|
# Logs and tokens (runtime state)
|
|
src/frontend/apiserver/logs/
|
|
src/frontend/apiserver/tokens/
|
|
# Added by code-review-graph
|
|
.code-review-graph/
|
|
.remember
|
|
graphify-out/
|
|
.cache
|
|
|
|
# --- session checkpoint 2026-06-21: machine-generated / local artifacts ---
|
|
.codegraph/
|
|
.xce-durability-acked.*
|
|
*.bak
|
|
ucai-formatter-cache.local.json
|
|
|
|
# --- session checkpoint 2026-07-03: scratch soak-run output at repo root ---
|
|
/codegraph.html
|
|
/final_suite_run.log
|
|
/xce-durability-*.log
|
|
/xce-ha-soak*.log
|
|
|
|
# --- session checkpoint 2026-07-22: cluster.bin is always freshly built by
|
|
# xceadmin now (deploy-ha.sh / run-ha-soak.sh), never a checked-in fixture ---
|
|
ha/data/cluster.bin
|
|
|
|
# --- session checkpoint 2026-08-21: Python bytecode cache, e.g. from
|
|
# scripts/gitea-sync.py ---
|
|
__pycache__/
|
|
*.pyc
|
|
|
|
# --- session checkpoint 2026-08-21: agent-shell session transcripts can
|
|
# capture raw env dumps (secrets) -- never checked in ---
|
|
.agent-shell/
|
|
|
|
# --- session checkpoint 2026-08-24: local-only wolf dashboard auth token,
|
|
# never checked in (was committed at 90be04bd; untracked here, LAN-only
|
|
# exposure so no history scrub, just stop tracking it) ---
|
|
.wolf/dashboard-token
|
|
|
|
# --- session checkpoint 2026-08-24: capnp-c codegen output, regenerated
|
|
# from src/schema/controller.capnp by the build -- never checked in ---
|
|
src/lib/controller.capnp.c
|
|
src/lib/controller.capnp.h
|
|
.wolf/daemon.log
|
|
.wolf/token-ledger.json
|
|
|
|
# --- de-nix build (build/de-nix): vendored wrap-subproject trees are COMMITTED
|
|
# (source closure, DEPS.md), but their nested git repos and meson's wrap-hash
|
|
# bookkeeping are local artifacts -- never check them in ---
|
|
src/subprojects/*/.git/
|
|
src/subprojects/*/.meson-subproject-wrap-hash.txt
|
|
src/subprojects/.wraplock
|
|
|
|
# --- de-nix build: packaging output (src/tools/xce-package.sh) ---
|
|
src/dist/
|