2
0
mirror of https://github.com/xcat2/xcat-dep.git synced 2026-09-12 12:36:23 +00:00
Daniel Hilst a447caccea fix(xcat-dep): deploy each repo cell atomically, self-cleaning
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>
2026-08-21 19:04:34 -03:00
2013-05-29 14:58:44 +00:00
2008-10-13 15:50:23 +00:00
2011-11-08 18:33:23 +00:00
2009-07-08 18:55:52 +00:00
2020-01-06 16:34:55 -05:00
2018-11-29 05:44:55 -05:00
2020-01-06 16:34:55 -05:00
2018-11-29 05:44:55 -05:00
2008-04-10 19:42:20 +00:00
2011-09-21 19:13:13 +00:00
2018-11-29 05:44:55 -05:00
2018-11-29 05:44:55 -05:00
2018-11-29 05:44:55 -05:00
2022-09-26 16:20:45 +02:00
2018-11-29 05:44:55 -05:00
2018-11-29 05:44:55 -05:00
2009-04-24 20:17:23 +00:00
2016-12-12 13:44:39 -05:00
2026-06-20 17:28:16 -03:00
2018-11-08 00:40:02 -05:00
S
Description
No description provided
223 MiB
Languages
C 89%
Perl 6.7%
Assembly 1.4%
JavaScript 0.8%
Makefile 0.6%
Other 1.4%