From 83cb660b4414a0d628e8cd73ee558e83cf192330 Mon Sep 17 00:00:00 2001 From: Rongsong Shen Date: Sat, 29 Aug 2026 11:35:10 +0000 Subject: [PATCH] fix(bug-1732): build xcecd_virtual in xce-build.sh's worker target The `worker)` case's meson compile target list omitted xcecd_virtual -- the no-root worker binary deploy-ha.sh/the xce-deploy-ha skill needs whenever no real systemd manager is present (the common sandbox case). /xce-build worker alone left it unbuilt, so deploy-ha.sh silently soft-skipped generating start-worker.sh. Verified: xcecd_virtual now builds with a fresh mtime, full worker suite still 5/5. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_019QxaSzHRB7pmYFp4cVnwkA --- .wolf/buglog.json | 6 +++--- src/tools/xce-build.sh | 6 +++++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.wolf/buglog.json b/.wolf/buglog.json index afc7f780..e77db779 100644 --- a/.wolf/buglog.json +++ b/.wolf/buglog.json @@ -19930,7 +19930,7 @@ "error_message": "src/tools/xce-build.sh's `worker` component case never builds `xcecd_virtual` (only `xcecd xcecd_worker xrun controller_connector_test`), even though deploy-ha.sh requires xcecd_virtual whenever no real systemd manager is present (the common case in sandboxes) -- `/xce-build worker` alone leaves a deploy unable to auto-detect/generate start-worker.sh for the virtual worker.", "file": "src/tools/xce-build.sh (worker component case)", "root_cause": "The `worker)` case's explicit meson target list omits `xcecd_virtual`. Confirmed while dispatching a debug-profile build for a bug-1731 live repro: `/xce-build worker debug --incremental` completed successfully but did not produce `xcecd_virtual` in the build dir, requiring a manual `meson compile -C xcecd_virtual` before deploy-ha.sh's own worker-binary auto-detection (Step 3, per the xce-deploy-ha skill) would find it and generate start-worker.sh instead of soft-skipping it.", - "fix": "NOT FIXED -- minor build-tooling gap, not a functional defect in xcecd_virtual itself. Straightforward fix: add `xcecd_virtual` to the worker case's `meson compile` target list in xce-build.sh alongside the existing 4 targets.", + "fix": "FIXED. Added `xcecd_virtual` to the `worker)` case's meson compile target list in src/tools/xce-build.sh (alongside the existing xcecd xcecd_worker xrun controller_connector_test), with a bug-1732-referencing comment. Verified: `xce-build.sh worker asan` now builds xcecd_virtual with a fresh mtime, and the full worker test suite (5/5, including test_uv_ipc_job_exit_severity) still passes with zero regressions.", "tags": [ "build-tooling", "xce-build.sh", @@ -19939,8 +19939,8 @@ "low-priority" ], "related_bugs": [], - "occurrences": 1, - "last_seen": "2026-08-29T05:21:00Z" + "occurrences": 2, + "last_seen": "2026-08-29T11:33:00Z" }, { "id": "bug-1733", diff --git a/src/tools/xce-build.sh b/src/tools/xce-build.sh index 3acc8964..0137a12d 100755 --- a/src/tools/xce-build.sh +++ b/src/tools/xce-build.sh @@ -225,7 +225,11 @@ case "$COMPONENT" in worker) setup_build echo "=== Building lib + worker + tests ===" - meson compile -C "$BUILD_DIR" xcecd xcecd_worker xrun controller_connector_test + # bug-1732: xcecd_virtual (the no-root worker deploy-ha.sh/xce-deploy-ha + # picks whenever /run/systemd/system is absent, e.g. this sandbox) was + # missing from this target list -- /xce-build worker alone left it + # unbuilt, so deploy-ha.sh soft-skipped generating start-worker.sh. + meson compile -C "$BUILD_DIR" xcecd xcecd_worker xcecd_virtual xrun controller_connector_test if [ "$RUN_TESTS" = 1 ]; then echo "=== Running worker tests ===" meson test -C "$BUILD_DIR" --suite worker --print-errorlogs