mirror of
https://github.com/xcat2/xcat-dep.git
synced 2026-09-12 12:36:23 +00:00
c4c9492e57
Master gained the EL10 riscv64 forcearch target (PR #66) and the Perl Ubuntu build (PR #63). Both touch the files this branch rewrites, so the merge is resolved per file: mockbuild-all.pl, mockbuild-perl-packages.pl keep the forcearch target profile, the noarch chroot and --epel-gap from master, and this branch's manifest gate, atomic per-cell deploy and per-package chroot scrub. assert_required_deps is dropped: verify_target_repo replaced it. The post-join bootstrap scrub now reads the uniqueext and the config recorded when the chroot was made, because the wave loop of master no longer numbers packages in @packages order. packages-manifest.conf gains a [rocky-10-riscv64-xcat] section. A target with no section is fatal, so without it the riscv64 target cannot run. goconserver/mockbuild.pl builds in the mock chroot for the host arch and cross- compiles on the host for a foreign --target-arch. A forcearch chroot would run the Go toolchain under qemu. Both paths overlay the pinned go.mod/go.sum and ship server.conf as YAML. The host-install smoke stays removed (it corrupts the build host rpm database). The checks that do not install on the host are kept: the chroot install of a cross-built ipmitool-xcat and XS perl module, and the binfmt run of the cross- built goconserver binaries. goconserver/gomod/ takes the pin of master, whose `go` directive is the lower of the two, so both the EL10 chroot and the Ubuntu sbuild toolchain accept it. t/genesis_openembedded_consumer.t: the skip count of the RPM block is 64, the number of tests it runs. Both sides carried a stale number. Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>
192 lines
7.7 KiB
Plaintext
192 lines
7.7 KiB
Plaintext
# Per-target required xcat-dep package manifest.
|
|
#
|
|
# One [section] per mockbuild-all target (matches --target). Each entry is
|
|
# <package>=<pin>
|
|
# where <package> is the builder/package name (the dep builder name, the perl
|
|
# package name, or xCAT-genesis-base) and <pin> is one of:
|
|
# - an exact Version (e.g. 1.8.18) -- the built %{VERSION} must equal it;
|
|
# - a shell-style glob (e.g. 2.*) -- the built %{VERSION} must match it (* and ?);
|
|
# - '*' -- any version is accepted;
|
|
# - an EVR constraint (e.g. >= 2:2.18.0, >= 0.04-5, = 1.8.18) -- an operator
|
|
# (>=, >, <=, <, =) followed by an [epoch:]version[-release]. The built rpm's
|
|
# full EPOCH:VERSION-RELEASE is compared with rpm's own version algorithm
|
|
# (rpm.vercmp; epoch numeric, then version, then release; release ignored when
|
|
# the constraint omits it). Use this to enforce a minimum that a %{VERSION}
|
|
# glob cannot -- e.g. a release floor (perl-IO-Stty >= 0.04-5) or an Epoch.
|
|
# A bare version pin matches %{VERSION} only (Release carries the per-EL dist tag
|
|
# elN and the snap<timestamp>, so it is not pinned there). Bump a pin here when the
|
|
# corresponding in-tree source is bumped.
|
|
#
|
|
# xCAT-genesis-base is pinned as '>= 2:2.18.0' (an EVR floor, not an exact version):
|
|
# its Version is NOT owned by xcat-dep -- it is whatever xcat-core the genesis build
|
|
# compiles against (XCAT_CORE_REF), so it walks with the paired core (2.18.x, 2.19.x,
|
|
# ...). The floor still walks (accepts any 2.18+ genesis) but, unlike the old '2.*'
|
|
# glob, REJECTS a pre-2.18 genesis -- xCAT-genesis-scripts Requires xCAT-genesis-base
|
|
# >= 2:2.18.0 (Epoch 2), which a 2.17.x genesis would violate. genesis-base carries
|
|
# Epoch 2, so the epoch in the constraint is enforced too.
|
|
#
|
|
# The pins that xCAT states as release-sensitive Requires are EVR floors taken VERBATIM from
|
|
# xcat-core's own specs, so the gate rejects a build whose Version is right but whose Release is
|
|
# older than xCAT accepts: goconserver (xCAT.spec), xnba-undi, syslinux-xcat, ipmitool-xcat
|
|
# (xCAT.spec / xCATsn.spec), perl-HTTP-Async, perl-Net-HTTPS-NB and perl-IO-Stty
|
|
# (xCAT-server.spec). Where two specs disagree the STRONGER floor is used.
|
|
#
|
|
# grub2-xcat is deliberately NOT converted. xCAT-server.spec asks for
|
|
# '>= 2.02-0.76.el7.1.snap201905160255', but the grub2-xcat this repository builds -- and that both
|
|
# published channels ship -- is 1.0-2, which cannot satisfy it (1 < 2). Encoding that Requires here
|
|
# would fail every build on a discrepancy that lives in xcat-core, not in this manifest, so the pin
|
|
# stays on the Version actually produced and the discrepancy is reported upstream instead.
|
|
#
|
|
# mockbuild-all.pl reads this file and, per target, builds ONLY the listed
|
|
# packages -- a package not listed for a target is not built for it. Any listed
|
|
# package that fails to build (or builds a mismatched version) fails the whole
|
|
# run (no tolerated failures).
|
|
#
|
|
#
|
|
# Per-EL perl set: a perl module is required from xcat-dep only on the releases
|
|
# where neither the base OS nor EPEL provides it; on the other releases EPEL/OS
|
|
# supplies it (so `dnf install xCAT` pulls the OS/EPEL copy, not xcat-dep's).
|
|
# perl-Sys-Virt omitted on el8 -- provided by EPEL on AlmaLinux 8.
|
|
# perl-HTML-Form only on el8 -- provided by the OS/EPEL on el9/el10.
|
|
# perl-Crypt-SSLeay only on el10 -- provided by the OS/EPEL on el8/el9.
|
|
# perl-Net-Telnet only on el10 -- provided by the OS/EPEL on el8/el9.
|
|
#
|
|
# conserver-xcat is NOT pulled by `dnf install xCAT` (goconserver superseded it),
|
|
# but it is built for every target anyway because some users still deploy it.
|
|
|
|
[alma+epel-8-x86_64]
|
|
conserver-xcat=8.2.1
|
|
elilo-xcat=3.14
|
|
goconserver=>= 0.3.3-snap202011021058
|
|
grub2-xcat=1.0
|
|
ipmitool-xcat=>= 1.8.18-4
|
|
syslinux-xcat=>= 6.03-1
|
|
xnba-undi=>= 1.21.1-1
|
|
perl-HTML-Form=6.07
|
|
perl-HTTP-Async=>= 0.30-3
|
|
perl-IO-Stty=>= 0.04-5
|
|
perl-Net-HTTPS-NB=>= 0.14-3
|
|
xCAT-genesis-base=>= 2:2.18.0
|
|
|
|
[alma+epel-8-ppc64le]
|
|
conserver-xcat=8.2.1
|
|
elilo-xcat=3.14
|
|
goconserver=>= 0.3.3-snap202011021058
|
|
grub2-xcat=1.0
|
|
ipmitool-xcat=>= 1.8.18-4
|
|
syslinux-xcat=>= 6.03-1
|
|
xnba-undi=>= 1.21.1-1
|
|
perl-HTML-Form=6.07
|
|
perl-HTTP-Async=>= 0.30-3
|
|
perl-IO-Stty=>= 0.04-5
|
|
perl-Net-HTTPS-NB=>= 0.14-3
|
|
xCAT-genesis-base=>= 2:2.18.0
|
|
|
|
[alma+epel-9-x86_64]
|
|
conserver-xcat=8.2.1
|
|
elilo-xcat=3.14
|
|
goconserver=>= 0.3.3-snap202011021058
|
|
grub2-xcat=1.0
|
|
ipmitool-xcat=>= 1.8.18-4
|
|
syslinux-xcat=>= 6.03-1
|
|
xnba-undi=>= 1.21.1-1
|
|
perl-HTTP-Async=>= 0.30-3
|
|
perl-IO-Stty=>= 0.04-5
|
|
perl-Net-HTTPS-NB=>= 0.14-3
|
|
perl-Sys-Virt=11.10.0
|
|
xCAT-genesis-base=>= 2:2.18.0
|
|
|
|
[alma+epel-9-ppc64le]
|
|
conserver-xcat=8.2.1
|
|
elilo-xcat=3.14
|
|
goconserver=>= 0.3.3-snap202011021058
|
|
grub2-xcat=1.0
|
|
ipmitool-xcat=>= 1.8.18-4
|
|
syslinux-xcat=>= 6.03-1
|
|
xnba-undi=>= 1.21.1-1
|
|
perl-HTTP-Async=>= 0.30-3
|
|
perl-IO-Stty=>= 0.04-5
|
|
perl-Net-HTTPS-NB=>= 0.14-3
|
|
perl-Sys-Virt=11.10.0
|
|
xCAT-genesis-base=>= 2:2.18.0
|
|
|
|
[alma+epel-10-x86_64]
|
|
conserver-xcat=8.2.1
|
|
elilo-xcat=3.14
|
|
goconserver=>= 0.3.3-snap202011021058
|
|
grub2-xcat=1.0
|
|
ipmitool-xcat=>= 1.8.18-4
|
|
syslinux-xcat=>= 6.03-1
|
|
xnba-undi=>= 1.21.1-1
|
|
perl-Crypt-SSLeay=0.72
|
|
perl-HTTP-Async=>= 0.30-3
|
|
perl-IO-Stty=>= 0.04-5
|
|
perl-Net-HTTPS-NB=>= 0.14-3
|
|
perl-Net-Telnet=3.04
|
|
perl-Sys-Virt=11.10.0
|
|
xCAT-genesis-base=>= 2:2.18.0
|
|
|
|
[alma+epel-10-ppc64le]
|
|
conserver-xcat=8.2.1
|
|
elilo-xcat=3.14
|
|
goconserver=>= 0.3.3-snap202011021058
|
|
grub2-xcat=1.0
|
|
ipmitool-xcat=>= 1.8.18-4
|
|
syslinux-xcat=>= 6.03-1
|
|
xnba-undi=>= 1.21.1-1
|
|
perl-Crypt-SSLeay=0.72
|
|
perl-HTTP-Async=>= 0.30-3
|
|
perl-IO-Stty=>= 0.04-5
|
|
perl-Net-HTTPS-NB=>= 0.14-3
|
|
perl-Net-Telnet=3.04
|
|
perl-Sys-Virt=11.10.0
|
|
xCAT-genesis-base=>= 2:2.18.0
|
|
|
|
# rocky-10-riscv64-xcat is the forcearch (cross-built) EL10 riscv64 target. It differs from the
|
|
# EPEL-fed EL10 sections above in two ways (see BUILD.md, "riscv64"):
|
|
# - the x86-only boot components (elilo-xcat, syslinux-xcat, xnba-undi) are not built for it;
|
|
# - riscv64 has no EPEL, so the perl deps EL10 otherwise takes from EPEL are built here too
|
|
# (perl-Crypt-Blowfish ... perl-Path-Class below). perl-Path-Class is a build dep of
|
|
# perl-Crypt-SSLeay only.
|
|
# The per-EL perl set is the EL10 one, so perl-HTML-Form is absent here as well.
|
|
# xCAT-genesis-base is deliberately not listed: the riscv64 repo is built with --skip-genesis.
|
|
[rocky-10-riscv64-xcat]
|
|
conserver-xcat=8.2.1
|
|
goconserver=>= 0.3.3-snap202011021058
|
|
grub2-xcat=1.0
|
|
ipmitool-xcat=>= 1.8.18-4
|
|
perl-Crypt-SSLeay=0.72
|
|
perl-HTTP-Async=>= 0.30-3
|
|
perl-IO-Stty=>= 0.04-5
|
|
perl-Net-HTTPS-NB=>= 0.14-3
|
|
perl-Net-Telnet=3.04
|
|
perl-Sys-Virt=11.10.0
|
|
perl-Crypt-Blowfish=2.14
|
|
perl-Crypt-CBC=2.33
|
|
perl-Crypt-Rijndael=1.13
|
|
perl-Digest-SHA1=2.13
|
|
perl-Expect=1.35
|
|
perl-Mail-Sender=0.903
|
|
perl-Net-DNS=0.80
|
|
perl-Net-IP=1.26
|
|
perl-Path-Class=0.37
|
|
|
|
# [common] is NOT a build target. It describes the SHARED repository the OpenEmbedded Genesis
|
|
# release is published into (<repo-dep>/common), which lives beside the per-EL cells and is
|
|
# therefore invisible to every [<target>] section above. Without it nothing asserted the published
|
|
# shared repo was COMPLETE: its packages were checked only as they were copied, against the release
|
|
# checksums, so a repository that lost one afterwards would publish quietly.
|
|
#
|
|
# The floor tracks the paired xcat-core, like xCAT-genesis-base: these are built FROM xcat-core, so
|
|
# the version walks with it (2.18.x, 2.19.x, ...). Epoch 0 -- unlike genesis-base, these packages
|
|
# carry no Epoch. Listing every architecture is the point: the release is only useful if a
|
|
# management node can serve an image for any of them.
|
|
[common]
|
|
xCAT-genesis-openembedded-x86=>= 2.18.0
|
|
xCAT-genesis-openembedded-x86_64=>= 2.18.0
|
|
xCAT-genesis-openembedded-ppc64=>= 2.18.0
|
|
xCAT-genesis-openembedded-ppc64le=>= 2.18.0
|
|
xCAT-genesis-openembedded-armv7hf=>= 2.18.0
|
|
xCAT-genesis-openembedded-aarch64=>= 2.18.0
|
|
xCAT-genesis-openembedded-riscv64=>= 2.18.0
|