From e65c33cbcd7cd393b4dd2b9bf6387b4fe5273fd7 Mon Sep 17 00:00:00 2001 From: Daniel Hilst <392820+dhilst@users.noreply.github.com> Date: Thu, 25 Jun 2026 15:42:03 -0300 Subject: [PATCH 01/14] fix(syslinux): allow noarch xcat subpackage to ship bootloader blobs on EL8/EL9 The syslinux-xcat subpackage is BuildArch: noarch but deliberately bundles the arch-dependent PXELINUX/SYSLINUX bootloader blobs under /opt/xcat/share/xcat/netboot/syslinux. EL10 rpm does not flag these real-mode binaries, but EL8/EL9 rpm aborts the build with "Arch dependent binaries in noarch package", so syslinux-xcat 6.03 could not be rebuilt for rh8/rh9 and the 2.17 -> 2.18 upgrade had no syslinux-xcat >= 6.03-1 to satisfy xCAT 2.18. Set %_binaries_in_noarch_packages_terminate_build 0 so the self-contained xcat netboot payload builds across EL8/EL9/EL10. --- syslinux/syslinux-xcat.spec | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/syslinux/syslinux-xcat.spec b/syslinux/syslinux-xcat.spec index 37a9de6..ec29645 100644 --- a/syslinux/syslinux-xcat.spec +++ b/syslinux/syslinux-xcat.spec @@ -1,6 +1,13 @@ # -*- rpm -*- %define RPMVERSION 6.03 %define VERSION 6.03 +# The syslinux-xcat subpackage is BuildArch: noarch but deliberately ships the +# arch-dependent PXELINUX/SYSLINUX bootloader blobs (pxelinux.0, *.c32) under +# /opt/xcat/share/xcat/netboot/syslinux. Newer rpm (EL10) does not flag these +# real-mode/COM32 binaries, but EL8/EL9 rpm aborts the build with +# "Arch dependent binaries in noarch package". Disable that QA gate so the +# self-contained xcat netboot payload builds across EL8/EL9/EL10. +%global _binaries_in_noarch_packages_terminate_build 0 Summary: Kernel loader which uses a FAT, ext2/3 or iso9660 filesystem or a PXE network Name: syslinux Version: %{RPMVERSION} From bc674182b9a4f086aea7fa665a2b1786c9b6003c Mon Sep 17 00:00:00 2001 From: Daniel Hilst <392820+dhilst@users.noreply.github.com> Date: Thu, 25 Jun 2026 15:42:03 -0300 Subject: [PATCH 02/14] fix(perl): use explicit -P patch form for EL8/EL9 rpm compatibility perl-HTTP-Async and perl-Net-HTTPS-NB used the bare-number "%patch 0" form, which only rpm >= 4.18 (EL10) understands. On EL8 (rpm 4.14) and EL9 (rpm 4.16) the SRPM build fails with "%patch without corresponding Patch: tag", so neither perl-HTTP-Async 0.30-3 nor perl-Net-HTTPS-NB 0.14-3 could be rebuilt for rh8/rh9 and the 2.17 -> 2.18 upgrade reported "nothing provides" for both. Use the portable "%patch -P 0" form so the patch applies on EL8/EL9/EL10. --- perl-HTTP-Async/perl-HTTP-Async.spec | 6 +++++- perl-Net-HTTPS-NB/perl-Net-HTTPS-NB.spec | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/perl-HTTP-Async/perl-HTTP-Async.spec b/perl-HTTP-Async/perl-HTTP-Async.spec index d05264c..ec425b5 100644 --- a/perl-HTTP-Async/perl-HTTP-Async.spec +++ b/perl-HTTP-Async/perl-HTTP-Async.spec @@ -39,7 +39,11 @@ using 'select' lists. %prep %setup -q -n %{upstream_name}-%{upstream_version} -%patch 0 -p1 +# Use the explicit -P form so the patch applies on EL8 (rpm 4.14) and EL9 +# (rpm 4.16) as well as EL10 (rpm 4.19). The bare-number "%patch 0" form is +# only understood by rpm >= 4.18 and fails older rpm with +# "%patch without corresponding Patch: tag". +%patch -P 0 -p1 %build CFLAGS="$RPM_OPT_FLAGS $CFLAGS" %__perl Makefile.PL diff --git a/perl-Net-HTTPS-NB/perl-Net-HTTPS-NB.spec b/perl-Net-HTTPS-NB/perl-Net-HTTPS-NB.spec index 1a13e86..49c2039 100644 --- a/perl-Net-HTTPS-NB/perl-Net-HTTPS-NB.spec +++ b/perl-Net-HTTPS-NB/perl-Net-HTTPS-NB.spec @@ -37,7 +37,11 @@ addition allows non-blocking connect. %prep %setup -q -n %{upstream_name}-%{upstream_version} -%patch 0 -p1 +# Use the explicit -P form so the patch applies on EL8 (rpm 4.14) and EL9 +# (rpm 4.16) as well as EL10 (rpm 4.19). The bare-number "%patch 0" form is +# only understood by rpm >= 4.18 and fails older rpm with +# "%patch without corresponding Patch: tag". +%patch -P 0 -p1 %build %__perl Makefile.PL From b0fe49a81a45826b03f0b12e4543eb98dc544a9b Mon Sep 17 00:00:00 2001 From: Daniel Hilst <392820+dhilst@users.noreply.github.com> Date: Mon, 29 Jun 2026 07:37:53 -0300 Subject: [PATCH 03/14] fix(ipmitool): build against OpenSSL 3 where MD2 is unavailable On openSUSE Leap 15 (OpenSSL 3) the build fails compiling src/plugins/lan/auth.c with "unknown type name MD2_CTX". OpenSSL 3 removed MD2 from the default provider but still installs a stub openssl/md2.h, so configure's AC_CHECK_HEADER probe succeeds and defines HAVE_CRYPTO_MD2 -- yet MD2_CTX and the MD2_* functions no longer exist, so auth.c's MD2 code path will not compile. Export ac_cv_header_openssl_md2_h=no in %build to force the probe negative, selecting the existing no-MD2 branch (which just warns that MD2 IPMI authcodes are unsupported -- an obsolete, insecure scheme). Systems with a real md2.h are unaffected. Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com> --- ipmitool/ipmitool.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ipmitool/ipmitool.spec b/ipmitool/ipmitool.spec index 2397b63..a4618b8 100644 --- a/ipmitool/ipmitool.spec +++ b/ipmitool/ipmitool.spec @@ -88,6 +88,10 @@ for f in AUTHORS ChangeLog; do done %build +# OpenSSL 3 ships a stub openssl/md2.h, so configure's header probe sets +# HAVE_CRYPTO_MD2 even though MD2_CTX/MD2_* are gone -> auth.c fails to compile. +# Force the probe negative so the no-MD2 code path is used (MD2 IPMI auth is obsolete). +export ac_cv_header_openssl_md2_h=no # --disable-dependency-tracking speeds up the build # --enable-file-security adds some security checks # --disable-intf-free disables FreeIPMI support - we don't want to depend on From 9c811bacfd529634b1de1d044bdab8cfa1e53110 Mon Sep 17 00:00:00 2001 From: Daniel Hilst <392820+dhilst@users.noreply.github.com> Date: Mon, 29 Jun 2026 07:38:47 -0300 Subject: [PATCH 04/14] fix(perl-deps): build CPAN perl module specs on openSUSE perl-HTTP-Async and perl-Net-HTTPS-NB fail to build on openSUSE Leap 15 for two reasons. First, the patch is applied with "%patch 0 -p1"; rpm 4.14+ no longer accepts the space-separated number form and aborts %prep with "%patch without corresponding Patch: tag" -- the supported spelling is "%patch0 -p1". Second, %files is driven by a version-filelist built during %install that records the man pages as *.3pm, but openSUSE's brp-compress then gzips them to *.3pm.gz, so %files fails with "File not found" for every man page. Disable the install-post hooks with %define __os_install_post %{nil} (harmless for these noarch pure-perl modules) so the packaged names match the file list. Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com> --- perl-HTTP-Async/perl-HTTP-Async.spec | 12 ++++++++++-- perl-Net-HTTPS-NB/perl-Net-HTTPS-NB.spec | 12 ++++++++++-- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/perl-HTTP-Async/perl-HTTP-Async.spec b/perl-HTTP-Async/perl-HTTP-Async.spec index ec425b5..39d1ba4 100644 --- a/perl-HTTP-Async/perl-HTTP-Async.spec +++ b/perl-HTTP-Async/perl-HTTP-Async.spec @@ -40,11 +40,19 @@ using 'select' lists. %setup -q -n %{upstream_name}-%{upstream_version} # Use the explicit -P form so the patch applies on EL8 (rpm 4.14) and EL9 -# (rpm 4.16) as well as EL10 (rpm 4.19). The bare-number "%patch 0" form is -# only understood by rpm >= 4.18 and fails older rpm with +# (rpm 4.16), EL10 (rpm 4.19), and openSUSE Leap 15 (rpm 4.14). The bare-number +# "%patch 0" form is only understood by rpm >= 4.18 and fails older rpm with # "%patch without corresponding Patch: tag". %patch -P 0 -p1 +# openSUSE's brp-compress gzips the man pages after the %install file list is +# generated, so %files then looks for *.3pm but finds *.3pm.gz. Disable the +# install-post hooks there (harmless for a noarch perl module) to keep names in +# sync; EL's brp-compress handling already matches, so scope this to SUSE. +%if 0%{?suse_version} +%define __os_install_post %{nil} +%endif + %build CFLAGS="$RPM_OPT_FLAGS $CFLAGS" %__perl Makefile.PL diff --git a/perl-Net-HTTPS-NB/perl-Net-HTTPS-NB.spec b/perl-Net-HTTPS-NB/perl-Net-HTTPS-NB.spec index 49c2039..1e04ad2 100644 --- a/perl-Net-HTTPS-NB/perl-Net-HTTPS-NB.spec +++ b/perl-Net-HTTPS-NB/perl-Net-HTTPS-NB.spec @@ -38,11 +38,19 @@ addition allows non-blocking connect. %setup -q -n %{upstream_name}-%{upstream_version} # Use the explicit -P form so the patch applies on EL8 (rpm 4.14) and EL9 -# (rpm 4.16) as well as EL10 (rpm 4.19). The bare-number "%patch 0" form is -# only understood by rpm >= 4.18 and fails older rpm with +# (rpm 4.16), EL10 (rpm 4.19), and openSUSE Leap 15 (rpm 4.14). The bare-number +# "%patch 0" form is only understood by rpm >= 4.18 and fails older rpm with # "%patch without corresponding Patch: tag". %patch -P 0 -p1 +# openSUSE's brp-compress gzips the man pages after the %install file list is +# generated, so %files then looks for *.3pm but finds *.3pm.gz. Disable the +# install-post hooks there (harmless for a noarch perl module) to keep names in +# sync; EL's brp-compress handling already matches, so scope this to SUSE. +%if 0%{?suse_version} +%define __os_install_post %{nil} +%endif + %build %__perl Makefile.PL From 56cef7de862281bec4f5498bf1620e10bfdf38fa Mon Sep 17 00:00:00 2001 From: Daniel Hilst <392820+dhilst@users.noreply.github.com> Date: Mon, 29 Jun 2026 19:48:55 +0000 Subject: [PATCH 05/14] feat(mockbuild-all): build xCAT-genesis-base per target (OS-dependent dep) xCAT-genesis-base's dracut initramfs bundles the build chroot kernel + glibc/busybox/perl, so it is OS-dependent and cannot ship in the single flat xcat-core. Build it here, per target, via buildrpms.pl --package xCAT-genesis-base (which derives the same snap Release from xcat-core Gitepoch, matching xCAT-genesis-scripts). Add --skip-genesis to opt out. In the split pipeline (--skip-xcat) the orchestrator (cluster-test.pl) routes the resulting genesis-base from the xCAT dist tree into the per-EL xcat-dep repo -- robust to this script exiting non-zero on tolerated dep-builder failures -- so this script no longer collects the xCAT dist tree in that mode. Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com> --- mockbuild-all.pl | 48 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 46 insertions(+), 2 deletions(-) diff --git a/mockbuild-all.pl b/mockbuild-all.pl index 186dc33..1079729 100755 --- a/mockbuild-all.pl +++ b/mockbuild-all.pl @@ -26,6 +26,7 @@ my $skip_build = 0; my $skip_xcat_dep = 0; my $skip_perl = 0; my $skip_xcat = 0; +my $skip_genesis = 0; my $skip_createrepo = 0; my $skip_tarball = 0; my $scrub_all_chroots = 0; @@ -46,6 +47,7 @@ GetOptions( 'skip-xcat-dep!' => \$skip_xcat_dep, 'skip-perl!' => \$skip_perl, 'skip-xcat!' => \$skip_xcat, + 'skip-genesis!' => \$skip_genesis, 'skip-createrepo!' => \$skip_createrepo, 'skip-tarball!' => \$skip_tarball, 'scrub-all-chroots!' => \$scrub_all_chroots, @@ -90,6 +92,11 @@ die "Could not resolve major release from VERSION_ID='$version_id' in /etc/os-re if (!$target) { $target = resolve_mock_cfg($os_id, $rel, $arch); } +# The build output identity must be per-target (os version + arch). SOURCE_DATE_EPOCH +# is the same across targets for a given commit, so a timestamp-only run_id makes +# different targets (e.g. alma+epel-8 vs -9) share build-output/ and +# cross-contaminate. Fold the target into run_id so each target gets its own tree. +$run_id = "$target-$run_id" unless index($run_id, $target) >= 0; for my $bin (qw(perl uname createrepo tar find rpm)) { require_command($bin); } @@ -152,6 +159,7 @@ print "skip_build: $skip_build\n"; print "skip_xcat_dep: $skip_xcat_dep\n"; print "skip_perl: $skip_perl\n"; print "skip_xcat: $skip_xcat\n"; +print "skip_genesis: $skip_genesis\n"; print "skip_install: $skip_install\n"; print "skip_createrepo: $skip_createrepo\n"; print "skip_tarball: $skip_tarball\n"; @@ -242,6 +250,31 @@ if (!$skip_build) { }; } + # xCAT-genesis-base is OS-dependent (its initramfs bundles the build chroot's + # kernel + glibc/busybox/perl), so it is built here, per target, and shipped + # in this per-EL xcat-dep repo rather than in the flat xcat-core. buildrpms.pl + # (run in the xcat-core dir) derives the same snapYYYYMMDDHHMM Release from + # xcat-core's Gitepoch, so it matches xCAT-genesis-scripts (built in core) and + # the exact-version dependency genesis-scripts -> genesis-base resolves. + if (!$skip_genesis) { + my $cmd = join(' ', + 'perl', sh_quote("$xcat_src/buildrpms.pl"), + '--package', 'xCAT-genesis-base', + '--target', sh_quote($target), + '--nproc', int($nproc), + '--force', + '--verbose', + '--xcat_dep_path', sh_quote($repo_root), + ); + push @build_steps, { + id => 'genesis', + step => 'Build xCAT-genesis-base (per-target, OS-dependent)', + cmd => $cmd, + cwd => $xcat_src, + log => "$log_root/genesis-build.log", + }; + } + if (@build_steps) { my $effective_parallel_builds = defined($parallel_builds) ? $parallel_builds @@ -255,7 +288,16 @@ if (!$skip_build) { my $xcat_rpms_dir = "$xcat_src/dist/$target/rpms"; my $xcat_srpms_dir = "$xcat_src/dist/$target/srpms"; -push @collect_roots, $xcat_rpms_dir; + +# In monolithic mode (no --skip-xcat) the whole xCAT core built here (incl. +# genesis-base) is collected into this repo. In the split pipeline (--skip-xcat, +# core built separately) the orchestrator (cluster-test.pl) routes +# xCAT-genesis-base from the xCAT dist tree into the per-EL dep repo itself -- +# robust to this script exiting non-zero on tolerated dep-builder failures -- so +# we deliberately do NOT collect the xCAT dist tree here. +if (!$skip_xcat) { + push @collect_roots, $xcat_rpms_dir; +} if ($skip_build) { push @collect_roots, @@ -272,7 +314,9 @@ if ($skip_build) { push @collect_roots, @extra_collect_dirs; @collect_roots = uniq(@collect_roots); -my @srpm_collect_roots = uniq(@collect_roots, $xcat_srpms_dir); +my @srpm_collect_roots = (!$skip_xcat) + ? uniq(@collect_roots, $xcat_srpms_dir) + : uniq(@collect_roots); print_step('Collect RPM artifacts'); print "collection roots:\n"; From 4a3720a3054cdfc31182659b589997741b16fcf0 Mon Sep 17 00:00:00 2001 From: Daniel Hilst <392820+dhilst@users.noreply.github.com> Date: Wed, 1 Jul 2026 13:46:34 -0300 Subject: [PATCH 06/14] fix(goconserver): bump Release to 3 for the /var/lib/goconserver datadir fix Commit f6f8640 added the /var/lib/goconserver datadir so goconserver can create its nodes.json store and makegocons can register consoles, but kept Release: 2. The fixed build then shared an identical NVR (goconserver-0.3.3-2) with the pre-fix build, so a stale pre-fix -2 could be (and was) served to management nodes where makegocons still failed ("open /var/lib/goconserver/nodes.json: no such file or directory"). Bump Release to 3 so the datadir fix is a distinct, upgradeable version that cannot collide with the pre-fix -2. Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com> --- goconserver/mockbuild.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/goconserver/mockbuild.pl b/goconserver/mockbuild.pl index ff2b0df..c0508b2 100755 --- a/goconserver/mockbuild.pl +++ b/goconserver/mockbuild.pl @@ -187,7 +187,7 @@ print_step("Create spec and build RPM"); my $spec_content = <<"SPEC"; Name: goconserver Version: $version -Release: 2.el$rel +Release: 3.el$rel Summary: Console server written in Go for xCAT License: EPL-1.0 URL: https://github.com/xcat2/goconserver From a83a23c57a1edbc07af8ed6ccc37fe03381e5bfa Mon Sep 17 00:00:00 2001 From: Daniel Hilst <392820+dhilst@users.noreply.github.com> Date: Thu, 2 Jul 2026 06:38:56 -0300 Subject: [PATCH 07/14] feat(mockbuild-all): emit deployable signed per-EL xcat-dep repo mockbuild-all.pl now assembles a signed, deployable xcat-dep repo under --repo-dep/rh{8,9,10}/, each with xcat-dep.repo, mklocalrepo.sh and buildinfo.txt, ready to push to xcat.org (obsoletes cluster-test.pl's dep collection). Default build loops rh8/rh9/rh10 for the host arch only; --target still selects a single target. xCAT-genesis-base is collected into each per-EL repo. New options: --repo-dep, --gpg-sign, --gpg-key-name, --gpg-home. No dhcp- packages are built (DHCP is a rich dep in xCAT.spec), so nothing to exclude for el10. Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com> --- mockbuild-all.pl | 209 ++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 197 insertions(+), 12 deletions(-) diff --git a/mockbuild-all.pl b/mockbuild-all.pl index 1079729..807da26 100755 --- a/mockbuild-all.pl +++ b/mockbuild-all.pl @@ -32,11 +32,19 @@ my $skip_tarball = 0; my $scrub_all_chroots = 0; my $dry_run = 0; my @extra_collect_dirs; +my $repo_dep = ''; +my $gpg_sign = 0; +my $gpg_key_name = 'xCAT Automatic Signing Key'; +my $gpg_home = ''; GetOptions( 'repo-root=s' => \$repo_root, 'xcat-source=s' => \$xcat_src, 'output-root=s' => \$output_root, + 'repo-dep=s' => \$repo_dep, + 'gpg-sign!' => \$gpg_sign, + 'gpg-key-name=s' => \$gpg_key_name, + 'gpg-home=s' => \$gpg_home, 'target=s' => \$target, 'nproc=i' => \$nproc, 'parallel-builds=i' => \$parallel_builds, @@ -77,6 +85,9 @@ if ($run_id eq '') { $run_id = strftime('%Y%m%d-%H%M%S', gmtime($SOURCE_DATE_EPOCH)); } +# Deployable per-EL xcat-dep repo root (rh8/rh9/rh10/ assembled here). +$repo_dep = "$repo_root/build-output/xcat-dep" if $repo_dep eq ''; + $xcat_src = resolve_xcat_source($xcat_src, $repo_root); my $arch = capture('uname -m'); @@ -89,18 +100,48 @@ die "Could not resolve ID from /etc/os-release\n" if $os_id eq ''; die "Could not resolve major release from VERSION_ID='$version_id' in /etc/os-release\n" if !defined($rel) || $rel eq ''; -if (!$target) { - $target = resolve_mock_cfg($os_id, $rel, $arch); -} -# The build output identity must be per-target (os version + arch). SOURCE_DATE_EPOCH -# is the same across targets for a given commit, so a timestamp-only run_id makes -# different targets (e.g. alma+epel-8 vs -9) share build-output/ and -# cross-contaminate. Fold the target into run_id so each target gets its own tree. -$run_id = "$target-$run_id" unless index($run_id, $target) >= 0; for my $bin (qw(perl uname createrepo tar find rpm)) { require_command($bin); } require_command('mock') if $scrub_all_chroots; +require_command('rpmsign') if $gpg_sign; +require_command('gpg') if $gpg_sign; + +# An explicit --target builds just that target; otherwise build the current host +# arch across rh8/rh9/rh10 into a deployable per-EL xcat-dep repo. This script builds +# ONLY the host arch (uname -m) -- the other arch is produced on its own build host. +my @build_targets = $target + ? ($target) + : map { resolve_mock_cfg($os_id, $_, $arch) } (8, 9, 10); + +# NOTE: no dhcp- packages are built here. DHCP backend selection is an install-time +# rich dep in xCAT.spec (kea if system-release>=10 else /usr/sbin/dhcpd), so there is +# nothing arch/EL-specific to build or to exclude for el10. + +print_step('Targets to build'); +print " $_\n" for @build_targets; +print "deploy repo-dep: $repo_dep\n"; +print "gpg_sign: $gpg_sign\n"; + +for my $tgt (@build_targets) { + my $info = build_one_target($tgt, $run_id); + deploy_target($tgt, $info); +} + +print_step('All targets completed'); +exit 0; + +# Build a single target into its own build-output/ tree and return +# { repo_dir, rel }. Everything below through the summary is per-target work. +sub build_one_target { + my ($target, $run_id) = @_; + # The build output identity must be per-target (os version + arch). SOURCE_DATE_EPOCH + # is the same across targets for a given commit, so a timestamp-only run_id makes + # different targets (e.g. alma+epel-8 vs -9) share build-output/ and + # cross-contaminate. Fold the target into run_id so each target gets its own tree. + $run_id = "$target-$run_id" unless index($run_id, $target) >= 0; + my ($rel) = $target =~ /epel-(\d+)-/; + die "Could not parse EL release from target '$target'\n" unless defined $rel; my $run_root = "$output_root/$run_id"; my $build_root = "$run_root/build-results"; @@ -332,6 +373,17 @@ if (!$dry_run && $copied == 0) { die "No binary RPMs were collected. Check build logs and collection roots.\n"; } +# Ensure the OS-dependent xCAT-genesis-base rpm (built by the genesis step above) +# lands in the dep repo even when the full xCAT core is built elsewhere (--skip-xcat). +if (!$skip_genesis && !$dry_run) { + for my $g (glob("$xcat_rpms_dir/xCAT-genesis-base-*.rpm")) { + next if $g =~ /\.src\.rpm$/; + copy($g, "$repo_dir/" . basename($g)) + or die "Failed to copy genesis-base $g -> $repo_dir: $!\n"; + $copied++; + } +} + print_step('Collect source RPM artifacts'); print "source collection roots:\n"; print " $_\n" for @srpm_collect_roots; @@ -419,7 +471,104 @@ print "SRPM repo dir: $srpm_repo_dir\n"; print "Summary: $summary_file\n" if !$dry_run; print "Tarball: $tarball\n" if !$skip_tarball; print "SRPM Tarball: $srpm_tarball\n" if !$skip_tarball; -exit 0; + + return { repo_dir => $repo_dir, rel => $rel }; +} + +# Assemble the built per-target repo into the deployable, signed per-EL layout +# /rh/: copy the binary rpms, sign, createrepo, and drop the +# xcat-dep.repo / mklocalrepo.sh / buildinfo.txt (ready to push to xcat.org). +sub deploy_target { + my ($tgt, $info) = @_; + my $rel = $info->{rel}; + my $src = $info->{repo_dir}; + my $dest = "$repo_dep/rh$rel/$arch"; + print_step("Deploy $tgt -> $dest"); + return if $dry_run; + make_path($dest); + for my $rpm (glob("$src/*.rpm")) { + next if $rpm =~ /\.src\.rpm$/; + copy($rpm, "$dest/" . basename($rpm)) + or die "Failed to copy $rpm -> $dest: $!\n"; + } + assert_required_deps($dest); + sign_and_index_repo($dest); + write_dep_repo_metadata($dest, $rel); + my $n = scalar(grep { !/\.src\.rpm$/ } glob("$dest/*.rpm")); + print "Deployed rh$rel/$arch: $n rpms\n"; +} + +sub sign_and_index_repo { + my ($dir) = @_; + my @rpms = grep { !/\.src\.rpm$/ } glob("$dir/*.rpm"); + if ($gpg_sign && @rpms) { + local $ENV{GNUPGHOME} = $gpg_home if $gpg_home; + run_simple(qq(rpmsign --define "%_gpg_name $gpg_key_name" --addsign ) + . join(' ', map { sh_quote($_) } @rpms)); + } + run_simple('createrepo --update ' . sh_quote($dir)); + if ($gpg_sign) { + local $ENV{GNUPGHOME} = $gpg_home if $gpg_home; + my $repomd = "$dir/repodata/repomd.xml"; + unlink "$repomd.asc" if -f "$repomd.asc"; + run_simple(qq(gpg -a --detach-sign --default-key "$gpg_key_name" ) . sh_quote($repomd)); + run_simple(qq(gpg -a --export "$gpg_key_name" > ) . sh_quote("$repomd.key")); + } +} + +sub write_dep_repo_metadata { + my ($dir, $rel) = @_; + my $baseurl = "https://xcat.org/files/xcat/repos/yum/devel/xcat-dep/rh$rel/$arch"; + my $gpgcheck = $gpg_sign ? 1 : 0; + my $gpgkey_line = $gpg_sign ? "gpgkey=$baseurl/repodata/repomd.xml.key" : "# gpgkey="; + open my $r, '>', "$dir/xcat-dep.repo" or die "Cannot write $dir/xcat-dep.repo: $!\n"; + print {$r} <<"EOF"; +[xcat-dep] +name=xCAT 2 dependencies (rh$rel $arch) +baseurl=$baseurl +enabled=1 +gpgcheck=$gpgcheck +$gpgkey_line +EOF + close $r; + + open my $m, '>', "$dir/mklocalrepo.sh" or die "Cannot write $dir/mklocalrepo.sh: $!\n"; + print {$m} <<'EOS'; +#!/bin/sh +cd `dirname $0` +REPOFILE=`basename xcat-*.repo` +if [[ $REPOFILE == "xcat-*.repo" ]]; then + echo "ERROR: For xcat-dep, please execute $0 in the correct / subdirectory" + exit 1 +fi +DIRECTORY="/etc/yum.repos.d" +if [ ! -d "$DIRECTORY" ]; then + DIRECTORY="/etc/zypp/repos.d" +fi +sed -e 's|baseurl=.*|baseurl=file://'"`pwd`"'|' $REPOFILE | sed -e 's|gpgkey=.*|gpgkey=file://'"`pwd`"'/repodata/repomd.xml.key|' > "$DIRECTORY/$REPOFILE" +cd - +EOS + close $m; + chmod 0775, "$dir/mklocalrepo.sh"; + + my $build_time = strftime("%a %b %e %H:%M:%S %Z %Y", gmtime($SOURCE_DATE_EPOCH)); + my $build_machine = `hostname`; chomp $build_machine; + my $commit = `git -C "$repo_root" rev-parse HEAD 2>/dev/null`; chomp $commit; + $commit ||= 'unknown'; + my $commit_short = substr($commit, 0, 7); + my $release = strftime('snap%Y%m%d%H%M', gmtime($SOURCE_DATE_EPOCH)); + open my $b, '>', "$dir/buildinfo.txt" or die "Cannot write $dir/buildinfo.txt: $!\n"; + print {$b} <<"EOF"; +TARGET=rh$rel/$arch +RELEASE=$release +BUILD_TIME=$build_time +BUILD_MACHINE=$build_machine +COMMIT_ID=$commit_short +COMMIT_ID_LONG=$commit +SOURCE_DATE_EPOCH=$SOURCE_DATE_EPOCH +EOF + close $b; +} sub usage { return <<"USAGE"; @@ -431,7 +580,13 @@ Options: --repo-root PATH xcat-dep repository root (default: script directory) --xcat-source PATH xCAT source root with buildrpms.pl (default: /xcat-source-code) --output-root PATH Root output directory (default: /build-output/mockbuild-all) - --target NAME Optional unified target in +epel-- format + --repo-dep PATH Deployable per-EL output root; rh8/rh9/rh10/ are + assembled + signed here (default: /build-output/xcat-dep) + --gpg-sign Sign rpms + repomd.xml of each per-EL repo + --gpg-key-name NAME GPG key name (default: "xCAT Automatic Signing Key") + --gpg-home PATH GNUPGHOME for signing (default: system keyring) + --target NAME Build only this target (+epel--); default is + the host arch across rh8, rh9 and rh10 --nproc N Parallel jobs for buildrpms.pl (default: 1) --parallel-builds N Max concurrent top-level build steps (default: auto=queued steps) --run-id ID Run identifier suffix (default: derived from build timestamp) @@ -531,9 +686,14 @@ sub run_build_steps_parallel { my $max_processes = $args{max_processes} // 1; return if !@{$steps}; + # Individual dep-builder failures are TOLERATED (some packages are el-/arch-pinned or + # have dead upstream source URLs, e.g. elilo on el10, perl-Sys-Virt on el8, a moved grub2 + # src.rpm). We collect whatever built and assert the REQUIRED set later (assert_required_deps), + # matching the historical build behaviour. if ($dry_run || $max_processes <= 1 || @{$steps} == 1) { for my $step (@{$steps}) { - run_step(%{$step}); + my $ok = eval { run_step(%{$step}); 1 }; + warn "WARN: build step failed (tolerated): $step->{step}\n" . ($@ // '') unless $ok; } return; } @@ -590,10 +750,35 @@ sub run_build_steps_parallel { push @lines, "$id (exit=$f->{exit}, signal=$f->{signal}, core_dump=$f->{core_dump})"; } - die "Parallel build steps failed:\n " . join("\n ", @lines) . "\n"; + # Tolerated: warn, don't die. The REQUIRED set is asserted after collection/deploy. + warn "WARN: some build steps failed (tolerated; required deps asserted after deploy):\n " + . join("\n ", @lines) . "\n"; } } +# have_rpm: is there a non-src rpm named -... under $dir? +sub have_rpm { + my ($dir, $name) = @_; + my @m = grep { !/\.src\.rpm$/ } glob("$dir/${name}-*.rpm"); + return scalar(@m) > 0; +} + +# assert_required_deps: the per-EL dep repo is unusable without these, so a MISSING one is +# fatal even though individual builder failures are tolerated above. genesis-base is required +# unless --skip-genesis. (grub2-xcat/elilo/xnba are arch/EL-specific and NOT in the hard set.) +sub assert_required_deps { + my ($dir) = @_; + # cross-arch required set; syslinux-xcat is the x86 PXE bootloader (x86-only, cannot build + # on ppc64le). grub2-xcat (ppc netboot) and xnba-undi (x86) are NOT in the hard set -- + # grub2's upstream src.rpm currently 404s, so it is sourced from the published repo. + my @req = qw(ipmitool-xcat perl-IO-Stty perl-HTTP-Async perl-Net-HTTPS-NB); + push @req, 'syslinux-xcat' if $arch eq 'x86_64'; + push @req, 'xCAT-genesis-base' unless $skip_genesis; + my @missing = grep { !have_rpm($dir, $_) } @req; + die "FATAL: required deps missing from $dir: @missing\n" if @missing; + print "[deps] required set present in $dir: @req\n"; +} + sub collect_rpms { my (%args) = @_; my $roots = $args{roots} // []; From 1361332d6edfa8d0d2ee13f7836ea16de11aa5c3 Mon Sep 17 00:00:00 2001 From: Daniel Hilst <392820+dhilst@users.noreply.github.com> Date: Thu, 2 Jul 2026 10:11:51 -0300 Subject: [PATCH 08/14] fix(grub2-xcat): epoch bump to satisfy xCAT-server; dynamic src.rpm URL xCAT-server Requires: grub2-xcat >= 2.02-0.76.el7.1.snap201905160255, but the el10 rewrite reset grub2-xcat to Version 1.0 -- which can never satisfy that. Add Epoch: 1 so 1:1.0-2 outranks 0:2.02 and the (unchanged) xCAT-server dependency resolves. Also stop pinning the upstream grub2 source rpm URL (the distro rolls grub2 forward and prunes the old src.rpm from the mirror -> 404). grub2-xcat/mockbuild.pl now resolves the current grub2 source rpm URL via dnf (download --source --url, then repoquery --location) unless --upstream-url is given. Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com> --- grub2-xcat/grub2-xcat.spec | 4 ++++ grub2-xcat/mockbuild.pl | 30 +++++++++++++++++++++++++++++- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/grub2-xcat/grub2-xcat.spec b/grub2-xcat/grub2-xcat.spec index d861250..7bda5ea 100644 --- a/grub2-xcat/grub2-xcat.spec +++ b/grub2-xcat/grub2-xcat.spec @@ -1,5 +1,9 @@ Summary: grub2 resources generated by grub2-mknetdir Name: grub2-xcat +# This el10 rewrite reset the version scheme from the el7-era 2.02 down to 1.0, but +# xCAT-server still Requires: grub2-xcat >= 2.02-0.76.el7.1.snap201905160255. An Epoch +# bump makes 1:1.0 outrank 0:2.02 so the (unchanged) xCAT-server dependency resolves. +Epoch: 1 Version: 1.0 #Release: snap%(date +"%Y%m%d%H%M") Release: 2 diff --git a/grub2-xcat/mockbuild.pl b/grub2-xcat/mockbuild.pl index adc50da..8b1833d 100755 --- a/grub2-xcat/mockbuild.pl +++ b/grub2-xcat/mockbuild.pl @@ -15,7 +15,10 @@ my $spec_file = "$pkg_dir/grub2-xcat.spec"; my $recompile_dir = "$repo_root/grub2-xcat.recompile"; my $resource_mode = 'reuse-grub2-res'; -my $upstream_url = 'https://mirror.stream.centos.org/10-stream/BaseOS/source/tree/Packages/grub2-2.12-37.el10.src.rpm'; +# Empty by default -> resolved dynamically from the distro's source repo (a pinned URL rots: +# the distro bumps grub2 and prunes the old src.rpm from the mirror -> 404). Override with +# --upstream-url to force a specific source rpm. +my $upstream_url = ''; my $upstream_file = ''; my $work_dir = '/tmp/grub2-xcat-mockbuild'; my $mock_cfg = ''; @@ -56,6 +59,16 @@ for my $bin (qw(wget mock rpmbuild rpm dnf file bash tar sha256sum grep cmp cut) my ($version, @spec_assets) = parse_spec($spec_file); die "Could not parse Version from $spec_file\n" if !$version; +# Resolve the grub2 source RPM URL dynamically unless one was passed. This replaces the old +# hard-pinned mirror.stream.centos.org URL that 404s once the distro rolls grub2 forward. +if (!$upstream_url) { + $upstream_url = resolve_grub2_src_url(); + die "Could not resolve a current grub2 source RPM URL from the source repos.\n" + . "Enable a *-source repo (e.g. baseos-source / BaseOS Source) or pass --upstream-url.\n" + if !$upstream_url; + print "Resolved grub2 source RPM URL: $upstream_url\n"; +} + if (!$upstream_file) { $upstream_file = basename($upstream_url); } @@ -366,6 +379,21 @@ sub run { } } +# resolve_grub2_src_url: ask dnf for the current grub2 source rpm URL from the host's source +# repos, so we track the distro's grub2 instead of a pinned (and eventually 404ing) version. +sub resolve_grub2_src_url { + for my $cmd ( + 'dnf download --source grub2 --url 2>/dev/null', + 'dnf repoquery --quiet --qf "%{location}" --source grub2 2>/dev/null', + ) { + print "+ $cmd\n"; + my $out = `$cmd`; + my ($url) = $out =~ m{(https?://\S+/grub2-\S+\.src\.rpm)}; + return $url if $url; + } + return ''; +} + sub capture { my ($cmd) = @_; print "+ $cmd\n"; From d278615addfb1cd4b1383930e4175cdf52df257c Mon Sep 17 00:00:00 2001 From: Daniel Hilst <392820+dhilst@users.noreply.github.com> Date: Thu, 2 Jul 2026 10:11:51 -0300 Subject: [PATCH 09/14] feat(mockbuild-all): import x86-only noarch deps into the ppc dep repo xCAT Requires xnba-undi and grub2-xcat on every arch, but they only build on x86_64 (xnba-undi is an x86 UNDI netboot ROM; grub2-xcat wraps the distro grub2). Since both are noarch, a ppc build now imports them from a built x86_64 dep repo via the new --import-noarch-repo . Both are added to the required-deps assertion (with a hint to pass --import-noarch-repo on non-x86_64 builds), so an incomplete dep repo fails at build time instead of at xCAT install time. Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com> --- mockbuild-all.pl | 45 +++++++++++++++++++++++++++++++++++++++------ 1 file changed, 39 insertions(+), 6 deletions(-) diff --git a/mockbuild-all.pl b/mockbuild-all.pl index 807da26..eab7742 100755 --- a/mockbuild-all.pl +++ b/mockbuild-all.pl @@ -36,6 +36,7 @@ my $repo_dep = ''; my $gpg_sign = 0; my $gpg_key_name = 'xCAT Automatic Signing Key'; my $gpg_home = ''; +my $import_noarch_repo = ''; GetOptions( 'repo-root=s' => \$repo_root, @@ -45,6 +46,7 @@ GetOptions( 'gpg-sign!' => \$gpg_sign, 'gpg-key-name=s' => \$gpg_key_name, 'gpg-home=s' => \$gpg_home, + 'import-noarch-repo=s' => \$import_noarch_repo, 'target=s' => \$target, 'nproc=i' => \$nproc, 'parallel-builds=i' => \$parallel_builds, @@ -491,6 +493,7 @@ sub deploy_target { copy($rpm, "$dest/" . basename($rpm)) or die "Failed to copy $rpm -> $dest: $!\n"; } + import_shared_noarch($dest); assert_required_deps($dest); sign_and_index_repo($dest); write_dep_repo_metadata($dest, $rel); @@ -585,6 +588,9 @@ Options: --gpg-sign Sign rpms + repomd.xml of each per-EL repo --gpg-key-name NAME GPG key name (default: "xCAT Automatic Signing Key") --gpg-home PATH GNUPGHOME for signing (default: system keyring) + --import-noarch-repo DIR On a non-x86_64 build, import the noarch xnba-undi/grub2-xcat + rpms (x86_64-only-built, but required by xCAT on ppc) from this + already-built x86_64 dep repo dir --target NAME Build only this target (+epel--); default is the host arch across rh8, rh9 and rh10 --nproc N Parallel jobs for buildrpms.pl (default: 1) @@ -763,19 +769,46 @@ sub have_rpm { return scalar(@m) > 0; } +# Noarch deps that xCAT Requires on EVERY arch but that only build on x86_64: xnba-undi is an +# x86 UNDI network-boot ROM, and grub2-xcat wraps the distro grub2 (its src.rpm/tooling is +# x86-centric). Because they are noarch (arch-independent), a ppc build imports them from a +# built x86_64 dep repo (--import-noarch-repo) rather than rebuilding them. +my @SHARED_NOARCH = qw(xnba-undi grub2-xcat); +sub import_shared_noarch { + my ($dest) = @_; + return if $arch eq 'x86_64'; # x86 builds these natively + return if $import_noarch_repo eq ''; # nothing to import from + for my $name (@SHARED_NOARCH) { + next if have_rpm($dest, $name); + my ($src) = grep { /\.noarch\.rpm$/ } glob("$import_noarch_repo/${name}-*.rpm"); + if ($src) { + copy($src, "$dest/" . basename($src)) + or die "Failed to import $src -> $dest: $!\n"; + print "[deps] imported shared noarch $name from $import_noarch_repo\n"; + } + else { + warn "WARN: shared noarch $name not found under --import-noarch-repo $import_noarch_repo\n"; + } + } +} + # assert_required_deps: the per-EL dep repo is unusable without these, so a MISSING one is # fatal even though individual builder failures are tolerated above. genesis-base is required # unless --skip-genesis. (grub2-xcat/elilo/xnba are arch/EL-specific and NOT in the hard set.) sub assert_required_deps { my ($dir) = @_; - # cross-arch required set; syslinux-xcat is the x86 PXE bootloader (x86-only, cannot build - # on ppc64le). grub2-xcat (ppc netboot) and xnba-undi (x86) are NOT in the hard set -- - # grub2's upstream src.rpm currently 404s, so it is sourced from the published repo. - my @req = qw(ipmitool-xcat perl-IO-Stty perl-HTTP-Async perl-Net-HTTPS-NB); - push @req, 'syslinux-xcat' if $arch eq 'x86_64'; + # xCAT Requires all of these on every arch. ipmitool-xcat/syslinux-xcat/perl-* and + # genesis-base build on both arches; grub2-xcat/xnba-undi build on x86_64 and are imported + # into a ppc repo by import_shared_noarch (run just before this check). + my @req = qw(ipmitool-xcat syslinux-xcat grub2-xcat xnba-undi + perl-IO-Stty perl-HTTP-Async perl-Net-HTTPS-NB); push @req, 'xCAT-genesis-base' unless $skip_genesis; my @missing = grep { !have_rpm($dir, $_) } @req; - die "FATAL: required deps missing from $dir: @missing\n" if @missing; + die "FATAL: required deps missing from $dir: @missing\n" + . ($arch ne 'x86_64' && !$import_noarch_repo + ? " (pass --import-noarch-repo to import xnba-undi/grub2-xcat)\n" + : '') + if @missing; print "[deps] required set present in $dir: @req\n"; } From fbb89eff2a05339a5c4529533a2d2a8dd7f909aa Mon Sep 17 00:00:00 2001 From: Daniel Hilst <392820+dhilst@users.noreply.github.com> Date: Thu, 2 Jul 2026 21:50:38 -0300 Subject: [PATCH 10/14] fix(grub2-xcat): drop unused grub2 src.rpm download that broke the build grub2-xcat/mockbuild.pl fetched a grub2 source RPM before building, and that fetch was the only failing step (the pinned CentOS Stream URL now 404s, and the dynamic dnf fallback is fragile on EL10). The download is dead weight: the package is a pure noarch repackaging of the committed grub2-res.tar.gz and the mock build never consumed the src.rpm. Remove the resolve+download machinery. Epoch: 1 stays so 1:1.0 satisfies xCAT-server's legacy >= 2.02 pin and upgrades over old 0:2.02 remain clean. Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com> --- grub2-xcat/mockbuild.pl | 68 ++++------------------------------------- 1 file changed, 6 insertions(+), 62 deletions(-) diff --git a/grub2-xcat/mockbuild.pl b/grub2-xcat/mockbuild.pl index 8b1833d..a7848c9 100755 --- a/grub2-xcat/mockbuild.pl +++ b/grub2-xcat/mockbuild.pl @@ -3,7 +3,7 @@ use strict; use warnings; use Cwd qw(abs_path); -use File::Basename qw(dirname basename); +use File::Basename qw(dirname); use File::Copy qw(copy); use File::Path qw(make_path remove_tree); use Getopt::Long qw(GetOptions); @@ -15,31 +15,22 @@ my $spec_file = "$pkg_dir/grub2-xcat.spec"; my $recompile_dir = "$repo_root/grub2-xcat.recompile"; my $resource_mode = 'reuse-grub2-res'; -# Empty by default -> resolved dynamically from the distro's source repo (a pinned URL rots: -# the distro bumps grub2 and prunes the old src.rpm from the mirror -> 404). Override with -# --upstream-url to force a specific source rpm. -my $upstream_url = ''; -my $upstream_file = ''; my $work_dir = '/tmp/grub2-xcat-mockbuild'; my $mock_cfg = ''; my $mock_uniqueext = ''; my $result_dir = "$repo_root/build-output/list3/grub2-xcat"; my $log_dir = "$repo_root/build-logs/list3/grub2-xcat"; my $skip_install = 0; -my $skip_upstream_download = 0; my $build_timestamp; GetOptions( 'resource-mode=s' => \$resource_mode, - 'upstream-url=s' => \$upstream_url, - 'upstream-file=s' => \$upstream_file, 'work-dir=s' => \$work_dir, 'mock-cfg=s' => \$mock_cfg, 'mock-uniqueext=s' => \$mock_uniqueext, 'result-dir=s' => \$result_dir, 'log-dir=s' => \$log_dir, 'skip-install!' => \$skip_install, - 'skip-upstream-download!' => \$skip_upstream_download, 'build-timestamp=i' => \$build_timestamp, ) or die usage(); @@ -52,28 +43,17 @@ die "Mode regenerate-from-el10-srcrpm is not supported in this script yet; use r make_path($recompile_dir) if !-d $recompile_dir; -for my $bin (qw(wget mock rpmbuild rpm dnf file bash tar sha256sum grep cmp cut)) { +for my $bin (qw(mock rpmbuild rpm dnf file bash tar grep cmp)) { run("command -v " . sh_quote($bin) . " >/dev/null 2>&1"); } my ($version, @spec_assets) = parse_spec($spec_file); die "Could not parse Version from $spec_file\n" if !$version; -# Resolve the grub2 source RPM URL dynamically unless one was passed. This replaces the old -# hard-pinned mirror.stream.centos.org URL that 404s once the distro rolls grub2 forward. -if (!$upstream_url) { - $upstream_url = resolve_grub2_src_url(); - die "Could not resolve a current grub2 source RPM URL from the source repos.\n" - . "Enable a *-source repo (e.g. baseos-source / BaseOS Source) or pass --upstream-url.\n" - if !$upstream_url; - print "Resolved grub2 source RPM URL: $upstream_url\n"; -} - -if (!$upstream_file) { - $upstream_file = basename($upstream_url); -} -die "Could not derive upstream file name from URL: $upstream_url\n" if !$upstream_file; -my $upstream_path = "$recompile_dir/$upstream_file"; +# NOTE: grub2-xcat is a pure noarch repackaging of the committed grub2-res.tar.gz (Source1), +# so the build needs no external source. Fetching the distro grub2 src.rpm would only ever be +# needed by the (currently unimplemented) regenerate-from-el10-srcrpm mode, which would rebuild +# the grub tree from source and commit a fresh grub2-res.tar.gz rather than download at build time. my $arch = capture('uname -m'); if (!$mock_cfg) { @@ -108,10 +88,7 @@ print "result_dir: $result_dir\n"; print "log_dir: $log_dir\n"; print "mock_cfg: $mock_cfg\n"; print "mock_uniqueext: " . ($mock_uniqueext ne '' ? $mock_uniqueext : '(none)') . "\n"; -print "upstream_url: $upstream_url\n"; -print "upstream_file: $upstream_file\n"; print "skip_install: $skip_install\n"; -print "skip_upstream_download: $skip_upstream_download\n"; make_path($result_dir); make_path($log_dir); @@ -119,21 +96,6 @@ make_path($log_dir); print_step("Mock config check"); run("mock -r " . sh_quote($mock_cfg) . $mock_uniqueext_opt . " --print-root-path >/dev/null"); -if (!$skip_upstream_download) { - print_step("Download upstream source RPM"); - run("wget --spider " . sh_quote($upstream_url)); - run("wget -O " . sh_quote($upstream_path) . " " . sh_quote($upstream_url)); - my $sha = capture("sha256sum " . sh_quote($upstream_path) . " | cut -d ' ' -f1"); - my $meta_file = "$log_dir/upstream-source.txt"; - open my $mfh, '>', $meta_file or die "Cannot write $meta_file: $!\n"; - print {$mfh} "url=$upstream_url\n"; - print {$mfh} "file=$upstream_path\n"; - print {$mfh} "sha256=$sha\n"; - close $mfh; - print "Downloaded upstream source rpm: $upstream_path\n"; - print "SHA256: $sha\n"; -} - print_step("Verify grub2 resource payload"); my $resource_tar = "$pkg_dir/grub2-res.tar.gz"; die "Missing required resource tarball: $resource_tar\n" if !-f $resource_tar; @@ -308,14 +270,11 @@ sub usage { return <<"USAGE"; Usage: $0 [options] --resource-mode MODE Build mode: reuse-grub2-res|regenerate-from-el10-srcrpm (default: $resource_mode) - --upstream-url URL Upstream grub2 source RPM URL (default: $upstream_url) - --upstream-file FILE Source RPM filename stored in grub2-xcat.recompile/ (default: basename of URL) --work-dir PATH Temporary work dir (default: $work_dir) --mock-cfg NAME Mock config (default: +epel-10-) --mock-uniqueext TXT Optional mock --uniqueext suffix to isolate concurrent builds --result-dir PATH Output RPM/SRPM directory (default: $result_dir) --log-dir PATH Log directory (default: $log_dir) - --skip-upstream-download Skip wget of upstream source RPM --skip-install Skip dnf install + smoke tests --build-timestamp EPOCH Unix timestamp for deterministic builds (SOURCE_DATE_EPOCH) USAGE @@ -379,21 +338,6 @@ sub run { } } -# resolve_grub2_src_url: ask dnf for the current grub2 source rpm URL from the host's source -# repos, so we track the distro's grub2 instead of a pinned (and eventually 404ing) version. -sub resolve_grub2_src_url { - for my $cmd ( - 'dnf download --source grub2 --url 2>/dev/null', - 'dnf repoquery --quiet --qf "%{location}" --source grub2 2>/dev/null', - ) { - print "+ $cmd\n"; - my $out = `$cmd`; - my ($url) = $out =~ m{(https?://\S+/grub2-\S+\.src\.rpm)}; - return $url if $url; - } - return ''; -} - sub capture { my ($cmd) = @_; print "+ $cmd\n"; From 53fc261235c7e4f555ae6f9cc700cae5a5b82989 Mon Sep 17 00:00:00 2001 From: Daniel Hilst <392820+dhilst@users.noreply.github.com> Date: Fri, 3 Jul 2026 00:51:25 +0000 Subject: [PATCH 11/14] fix(xcat-dep): build every dep natively per arch; parallel-safe repos + genesis mockbuild-all.pl treated xnba-undi/grub2-xcat as x86-only @SHARED_NOARCH imported onto ppc, so an x86 build failure rippled into a fatal "grub2-xcat missing" on ppc; both actually build on any arch (noarch repackaging of committed artifacts) and xCAT requires them on ppc too. Un-gate xnba-undi and drop the import so each host builds a complete, self-sufficient dep repo. Add a single --output that re-roots all NFS-shared output plus a fail-fast lock at /.lock (owner-pid guarded so forked build children do not delete it). Default gpg-key-name to the real "xCAT Signing Key" and --xcat-source to ../xcat-core. Make concurrent builds safe: give the genesis buildrpms.pl its own HOME/rpmbuild tree (a shared /root/rpmbuild raced across parallel targets), and nest the xnba/goconserver rpmbuild dirs under the run-scoped --work-dir (they hard-coded /var/tmp/xcat-rpmbuild-* and wiped each other). Add --parallel-targets/--max-parallel, defaulting to serial since the per-package scripts still share repo tarballs under full parallelism. Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com> --- goconserver/mockbuild.pl | 5 +- mockbuild-all.pl | 231 ++++++++++++++++++++++++++++----------- xnba/mockbuild.pl | 5 +- 3 files changed, 177 insertions(+), 64 deletions(-) diff --git a/goconserver/mockbuild.pl b/goconserver/mockbuild.pl index c0508b2..3b5eb15 100755 --- a/goconserver/mockbuild.pl +++ b/goconserver/mockbuild.pl @@ -89,7 +89,10 @@ print_step("Stage build environment"); remove_tree($work_dir) if -d $work_dir; make_path($work_dir); -my $rpmbuild_top = "/var/tmp/xcat-rpmbuild-goconserver"; +# Unique per run (nested under the run/target-scoped --work-dir) so concurrent builds -- e.g. +# parallel EL targets on one host -- don't wipe each other. (Was a shared +# /var/tmp/xcat-rpmbuild-goconserver, which collided under parallelism.) +my $rpmbuild_top = "$work_dir/rpmbuild"; remove_tree($rpmbuild_top) if -d $rpmbuild_top; for my $d (qw(BUILD BUILDROOT RPMS SOURCES SPECS SRPMS)) { make_path("$rpmbuild_top/$d"); diff --git a/mockbuild-all.pl b/mockbuild-all.pl index eab7742..520677a 100755 --- a/mockbuild-all.pl +++ b/mockbuild-all.pl @@ -14,11 +14,18 @@ use POSIX qw(strftime); my $script_dir = abs_path(dirname(__FILE__)); my $repo_root = abs_path($script_dir); -my $xcat_src = "$repo_root/xcat-source-code"; -my $output_root = "$repo_root/build-output/mockbuild-all"; +my $xcat_src = "$repo_root/../xcat-core"; +# Single knob for all NFS-shared output; --output-root/--repo-dep derive from it below +# unless explicitly overridden. Empty means "not set on the command line". +my $output = ''; +my $output_root = ''; my $target = ''; my $nproc = 1; my $parallel_builds; +my $parallel_targets = 1; # 1 = serial (default; safe). 0/auto = all EL targets at once; N = cap. + # NOTE: parallel targets need every per-package mockbuild.pl to avoid + # shared-path writes (repo tarballs, $HOME/rpmbuild); serial is safe today. +my $max_parallel = 0; # 0/auto = host nproc: global cap on concurrent mock builds (all targets) my $run_id = ''; my $build_timestamp; my $skip_install = 0; @@ -34,22 +41,27 @@ my $dry_run = 0; my @extra_collect_dirs; my $repo_dep = ''; my $gpg_sign = 0; -my $gpg_key_name = 'xCAT Automatic Signing Key'; +my $gpg_key_name = 'xCAT Signing Key'; my $gpg_home = ''; -my $import_noarch_repo = ''; +my $force_unlock = 0; +my $HELD_LOCK; # path of the output lock this process owns (for cleanup on exit) +my $LOCK_OWNER_PID; # pid that created the lock; forked children must NOT remove it GetOptions( 'repo-root=s' => \$repo_root, 'xcat-source=s' => \$xcat_src, + 'output=s' => \$output, 'output-root=s' => \$output_root, 'repo-dep=s' => \$repo_dep, 'gpg-sign!' => \$gpg_sign, 'gpg-key-name=s' => \$gpg_key_name, 'gpg-home=s' => \$gpg_home, - 'import-noarch-repo=s' => \$import_noarch_repo, + 'force-unlock!' => \$force_unlock, 'target=s' => \$target, 'nproc=i' => \$nproc, 'parallel-builds=i' => \$parallel_builds, + 'parallel-targets=i' => \$parallel_targets, + 'max-parallel=i' => \$max_parallel, 'run-id=s' => \$run_id, 'build-timestamp=i' => \$build_timestamp, 'skip-install!' => \$skip_install, @@ -87,8 +99,22 @@ if ($run_id eq '') { $run_id = strftime('%Y%m%d-%H%M%S', gmtime($SOURCE_DATE_EPOCH)); } +# Single output base for every NFS-shared write. Two hosts build in parallel on one NFS by +# passing distinct --output paths. --output-root/--repo-dep, if given, override the derived +# values. Default keeps the historical layout so existing callers are unaffected. +# Create the dir first, THEN abs_path -- abs_path() on a not-yet-existing path returns undef, +# and abs_path(undef) silently resolves to cwd, which would misdirect all output. +my $output_base = $output ne '' ? $output : "$repo_root/build-output"; +make_path($output_base) if !-d $output_base; +$output_base = abs_path($output_base) + or die "Cannot resolve --output base directory\n"; +$output_root = "$output_base/mockbuild-all" if $output_root eq ''; # Deployable per-EL xcat-dep repo root (rh8/rh9/rh10/ assembled here). -$repo_dep = "$repo_root/build-output/xcat-dep" if $repo_dep eq ''; +$repo_dep = "$output_base/xcat-dep" if $repo_dep eq ''; + +# Fail-fast lock on the output base so a second run against the same --output aborts instead of +# racing on the shared NFS tree. Held for the whole invocation; released by the exit handlers. +acquire_output_lock($output_base, $force_unlock); $xcat_src = resolve_xcat_source($xcat_src, $repo_root); @@ -122,13 +148,45 @@ my @build_targets = $target print_step('Targets to build'); print " $_\n" for @build_targets; +print "output_base: $output_base\n"; print "deploy repo-dep: $repo_dep\n"; +print "lock: $output_base/.lock (held)\n"; print "gpg_sign: $gpg_sign\n"; +print "gpg_key_name: $gpg_key_name\n" if $gpg_sign; +print "gpg_home: " . ($gpg_home ne '' ? $gpg_home : '(default keyring)') . "\n" if $gpg_sign; +# Build (and deploy) EL targets concurrently. Each target is fully isolated -- distinct run_id +# (target-folded), mock --uniqueext, /tmp work dir, xcat_src/dist/, and deploy dir +# rh/ -- so there is no cross-target contention. 0/auto = all at once; 1 = serial. +my $tgt_workers = $parallel_targets > 0 ? $parallel_targets : scalar(@build_targets); +$tgt_workers = scalar(@build_targets) if $tgt_workers > scalar(@build_targets); +# Global cap on concurrent mock builds so parallel targets don't oversubscribe the host. Each +# mock build already gets a unique --uniqueext (separate chroot), so the only limit needed is +# hardware: total concurrent builds across all targets stays <= $cap (default host nproc). The +# per-target build-step concurrency is therefore the cap divided across the active targets. +my $cap = $max_parallel > 0 ? $max_parallel : (capture('nproc') || 4); +my $per_target_builds = defined($parallel_builds) ? $parallel_builds : int($cap / $tgt_workers); +$per_target_builds = 1 if $per_target_builds < 1; +print "parallel_targets: " . ($parallel_targets > 0 ? $parallel_targets : "auto($tgt_workers)") . "\n"; +print "max_parallel: $cap (per-target build workers: $per_target_builds)\n"; +my $tgt_pm = Parallel::ForkManager->new($tgt_workers <= 1 ? 0 : $tgt_workers); +my $tgt_fail = 0; +$tgt_pm->run_on_finish(sub { + my ($pid, $exit) = @_; + $tgt_fail++ if $exit; +}); for my $tgt (@build_targets) { - my $info = build_one_target($tgt, $run_id); - deploy_target($tgt, $info); + $tgt_pm->start and next; + my $rc = 0; + eval { + my $info = build_one_target($tgt, $run_id, $per_target_builds); + deploy_target($tgt, $info); + 1; + } or do { warn "ERROR: target $tgt failed: $@"; $rc = 1; }; + $tgt_pm->finish($rc); } +$tgt_pm->wait_all_children; +die "FATAL: $tgt_fail target(s) failed\n" if $tgt_fail; print_step('All targets completed'); exit 0; @@ -136,7 +194,7 @@ exit 0; # Build a single target into its own build-output/ tree and return # { repo_dir, rel }. Everything below through the summary is per-target work. sub build_one_target { - my ($target, $run_id) = @_; + my ($target, $run_id, $max_build_workers) = @_; # The build output identity must be per-target (os version + arch). SOURCE_DATE_EPOCH # is the same across targets for a given commit, so a timestamp-only run_id makes # different targets (e.g. alma+epel-8 vs -9) share build-output/ and @@ -154,18 +212,18 @@ my $tarball = "$output_root/mockbuild-all-$target-$run_id.tar.gz"; my $srpm_repo_dir = "$run_root/repo-src"; my $srpm_tarball = "$output_root/mockbuild-all-$target-$run_id-srpm.tar.gz"; +# All dep builders run natively on every arch. xnba-undi and grub2-xcat are noarch packagings of +# committed artifacts (an x86 UNDI ROM / the grub2 resource tarball) with no arch-specific build +# step, so ppc builds them the same as x86 -- no cross-arch import. my @dep_builders = ( { name => 'elilo-xcat', script => "$repo_root/elilo/mockbuild.pl" }, { name => 'grub2-xcat', script => "$repo_root/grub2-xcat/mockbuild.pl" }, { name => 'ipmitool-xcat', script => "$repo_root/ipmitool/mockbuild.pl" }, { name => 'syslinux-xcat', script => "$repo_root/syslinux/mockbuild.pl" }, { name => 'goconserver', script => "$repo_root/goconserver/mockbuild.pl" }, + { name => 'xnba-undi', script => "$repo_root/xnba/mockbuild.pl" }, ); -if ($arch eq 'x86_64') { - push @dep_builders, { name => 'xnba-undi', script => "$repo_root/xnba/mockbuild.pl" }; -} - my $perl_builder = "$repo_root/mockbuild-perl-packages.pl"; die "Missing xCAT build script: $xcat_src/buildrpms.pl\n" @@ -240,6 +298,8 @@ if (!$skip_build) { '--mock-uniqueext', sh_quote($step_uniqueext), '--result-dir', sh_quote($step_result), '--log-dir', sh_quote($step_log), + # host-local, run-scoped work dir so /tmp doesn't collide between runs + '--work-dir', sh_quote("/tmp/mockbuild-all-$run_id/$name"), '--build-timestamp', $SOURCE_DATE_EPOCH, ($skip_install ? '--skip-install' : ()), ); @@ -257,12 +317,17 @@ if (!$skip_build) { my $perl_result = "$build_root/perl/$arch"; my $perl_log = "$log_root/perl/$arch"; my $perl_uniqueext = build_mock_uniqueext($run_id, ++$build_step_seq, 'perl-list6'); + # Bound the perl builder's OWN internal parallelism to this target's budget; otherwise it + # forks one mock build per perl package (~7), which -- multiplied by parallel EL targets -- + # oversubscribes the host. my $cmd = join(' ', 'perl', sh_quote($perl_builder), '--mock-cfg', sh_quote($target), '--mock-uniqueext', sh_quote($perl_uniqueext), '--result-dir', sh_quote($perl_result), '--log-dir', sh_quote($perl_log), + '--work-dir', sh_quote("/tmp/mockbuild-all-$run_id/perl-list6"), + (($max_build_workers && $max_build_workers >= 1) ? ('--jobs', $max_build_workers) : ()), '--build-timestamp', $SOURCE_DATE_EPOCH, ($skip_install ? '--skip-install' : ()), ); @@ -276,7 +341,10 @@ if (!$skip_build) { } if (!$skip_xcat) { - my $cmd = join(' ', + # Own HOME per target (buildrpms.pl uses $HOME/rpmbuild) so parallel targets don't race. + my $xcat_home = "/tmp/mockbuild-all-$run_id/xcat-home"; + my $mktree = join(' ', map { sh_quote("$xcat_home/rpmbuild/$_") } qw(SOURCES SPECS BUILD BUILDROOT RPMS SRPMS)); + my $cmd = "mkdir -p $mktree && HOME=" . sh_quote($xcat_home) . ' ' . join(' ', 'perl', sh_quote("$xcat_src/buildrpms.pl"), '--target', sh_quote($target), '--nproc', int($nproc), @@ -300,7 +368,14 @@ if (!$skip_build) { # xcat-core's Gitepoch, so it matches xCAT-genesis-scripts (built in core) and # the exact-version dependency genesis-scripts -> genesis-base resolves. if (!$skip_genesis) { - my $cmd = join(' ', + # buildrpms.pl stages sources in $HOME/rpmbuild (via rpmdev-setuptree). Give each + # per-target genesis build its own HOME so parallel EL targets don't race on the shared + # /root/rpmbuild tree (that race is what made concurrent genesis builds fail). + my $genesis_home = "/tmp/mockbuild-all-$run_id/genesis-home"; + # buildrpms.pl's rpmdev-setuptree only runs during env setup, not per build, so create the + # rpmbuild tree ourselves for this per-target HOME (else $HOME/rpmbuild/SOURCES is missing). + my $mktree = join(' ', map { sh_quote("$genesis_home/rpmbuild/$_") } qw(SOURCES SPECS BUILD BUILDROOT RPMS SRPMS)); + my $cmd = "mkdir -p $mktree && HOME=" . sh_quote($genesis_home) . ' ' . join(' ', 'perl', sh_quote("$xcat_src/buildrpms.pl"), '--package', 'xCAT-genesis-base', '--target', sh_quote($target), @@ -319,9 +394,12 @@ if (!$skip_build) { } if (@build_steps) { - my $effective_parallel_builds = defined($parallel_builds) - ? $parallel_builds - : scalar(@build_steps); + # Prefer the caller-supplied cap (global budget / active targets). Fall back to the old + # behaviour (all steps at once) only when unset. + my $effective_parallel_builds = + ($max_build_workers && $max_build_workers >= 1) ? $max_build_workers + : defined($parallel_builds) ? $parallel_builds + : scalar(@build_steps); run_build_steps_parallel( steps => \@build_steps, max_processes => $effective_parallel_builds, @@ -493,7 +571,6 @@ sub deploy_target { copy($rpm, "$dest/" . basename($rpm)) or die "Failed to copy $rpm -> $dest: $!\n"; } - import_shared_noarch($dest); assert_required_deps($dest); sign_and_index_repo($dest); write_dep_repo_metadata($dest, $rel); @@ -581,20 +658,26 @@ Build xcat-dep and xCAT RPMs, consolidate binary/source artifacts, run createrep Options: --repo-root PATH xcat-dep repository root (default: script directory) - --xcat-source PATH xCAT source root with buildrpms.pl (default: /xcat-source-code) - --output-root PATH Root output directory (default: /build-output/mockbuild-all) - --repo-dep PATH Deployable per-EL output root; rh8/rh9/rh10/ are - assembled + signed here (default: /build-output/xcat-dep) + --xcat-source PATH xCAT source root with buildrpms.pl (default: /../xcat-core) + --output PATH Single base for ALL output; --output-root and --repo-dep derive from + it. A fail-fast lock is held at /.lock, so pass distinct paths + to run on two hosts in parallel on one NFS (default: /build-output) + --output-root PATH Override the derived build tree root (default: /mockbuild-all) + --repo-dep PATH Override the derived deployable per-EL output root; rh8/rh9/rh10/ + are assembled + signed here (default: /xcat-dep) + --force-unlock Remove a stale /.lock before acquiring it --gpg-sign Sign rpms + repomd.xml of each per-EL repo - --gpg-key-name NAME GPG key name (default: "xCAT Automatic Signing Key") + --gpg-key-name NAME GPG key name (default: "xCAT Signing Key") --gpg-home PATH GNUPGHOME for signing (default: system keyring) - --import-noarch-repo DIR On a non-x86_64 build, import the noarch xnba-undi/grub2-xcat - rpms (x86_64-only-built, but required by xCAT on ppc) from this - already-built x86_64 dep repo dir --target NAME Build only this target (+epel--); default is the host arch across rh8, rh9 and rh10 --nproc N Parallel jobs for buildrpms.pl (default: 1) - --parallel-builds N Max concurrent top-level build steps (default: auto=queued steps) + --parallel-builds N Max concurrent top-level build steps within one EL target (default: auto) + --parallel-targets N Concurrent EL targets (rh8/rh9/rh10). 0/auto = all at once, 1 = serial, + N = cap at N. Each target is fully output-isolated (default: auto) + --max-parallel N Global cap on concurrent mock builds across ALL targets, to avoid + oversubscribing the host. Split evenly across active targets. + 0/auto = host nproc (default: auto) --run-id ID Run identifier suffix (default: derived from build timestamp) --build-timestamp EPOCH Unix epoch for deterministic builds (default: Gitepoch or git log) --skip-install Skip install/smoke tests in child builder scripts @@ -612,7 +695,7 @@ Notes: - Run this script as root on the build host. - ARCH is derived from: uname -m - Top-level parallel queue includes xcat-dep mockbuild.pl steps, perl builder, - and xcat-source-code/buildrpms.pl. + and ../xcat-core/buildrpms.pl. - Child mockbuild scripts are invoked with per-step mock --uniqueext values to avoid lock collisions on the same mock config. - If --target is omitted, it is deduced from /etc/os-release: @@ -769,46 +852,19 @@ sub have_rpm { return scalar(@m) > 0; } -# Noarch deps that xCAT Requires on EVERY arch but that only build on x86_64: xnba-undi is an -# x86 UNDI network-boot ROM, and grub2-xcat wraps the distro grub2 (its src.rpm/tooling is -# x86-centric). Because they are noarch (arch-independent), a ppc build imports them from a -# built x86_64 dep repo (--import-noarch-repo) rather than rebuilding them. -my @SHARED_NOARCH = qw(xnba-undi grub2-xcat); -sub import_shared_noarch { - my ($dest) = @_; - return if $arch eq 'x86_64'; # x86 builds these natively - return if $import_noarch_repo eq ''; # nothing to import from - for my $name (@SHARED_NOARCH) { - next if have_rpm($dest, $name); - my ($src) = grep { /\.noarch\.rpm$/ } glob("$import_noarch_repo/${name}-*.rpm"); - if ($src) { - copy($src, "$dest/" . basename($src)) - or die "Failed to import $src -> $dest: $!\n"; - print "[deps] imported shared noarch $name from $import_noarch_repo\n"; - } - else { - warn "WARN: shared noarch $name not found under --import-noarch-repo $import_noarch_repo\n"; - } - } -} - # assert_required_deps: the per-EL dep repo is unusable without these, so a MISSING one is # fatal even though individual builder failures are tolerated above. genesis-base is required -# unless --skip-genesis. (grub2-xcat/elilo/xnba are arch/EL-specific and NOT in the hard set.) +# unless --skip-genesis. sub assert_required_deps { my ($dir) = @_; - # xCAT Requires all of these on every arch. ipmitool-xcat/syslinux-xcat/perl-* and - # genesis-base build on both arches; grub2-xcat/xnba-undi build on x86_64 and are imported - # into a ppc repo by import_shared_noarch (run just before this check). + # xCAT Requires all of these on every arch, and every one of them builds natively on every + # arch (the noarch deps -- grub2-xcat, xnba-undi -- just repackage committed artifacts), so + # a self-sufficient per-arch build produces the whole set with no cross-arch import. my @req = qw(ipmitool-xcat syslinux-xcat grub2-xcat xnba-undi perl-IO-Stty perl-HTTP-Async perl-Net-HTTPS-NB); push @req, 'xCAT-genesis-base' unless $skip_genesis; my @missing = grep { !have_rpm($dir, $_) } @req; - die "FATAL: required deps missing from $dir: @missing\n" - . ($arch ne 'x86_64' && !$import_noarch_repo - ? " (pass --import-noarch-repo to import xnba-undi/grub2-xcat)\n" - : '') - if @missing; + die "FATAL: required deps missing from $dir: @missing\n" if @missing; print "[deps] required set present in $dir: @req\n"; } @@ -957,10 +1013,12 @@ sub build_mock_uniqueext { sub resolve_xcat_source { my ($requested, $root) = @_; + # Prefer the sibling ../xcat-core (the real layout: source/xcat-core beside source/xcat-dep) + # before the legacy xcat-source-code location. my @candidates = ( $requested, - "$root/xcat-source-code", "$root/../xcat-core", + "$root/xcat-source-code", ); for my $c (@candidates) { next if !defined($c) || $c eq ''; @@ -971,6 +1029,55 @@ sub resolve_xcat_source { return eval { abs_path($requested) } || $requested; } +# Fail-fast advisory lock on the output base. Uses an atomic mkdir (portable and reliable over +# NFS, unlike flock) of "/.lock". A second run against the same --output dies immediately +# rather than racing on the shared tree. Only the process that created the lock removes it. +sub acquire_output_lock { + my ($base, $force) = @_; + my $lock = "$base/.lock"; + if ($force && -d $lock) { + print "force-unlock: removing stale lock $lock\n"; + _rmdir_lock($lock); + } + if (mkdir $lock) { + $HELD_LOCK = $lock; + $LOCK_OWNER_PID = $$; + my $host = capture('uname -n') || 'unknown'; + if (open my $fh, '>', "$lock/owner") { + print {$fh} "host=$host\npid=$$\nepoch=" . time() . "\n"; + close $fh; + } + return; + } + # mkdir failed: either it already exists (locked) or a real error. + if (-d $lock) { + my $info = ''; + if (open my $fh, '<', "$lock/owner") { local $/; $info = <$fh>; close $fh; } + $info =~ s/\s+/ /g; + die "output $base is locked ($lock): $info\n" + . "another mockbuild-all run owns it; use a different --output or --force-unlock if stale.\n"; + } + die "Cannot create lock $lock: $!\n"; +} + +sub _rmdir_lock { + my ($lock) = @_; + unlink "$lock/owner"; + rmdir $lock; +} + +# Release the lock on any exit path (normal, die, or signal) -- but ONLY in the process that +# created it. Forked children (per-builder and per-target ForkManager workers) inherit +# $HELD_LOCK; without the pid guard their exit would delete the parent's lock mid-run. +sub _release_lock_if_owner { + return unless $HELD_LOCK && defined $LOCK_OWNER_PID && $$ == $LOCK_OWNER_PID; + _rmdir_lock($HELD_LOCK) if -d $HELD_LOCK; +} +END { _release_lock_if_owner(); } +for my $sig (qw(INT TERM HUP)) { + $SIG{$sig} = sub { _release_lock_if_owner(); exit 1; }; +} + sub read_os_release { my ($path) = @_; my %vals; diff --git a/xnba/mockbuild.pl b/xnba/mockbuild.pl index 1c799dd..08c6084 100755 --- a/xnba/mockbuild.pl +++ b/xnba/mockbuild.pl @@ -80,7 +80,10 @@ make_path($log_dir); print_step("Stage build environment"); remove_tree($work_dir) if -d $work_dir; -my $rpmbuild_top = "/var/tmp/xcat-rpmbuild-xnba"; +# rpmbuild staging dir must be unique per run: --work-dir is run/target-scoped, so nesting it +# here keeps concurrent builds (e.g. parallel EL targets on one host) from wiping each other's +# tree. (Was a shared /var/tmp/xcat-rpmbuild-xnba, which collided under parallelism.) +my $rpmbuild_top = "$work_dir/rpmbuild"; remove_tree($rpmbuild_top) if -d $rpmbuild_top; for my $d (qw(BUILD BUILDROOT RPMS SOURCES SPECS SRPMS)) { make_path("$rpmbuild_top/$d"); From 9f01a153e0161c4b4d4ce60c7d943f5155dbc4a0 Mon Sep 17 00:00:00 2001 From: Daniel Hilst <392820+dhilst@users.noreply.github.com> Date: Sun, 5 Jul 2026 16:47:12 -0300 Subject: [PATCH 12/14] fix(conserver): build on EL8-EL10 x86_64; add per-EL mockbuild.pl conserver.spec had not been built on a modern EL toolchain and no longer compiled on EL9/EL10: - %prep used the bare %patch / %patch1 macros, which rpm 4.18+ (EL9/EL10) rejects with "Patch number not specified". Switched to explicit Patch0:/Patch1: with the numbered %patch0/%patch1 macros, which apply cleanly on EL8 through EL10. - BuildRequires listed only openssl-devel, so on EL9/EL10's minimal mock buildroot the toolchain was absent and %configure failed with "C compiler cannot create executables". Added gcc, make and glibc-devel. Also add conserver/mockbuild.pl, a standalone per-EL builder matching the other xcat-dep builders (goconserver/ipmitool): it stages the sources and spec, builds the SRPM, mock-rebuilds it in the target chroot, copies the RPMs to --result-dir, and smoke-tests console/conserver in the chroot. conserver is not in the default mockbuild-all.pl set (xCAT uses goconserver), so this builder is run on demand. Built + smoke-tested conserver-xcat-8.2.1 for alma+epel-{8,9,10}-x86_64. Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com> --- conserver/conserver.spec | 6 +- conserver/mockbuild.pl | 135 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 138 insertions(+), 3 deletions(-) create mode 100755 conserver/mockbuild.pl diff --git a/conserver/conserver.spec b/conserver/conserver.spec index 9bbfdd3..4c7eb9a 100644 --- a/conserver/conserver.spec +++ b/conserver/conserver.spec @@ -21,10 +21,10 @@ License: BSD Group: System Environment/Daemons URL: http://www.conserver.com/ Source: http://www.conserver.com/%{pkg}-%{ver}.tar.gz -Patch: initscript_8.2.1.patch +Patch0: initscript_8.2.1.patch Patch1: openssl3-dh-opaque.patch BuildRoot: %{_tmppath}/%{pkg}-buildroot -BuildRequires: openssl-devel +BuildRequires: gcc make glibc-devel openssl-devel Prefix: %{_prefix} Obsoletes: conserver conserver-client @@ -40,7 +40,7 @@ bells and whistles to accentuate that basic functionality. %prep %{__rm} -rf %{buildroot} %setup -n %{pkg}-%{ver} -%patch -p1 +%patch0 -p1 %patch1 -p1 diff --git a/conserver/mockbuild.pl b/conserver/mockbuild.pl new file mode 100755 index 0000000..64e493a --- /dev/null +++ b/conserver/mockbuild.pl @@ -0,0 +1,135 @@ +#!/usr/bin/perl +# +# mockbuild.pl - build conserver-xcat (the traditional C conserver, 8.2.1) for one +# mock target and smoke-test the resulting binaries. Mirrors the other xcat-dep +# builders (goconserver/mockbuild.pl, ipmitool/mockbuild.pl): stage sources + spec, +# build a SRPM, `mock --rebuild` it in the target chroot, copy the RPMs to +# --result-dir, then (unless --skip-install) install into the chroot and run +# `console -V` / `conserver -V` to confirm the binaries work. +# +# conserver is NOT part of the default mockbuild-all.pl dep set (xCAT uses goconserver), +# so this builder is standalone. Usage: +# ./mockbuild.pl --mock-cfg alma+epel-9-x86_64 --result-dir /path/out +# +use strict; +use warnings; +use Cwd qw(abs_path); +use File::Basename qw(dirname basename); +use File::Path qw(make_path remove_tree); +use File::Copy qw(copy); +use Getopt::Long qw(GetOptions); + +my $script_dir = abs_path(dirname(__FILE__)); +my $pkg_dir = $script_dir; # tarball + patches + spec live alongside this script +my $version = '8.2.1'; + +my $work_dir = '/tmp/conserver-mockbuild'; +my $mock_cfg = ''; +my $mock_uniqueext = ''; +my $result_dir = "$script_dir/../build-output/list-conserver/conserver"; +my $log_dir = "$script_dir/../build-logs/list-conserver/conserver"; +my $skip_install = 0; + +GetOptions( + 'work-dir=s' => \$work_dir, + 'mock-cfg=s' => \$mock_cfg, + 'mock-uniqueext=s' => \$mock_uniqueext, + 'result-dir=s' => \$result_dir, + 'log-dir=s' => \$log_dir, + 'skip-install!' => \$skip_install, +) or die usage(); + +die "Run as root (current uid=$>)\n" if $> != 0; +for my $bin (qw(mock rpmbuild rpm)) { + run("command -v " . sh_quote($bin) . " >/dev/null 2>&1"); +} + +my $arch = capture('uname -m'); +if (!$mock_cfg) { + my $os_id = capture(q{bash -lc 'source /etc/os-release; echo $ID'}); + $os_id = 'alma' if $os_id eq 'almalinux'; + my ($rel) = capture('rpm -E %rhel'); + $mock_cfg = "${os_id}+epel-${rel}-${arch}"; +} +my $uniq = $mock_uniqueext ne '' ? ' --uniqueext ' . sh_quote($mock_uniqueext) : ''; + +make_path($result_dir, $log_dir); +print "package: conserver-xcat\n"; +print "version: $version\n"; +print "arch: $arch\n"; +print "mock-cfg: $mock_cfg\n"; +print "result-dir: $result_dir\n"; + +# ---- stage sources + spec into a private rpmbuild tree ----------------------- +remove_tree($work_dir) if -d $work_dir; +make_path("$work_dir/SOURCES", "$work_dir/SPECS"); +copy("$pkg_dir/conserver-$version.tar.gz", "$work_dir/SOURCES/") + or die "FATAL: cannot stage conserver-$version.tar.gz: $!\n"; +for my $p (glob("$pkg_dir/*.patch")) { + copy($p, "$work_dir/SOURCES/") or die "FATAL: cannot stage patch $p: $!\n"; +} +copy("$pkg_dir/conserver.spec", "$work_dir/SPECS/") + or die "FATAL: cannot stage conserver.spec: $!\n"; + +# ---- build the SRPM (host rpm just packages sources+spec; no %prep here) ------ +print "== Build SRPM ==\n"; +run("rpmbuild -bs --define " . sh_quote("_topdir $work_dir") + . " " . sh_quote("$work_dir/SPECS/conserver.spec") + . " > " . sh_quote("$log_dir/srpm.log") . " 2>&1"); +my ($srpm) = glob("$work_dir/SRPMS/conserver-xcat-$version-*.src.rpm"); +die "FATAL: SRPM not produced (see $log_dir/srpm.log)\n" unless $srpm && -f $srpm; +print "SRPM: $srpm\n"; + +# ---- mock rebuild in the target chroot -------------------------------------- +print "== mock --rebuild ($mock_cfg) ==\n"; +my $mock_result = "$work_dir/mock-result"; +make_path($mock_result); +run("mock -r " . sh_quote($mock_cfg) . $uniq + . " --rebuild " . sh_quote($srpm) + . " --resultdir " . sh_quote($mock_result) + . " > " . sh_quote("$log_dir/mock-rebuild.log") . " 2>&1"); + +my @rpms = grep { $_ !~ /\.src\.rpm$/ && $_ !~ /-debug(info|source)-/ } + glob("$mock_result/*.rpm"); +die "FATAL: no binary RPM produced (see $log_dir/mock-rebuild.log)\n" unless @rpms; +my ($main) = grep { basename($_) =~ /^conserver-xcat-\Q$version\E-.*\.(?:$arch|noarch)\.rpm$/ } @rpms; +die "FATAL: main conserver-xcat RPM not found among: @rpms\n" unless $main; + +for my $r (@rpms) { + copy($r, $result_dir) or die "FATAL: cannot copy $r -> $result_dir: $!\n"; +} +print "built: " . join(', ', map { basename($_) } @rpms) . "\n"; + +# ---- smoke test: install into the chroot and run the binaries --------------- +unless ($skip_install) { + print "== Smoke test (install + run) ==\n"; + run("mock -r " . sh_quote($mock_cfg) . $uniq . " --install " . sh_quote($main) + . " > " . sh_quote("$log_dir/install.log") . " 2>&1"); + # console (client) and conserver (daemon) both print their version to stderr/stdout. + my $smoke = capture("mock -r " . sh_quote($mock_cfg) . $uniq + . " --chroot -- " . sh_quote('/usr/bin/console -V 2>&1; /usr/sbin/conserver -V 2>&1') + . " 2>&1"); + print " output: $smoke\n"; + die "FATAL: smoke test did not report version $version\n" unless $smoke =~ /\Q$version\E/; + print "smoke test PASSED (console/conserver report $version)\n"; +} +print "DONE: conserver-xcat $version for $mock_cfg -> $result_dir\n"; + +# ---- helpers ---------------------------------------------------------------- +sub run { + my ($cmd) = @_; + my $rc = system('bash', '-c', $cmd); + die "FATAL: command failed (rc=" . ($rc >> 8) . "): $cmd\n" if $rc != 0; + return 1; +} +sub capture { + my ($cmd) = @_; + my $out = `$cmd`; + chomp $out if defined $out; + return $out // ''; +} +sub sh_quote { my ($s) = @_; $s =~ s/'/'\\''/g; return "'$s'"; } +sub usage { + return "usage: mockbuild.pl --mock-cfg [--result-dir DIR] [--work-dir DIR]\n" + . " [--log-dir DIR] [--mock-uniqueext EXT] [--skip-install]\n"; +} From a02adbfc63787b261570349b3faeeb9ba5ef76ec Mon Sep 17 00:00:00 2001 From: Daniel Hilst <392820+dhilst@users.noreply.github.com> Date: Sun, 5 Jul 2026 16:51:09 -0300 Subject: [PATCH 13/14] feat(mockbuild-all): build conserver-xcat as a dep builder Register conserver-xcat in mockbuild-all.pl's dep-builder set so the traditional C conserver (8.2.1) is built per-EL/arch alongside goconserver. xCAT itself requires goconserver, so conserver stays a build-on-demand artifact, but wiring it into the full dep build keeps it produced and signed with the rest of xcat-dep for sites that want it. conserver/mockbuild.pl gains the --build-timestamp option that mockbuild-all passes to every builder (SOURCE_DATE_EPOCH for deterministic builds); without it the child invocation would abort on an unknown option. Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com> --- conserver/mockbuild.pl | 24 ++++++++++++++++++------ mockbuild-all.pl | 1 + 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/conserver/mockbuild.pl b/conserver/mockbuild.pl index 64e493a..6d175e6 100755 --- a/conserver/mockbuild.pl +++ b/conserver/mockbuild.pl @@ -29,14 +29,16 @@ my $mock_uniqueext = ''; my $result_dir = "$script_dir/../build-output/list-conserver/conserver"; my $log_dir = "$script_dir/../build-logs/list-conserver/conserver"; my $skip_install = 0; +my $build_timestamp; GetOptions( - 'work-dir=s' => \$work_dir, - 'mock-cfg=s' => \$mock_cfg, - 'mock-uniqueext=s' => \$mock_uniqueext, - 'result-dir=s' => \$result_dir, - 'log-dir=s' => \$log_dir, - 'skip-install!' => \$skip_install, + 'work-dir=s' => \$work_dir, + 'mock-cfg=s' => \$mock_cfg, + 'mock-uniqueext=s' => \$mock_uniqueext, + 'result-dir=s' => \$result_dir, + 'log-dir=s' => \$log_dir, + 'skip-install!' => \$skip_install, + 'build-timestamp=i' => \$build_timestamp, ) or die usage(); die "Run as root (current uid=$>)\n" if $> != 0; @@ -44,6 +46,16 @@ for my $bin (qw(mock rpmbuild rpm)) { run("command -v " . sh_quote($bin) . " >/dev/null 2>&1"); } +# Deterministic builds: honor --build-timestamp (else Gitepoch, else git HEAD time), +# matching the other xcat-dep builders so mockbuild-all.pl can drive this one. +my $repo_root = abs_path("$script_dir/.."); +my $sde = $build_timestamp; +if (!$sde && -f "$repo_root/Gitepoch") { $sde = capture("cat " . sh_quote("$repo_root/Gitepoch")); } +if (!$sde || $sde !~ /^\d+$/) { + $sde = capture("git -C " . sh_quote($repo_root) . " log -1 --format=%ct HEAD 2>/dev/null"); +} +$ENV{SOURCE_DATE_EPOCH} = $sde if defined $sde && $sde =~ /^\d+$/; + my $arch = capture('uname -m'); if (!$mock_cfg) { my $os_id = capture(q{bash -lc 'source /etc/os-release; echo $ID'}); diff --git a/mockbuild-all.pl b/mockbuild-all.pl index 520677a..6343818 100755 --- a/mockbuild-all.pl +++ b/mockbuild-all.pl @@ -221,6 +221,7 @@ my @dep_builders = ( { name => 'ipmitool-xcat', script => "$repo_root/ipmitool/mockbuild.pl" }, { name => 'syslinux-xcat', script => "$repo_root/syslinux/mockbuild.pl" }, { name => 'goconserver', script => "$repo_root/goconserver/mockbuild.pl" }, + { name => 'conserver-xcat', script => "$repo_root/conserver/mockbuild.pl" }, { name => 'xnba-undi', script => "$repo_root/xnba/mockbuild.pl" }, ); From ec3c8f71e7862c2aabcde98994738abdb48ac10a Mon Sep 17 00:00:00 2001 From: Daniel Hilst <392820+dhilst@users.noreply.github.com> Date: Fri, 10 Jul 2026 10:50:20 -0300 Subject: [PATCH 14/14] build(xcat-dep): vendor build source tarballs to avoid upstream URL dependency Commit the upstream source tarballs the mock builders consume so a build never has to fetch them from the network -- offline/reproducible builds, and resilience to upstream URL rot for these older releases: - ipmitool/ipmitool-1.8.18.tar.gz (re-normalized to the release tarball) - syslinux/syslinux-6.03.tar.xz - perl-Crypt-SSLeay/Crypt-SSLeay-0.72.tar.gz The per-package builders use the local tarball when present and only fall back to the upstream URL if it is missing (ipmitool/syslinux mockbuild.pl; and mockbuild-perl-packages.pl 'spec' mode for perl-Crypt-SSLeay). Also folded in: - mockbuild-all.pl: switch createrepo -> createrepo_c (--database, --set-timestamp-to-revision) for deterministic, upstream-matching repo metadata. - perl-HTTP-Async / perl-Net-HTTPS-NB specs: reword the brp-compress comment. Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com> --- ipmitool/ipmitool-1.8.18.tar.gz | Bin 995313 -> 593661 bytes mockbuild-all.pl | 18 ++++++++++++++---- perl-Crypt-SSLeay/Crypt-SSLeay-0.72.tar.gz | Bin 0 -> 129575 bytes perl-HTTP-Async/perl-HTTP-Async.spec | 4 ++-- perl-Net-HTTPS-NB/perl-Net-HTTPS-NB.spec | 4 ++-- syslinux/syslinux-6.03.tar.xz | Bin 0 -> 6855224 bytes 6 files changed, 18 insertions(+), 8 deletions(-) create mode 100644 perl-Crypt-SSLeay/Crypt-SSLeay-0.72.tar.gz create mode 100644 syslinux/syslinux-6.03.tar.xz diff --git a/ipmitool/ipmitool-1.8.18.tar.gz b/ipmitool/ipmitool-1.8.18.tar.gz index 260dda1b3208532f1c3be735442d63d515be062a..d9628622ad4c82bf6f05693d1042663df132d06f 100644 GIT binary patch literal 593661 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
-9$+M%}eD^|AKE9{CzRK;tYGJ2}E)ijYgRK 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