mirror of
https://github.com/xcat2/xcat-dep.git
synced 2026-09-12 12:36:23 +00:00
a447caccea7576ae0a272263192cea9fc7e655da
PR #62 review #3: deploy_target copied the built rpms ADDITIVELY into an existing rh<N>/<arch> cell (make_path + copy, no wipe), so stale snap-NVR rpms from an earlier run accumulated -- only the pipeline's pre-build `rm -rf rh*/<arch>` prevented a version pile-up, and a standalone run accumulated. It also mutated the live cell before the completeness/signature gate ran. Stage the cell in a sibling temp dir, sign+index+verify it THERE, then atomically swap it into place (move the old cell aside, rename the stage in, drop the old). The cell is rebuilt from scratch each run (self-cleaning, no reliance on the pipeline rm), a failed sign/index/verify leaves the previously-published cell untouched, and no reader sees a half-written cell. The staged metadata is path-independent (fixed xcat.org baseurl; mklocalrepo.sh resolves the path at runtime), so the swap is byte-for-byte what a direct write produced. The cross-arch genesis (--finalize-xcat-dep) runs later and re-populates the foreign-arch genesis, so rebuilding this single-arch cell from $src is correct. Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>
Description
No description provided
Languages
C
89%
Perl
6.7%
Assembly
1.4%
JavaScript
0.8%
Makefile
0.6%
Other
1.4%