mirror of
https://github.com/xcat2/xcat-dep.git
synced 2026-09-12 12:36:23 +00:00
8b98ae9539
The riscv64 sections of debs-manifest.conf listed grub2-xcat only. A riscv64 management node serves the x86 nodes of a mixed cluster, so its repository must carry syslinux-xcat, elilo-xcat and xnba-undi, as the ppc64el sections already require. List the three in every riscv64 section. They are Architecture: all, built once on amd64 and assembled into every index, so the build phase is unchanged and the publish gate now verifies the riscv64 index carries them.
199 lines
8.0 KiB
Plaintext
199 lines
8.0 KiB
Plaintext
# Per-target required xcat-dep .deb manifest (the Debian/apt analogue of packages-manifest.conf).
|
|
#
|
|
# One [section] per sbuild-all.pl target, named "<codename>-<arch>" (matches --target). Each entry is
|
|
# <binary-package>=<version-pin>
|
|
# where <binary-package> is the produced .deb's binary name (or the logical 'xcat-genesis-base',
|
|
# which matches the arch-suffixed xcat-genesis-base-amd64 / xcat-genesis-base-ppc64el) and
|
|
# <version-pin> is one of:
|
|
# - an exact version (e.g. 1.8.18-4) -- the build must produce exactly it;
|
|
# - a shell-style glob (e.g. 2.*) -- the built version must match it (* and ?);
|
|
# - '*' -- any version accepted.
|
|
#
|
|
# The pin is matched against the FULL Debian version -- [epoch:]upstream[-revision] -- exactly as it
|
|
# appears in the built .deb and in the published Packages index. That is deliberate: a package can
|
|
# carry the right upstream version and still be wrong for xCAT, because
|
|
# * the debian_revision is the PACKAGING revision (elilo-xcat 3.14-5 vs 3.14-6 are different builds
|
|
# of the same upstream 3.14), and
|
|
# * the epoch overrides version comparison outright (2:2.18.0 outranks any un-epoched 2.19.0).
|
|
# xCAT's own debian/control declares versioned dependencies on these packages -- goconserver
|
|
# (>= 0.3.3-snap...), ipmitool-xcat (>= 1.8.17-1), grub2-xcat (>= 2.02-...) -- so an upstream-only pin
|
|
# would accept a deb the gate calls good and `apt install xCAT` then refuses. Bump the pin here when
|
|
# the in-tree debian/changelog is bumped (the revision is part of the pin now, so a changelog bump
|
|
# that only moves the revision must be reflected here too).
|
|
#
|
|
# Two pins are deliberately NOT fully exact, because their revision is not owned by the checkout:
|
|
# * goconserver=0.3.3-snap* -- upstream is pinned exactly; the revision is the CD stamp
|
|
# snap<SOURCE_DATE_EPOCH>, which changes every run. The glob still REQUIRES a snap-stamped
|
|
# revision, so an unstamped or hand-built deb is rejected.
|
|
# * xcat-genesis-base=2.* -- its version is not owned by xcat-dep at all (see the note below);
|
|
# and the two arches legitimately differ, since each is converted from its own genesis rpm.
|
|
#
|
|
# PER-ARCH SETS (review concern #3 -- the arch matrix must be valid):
|
|
# * Compiled, arch-specific deps that genuinely build on BOTH arches are listed for amd64 AND
|
|
# ppc64el: ipmitool-xcat, conserver-xcat, goconserver (debian/control Architecture: any / *-ppc64el).
|
|
# * The noarch boot components (syslinux-xcat, grub2-xcat, elilo-xcat, xnba-undi) are
|
|
# Architecture:all: their SOURCE is x86-only (syslinux compiles with nasm/gcc-multilib; elilo/xnba
|
|
# are x86/EFI loaders; grub2-xcat is config/scripts), so they are BUILT ONCE on amd64 -- SINGLE
|
|
# PRODUCER, concern #3b -- and, being arch:all, assembled into EVERY arch's Packages index. They
|
|
# ARE listed for ppc64el too, as REQUIRED-PRESENT: a ppc MN needs them for netboot, so the gate
|
|
# must verify the ppc repo carries them (matching the EL manifest and the historical 2.16 ppc dep
|
|
# repo, minus the obsolete yaboot-xcat). sbuild-all.pl's build phase SKIPS an Architecture:all
|
|
# package on any non-amd64 arch (it is not rebuilt there -- a syslinux build on ppc fails), so
|
|
# listing them for ppc64el drives VERIFICATION, not a second build.
|
|
# * xcat-genesis-base is arch:all but arch-SPECIFIC content (the netboot image for that arch), so
|
|
# each arch produces its own (xcat-genesis-base-<arch>); the finalize step cross-populates both
|
|
# into every codename pool for cross-arch netboot (issue #7610). Pinned 2.* -- its Version walks
|
|
# with the paired xcat-core (not owned by xcat-dep), exactly as on the EL side. The gate still
|
|
# enforces that EXACTLY ONE genesis is present FOR THIS ARCH: the name resolves to
|
|
# xcat-genesis-base-<arch> and never borrows the other arch's, and two distinct versions of it in
|
|
# one staging dir is a hard error.
|
|
#
|
|
# sbuild-all.pl reads this file and, per target, builds ONLY the listed packages and then validates
|
|
# that EVERY listed package was produced at the pinned version -- any missing or mismatched package
|
|
# fails the whole run (zero tolerance; concern #4). The four supported codenames (focal jammy noble
|
|
# resolute) each get an amd64, a ppc64el and a riscv64 section.
|
|
#
|
|
# riscv64 lists the x86 boot loaders like ppc64el does: a riscv64 management node serves the
|
|
# x86 nodes of a mixed cluster, so its repository must carry them. It differs from ppc64el in one
|
|
# way: xcat-genesis-base is not listed, because riscv64 Genesis is the OpenEmbedded one, published
|
|
# once into the shared pool, not the legacy per-arch netboot image.
|
|
|
|
# ============================ focal (ubuntu20.04) ============================
|
|
[focal-amd64]
|
|
ipmitool-xcat=1.8.18-5
|
|
conserver-xcat=8.2.1-1
|
|
goconserver=0.3.3-snap*
|
|
syslinux-xcat=3.86-2
|
|
grub2-xcat=2.12-2
|
|
elilo-xcat=3.14-6
|
|
xnba-undi=1.21.1-1
|
|
xcat-genesis-base=2.*
|
|
|
|
[focal-ppc64el]
|
|
ipmitool-xcat=1.8.18-5
|
|
conserver-xcat=8.2.1-1
|
|
goconserver=0.3.3-snap*
|
|
syslinux-xcat=3.86-2
|
|
grub2-xcat=2.12-2
|
|
elilo-xcat=3.14-6
|
|
xnba-undi=1.21.1-1
|
|
xcat-genesis-base=2.*
|
|
|
|
[focal-riscv64]
|
|
ipmitool-xcat=1.8.18-5
|
|
conserver-xcat=8.2.1-1
|
|
goconserver=0.3.3-snap*
|
|
syslinux-xcat=3.86-2
|
|
grub2-xcat=2.12-2
|
|
elilo-xcat=3.14-6
|
|
xnba-undi=1.21.1-1
|
|
|
|
# ============================ jammy (ubuntu22.04) ============================
|
|
[jammy-amd64]
|
|
ipmitool-xcat=1.8.18-5
|
|
conserver-xcat=8.2.1-1
|
|
goconserver=0.3.3-snap*
|
|
syslinux-xcat=3.86-2
|
|
grub2-xcat=2.12-2
|
|
elilo-xcat=3.14-6
|
|
xnba-undi=1.21.1-1
|
|
xcat-genesis-base=2.*
|
|
|
|
[jammy-ppc64el]
|
|
ipmitool-xcat=1.8.18-5
|
|
conserver-xcat=8.2.1-1
|
|
goconserver=0.3.3-snap*
|
|
syslinux-xcat=3.86-2
|
|
grub2-xcat=2.12-2
|
|
elilo-xcat=3.14-6
|
|
xnba-undi=1.21.1-1
|
|
xcat-genesis-base=2.*
|
|
|
|
[jammy-riscv64]
|
|
ipmitool-xcat=1.8.18-5
|
|
conserver-xcat=8.2.1-1
|
|
goconserver=0.3.3-snap*
|
|
syslinux-xcat=3.86-2
|
|
grub2-xcat=2.12-2
|
|
elilo-xcat=3.14-6
|
|
xnba-undi=1.21.1-1
|
|
|
|
# ============================ noble (ubuntu24.04) ============================
|
|
[noble-amd64]
|
|
ipmitool-xcat=1.8.18-5
|
|
conserver-xcat=8.2.1-1
|
|
goconserver=0.3.3-snap*
|
|
syslinux-xcat=3.86-2
|
|
grub2-xcat=2.12-2
|
|
elilo-xcat=3.14-6
|
|
xnba-undi=1.21.1-1
|
|
xcat-genesis-base=2.*
|
|
|
|
[noble-ppc64el]
|
|
ipmitool-xcat=1.8.18-5
|
|
conserver-xcat=8.2.1-1
|
|
goconserver=0.3.3-snap*
|
|
syslinux-xcat=3.86-2
|
|
grub2-xcat=2.12-2
|
|
elilo-xcat=3.14-6
|
|
xnba-undi=1.21.1-1
|
|
xcat-genesis-base=2.*
|
|
|
|
[noble-riscv64]
|
|
ipmitool-xcat=1.8.18-5
|
|
conserver-xcat=8.2.1-1
|
|
goconserver=0.3.3-snap*
|
|
syslinux-xcat=3.86-2
|
|
grub2-xcat=2.12-2
|
|
elilo-xcat=3.14-6
|
|
xnba-undi=1.21.1-1
|
|
|
|
# ============================ resolute (ubuntu26.04) =========================
|
|
[resolute-amd64]
|
|
ipmitool-xcat=1.8.18-5
|
|
conserver-xcat=8.2.1-1
|
|
goconserver=0.3.3-snap*
|
|
syslinux-xcat=3.86-2
|
|
grub2-xcat=2.12-2
|
|
elilo-xcat=3.14-6
|
|
xnba-undi=1.21.1-1
|
|
xcat-genesis-base=2.*
|
|
|
|
[resolute-ppc64el]
|
|
ipmitool-xcat=1.8.18-5
|
|
conserver-xcat=8.2.1-1
|
|
goconserver=0.3.3-snap*
|
|
syslinux-xcat=3.86-2
|
|
grub2-xcat=2.12-2
|
|
elilo-xcat=3.14-6
|
|
xnba-undi=1.21.1-1
|
|
xcat-genesis-base=2.*
|
|
|
|
[resolute-riscv64]
|
|
ipmitool-xcat=1.8.18-5
|
|
conserver-xcat=8.2.1-1
|
|
goconserver=0.3.3-snap*
|
|
syslinux-xcat=3.86-2
|
|
grub2-xcat=2.12-2
|
|
elilo-xcat=3.14-6
|
|
xnba-undi=1.21.1-1
|
|
|
|
# [shared] is NOT a build target. It describes the ONE pool the OpenEmbedded Genesis release is
|
|
# published into (pool/main/xcat-genesis-openembedded), which every suite indexes and which no
|
|
# [<codename>-<arch>] section covers. Without it nothing asserted the published pool was COMPLETE:
|
|
# its packages were checked only as they were copied, against the release checksums, so a pool that
|
|
# lost one afterwards would publish quietly.
|
|
#
|
|
# The pin tracks the paired xcat-core, like xcat-genesis-base ('2.*'): these are built FROM
|
|
# xcat-core, so the version walks with it. A glob, not an EVR floor -- pins in THIS manifest are
|
|
# exact-or-glob (version_matches); the '>= epoch:version-release' form is an EL-side feature of
|
|
# packages-manifest.conf. The deb names carry the architecture with '_' folded to '-'.
|
|
[shared]
|
|
xcat-genesis-openembedded-x86=2.*
|
|
xcat-genesis-openembedded-x86-64=2.*
|
|
xcat-genesis-openembedded-ppc64=2.*
|
|
xcat-genesis-openembedded-ppc64le=2.*
|
|
xcat-genesis-openembedded-armv7hf=2.*
|
|
xcat-genesis-openembedded-aarch64=2.*
|
|
xcat-genesis-openembedded-riscv64=2.*
|