chore(wolf): checkpoint buglog.json (984 bugs)
This commit is contained in:
parent
bca639749d
commit
dc574abf54
1 changed files with 21 additions and 0 deletions
|
|
@ -17774,6 +17774,27 @@
|
|||
],
|
||||
"occurrences": 1,
|
||||
"last_seen": "2026-08-20T08:30:00Z"
|
||||
},
|
||||
{
|
||||
"id": "bug-1603",
|
||||
"timestamp": "2026-08-20T09:20:00Z",
|
||||
"error_message": "build-time-versioning task 2.2 REJECTED by reviewer: `nix build .#xcecore_debug` (no flags, the exact documented/task-Observable command) failed at evaluation with `error: attribute 'currentTime' missing`; also the raw epoch-seconds string didn't satisfy Requirement 1.2's absolute-UTC-form requirement.",
|
||||
"file": "src/flake.nix, src/nixSupport/default.nix, src/nixSupport/xce.nix, src/nixSupport/xcecli.nix",
|
||||
"root_cause": "First attempt computed myBuildTime = builtins.toString builtins.currentTime at flake-evaluation time (src/flake.nix), threaded through nixSupport/default.nix into xce.nix/xcecli.nix's mesonFlags. builtins.currentTime is stripped entirely under a flake's default pure evaluation (not just fixed to a dummy value -- the attribute itself is removed from `builtins`), so any nix build/eval that forces it fails unless --impure is passed. This also produced a raw epoch-seconds string, not an ISO-8601 UTC string like xce-build.sh's (task 2.1) `date -u +%Y-%m-%dT%H:%M:%SZ` output.",
|
||||
"fix": "Moved the build-time computation OUT of Nix expression evaluation and INTO each derivation's build phase. xce.nix and xcecli.nix each gained a `preConfigure` hook that runs `date -u +%Y-%m-%dT%H:%M:%SZ` (stdenv's bundled coreutils, always available in the build sandbox, unaffected by pure-eval, no --impure/git/network needed) and appends `-Dbuild_time=$buildTime` to `mesonFlagsArray` (verified against the real nixpkgs meson setup-hook.sh: mesonConfigurePhase runs `runHook preConfigure` BEFORE it reads mesonFlags/mesonFlagsArray via `concatTo`, so the appended flag is picked up at configure time). The hook `exit 1`s if `date` produces empty output, mirroring xce-build.sh's own non-empty-check discipline. Since build_time is no longer an eval-time concept, `myBuildTime` was removed entirely from flake.nix/nixSupport/default.nix/the xce.nix+xcecli.nix function signatures and their eval-time asserts -- only myCommitId (a genuine eval-time/flake-level value from self.shortRev/self.dirtyShortRev) still threads through. Live-verified: `nix eval --json .#packages.x86_64-linux.xcecore_debug.mesonFlags` (no --impure) succeeds; `nix build .#xcecore_debug` (no flags) proceeds through evaluation+configure+570/614 ninja targets (all major C binaries linked) before failing only on an unrelated pre-existing sandbox network restriction (autoscaler/bcctool's Go module fetch from goproxy.cn, nothing to do with this fix); build log shows `-Dbuild_time=2026-08-20T09:13:29Z` reaching meson configure and meson's own summary printing `build_time : 2026-08-20T09:13:29Z` (real, non-empty, ISO-8601 UTC). Same confirmed for xcecli.nix (`-Dbuild_time=2026-08-20T09:15:46Z`). `commit_id=bca6397-dirty` confirmed unaffected/still working in both.",
|
||||
"tags": [
|
||||
"nix",
|
||||
"flake",
|
||||
"pure-eval",
|
||||
"builtins.currentTime",
|
||||
"build-time-versioning",
|
||||
"meson",
|
||||
"preConfigure",
|
||||
"mesonFlagsArray"
|
||||
],
|
||||
"related_bugs": [],
|
||||
"occurrences": 1,
|
||||
"last_seen": "2026-08-20T09:20:00Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue