feat(dirty-content-fingerprint): apiserver/xcecli meson pass fingerprint to go_build

Both apiserver/meson.build and xcecli/meson.build add
XCE_DIRTY_FINGERPRINT=get_option('dirty_fingerprint'), unquoted,
identically positioned to the existing XCE_GIT_COMMIT/XCE_BUILD_TIME
entries.

Verified independently by review with a distinct test value: fresh
configure + real ninja builds of both binaries confirm the value reaches
go build's actual invocation (visible in go version -m's recorded -ldflags
build setting), matches the C-side -DVERSION_DIRTY_FINGERPRINT= from the
same configure, and degrades to empty identically to the two pre-existing
vars when omitted.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Rongsong Shen 2026-08-21 06:21:21 +00:00
parent b949949367
commit 502dd0230f
No known key found for this signature in database
GPG key ID: 5BCDAAE0123E9FE2
3 changed files with 5 additions and 3 deletions

View file

@ -47,9 +47,9 @@
- _Requirements: 1.1, 5.1_
- _Boundary: go_build script_
- [ ] 4.2 (P) apiserver and xcecli meson builds pass the resolved value through
- Both `apiserver/meson.build` and `xcecli/meson.build` pass `XCE_DIRTY_FINGERPRINT` (from `get_option('dirty_fingerprint')`) into `go_build`'s env, matching the existing `XCE_GIT_COMMIT`/`XCE_BUILD_TIME` pattern exactly (same quoting behavior)
- Observable: a real commit-state fingerprint reaches `go build`'s actual invocation and is embedded in both binaries' Go build-info metadata (`go version -m`), once tasks 4.4/4.5 declare the consuming var
- [x] 4.2 (P) apiserver and xcecli meson builds pass the resolved value through
- Both `apiserver/meson.build` and `xcecli/meson.build` add `'XCE_DIRTY_FINGERPRINT=' + get_option('dirty_fingerprint')`, unquoted, identically positioned to the existing `XCE_GIT_COMMIT`/`XCE_BUILD_TIME` entries
- Observable confirmed live (independently re-verified by review with a distinct test value, fresh configure, and real `ninja` builds of both binaries): the value reaches `go build`'s real invocation and shows up in `go version -m`'s recorded `-ldflags` build setting for both apiserver and xcecli; matches the C-side `-DVERSION_DIRTY_FINGERPRINT=` byte-for-byte from the same configure; degrades to empty identically to the two pre-existing vars when omitted
- _Requirements: 1.1, 4.1_
- _Boundary: apiserver/meson.build, xcecli/meson.build_
- _Depends: 4.1_