mirror of
https://github.com/xcat2/xcat-dep.git
synced 2026-09-12 04:26:25 +00:00
657da58934ae21f68f40175b9dbaf2ab395687f2
Until now mockbuild-all.pl built every dep package + every perl package + genesis on every target, and TOLERATED build-step failures: a builder "expected to fail on a given arch/el" (e.g. perl-Sys-Virt on el8) was warned and swept under the rug, with correctness only re-checked after the fact by a hardcoded assert_required_deps set. That hid real failures until the post-collection gate and shipped packages a target does not need. Replace that with an explicit, empirically-derived manifest. package-manifest.conf has one [<target>] section per (EL, arch) listing <package>=<version|*>; each target builds ONLY the packages listed for it. The sets were derived authoritatively -- on a clean MN of each of the six targets, xcat.org LATEST xcat-core + xcat-dep were configured, `dnf install xCAT` was run, and the packages whose from_repo=xcat-dep were captured. That is exactly what xCAT pulls from xcat-dep on that target. Results: conserver-xcat is required by no target (goconserver supersedes it), and the variable perl modules differ per EL because the OS/EPEL already provides the rest there. Build failures are no longer tolerated: run_build_steps_parallel now returns the failed step ids and build_one_target fails the whole run if any required package failed. The one exception is xCAT-genesis-base -- xcat-core's buildrpms.pl exits non-zero on an unrelated post-build xCAT-release-latest cp even when the genesis rpm IS produced, so genesis is judged by rpm-produced, not exit code. mockbuild-perl-packages.pl already honors --packages; the orchestrator now passes each target's required perl subset so only those are built. 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%