2
0
mirror of https://github.com/xcat2/xcat-dep.git synced 2026-10-15 16:22:06 +00:00
Files
xcat-dep/perl-IO-Tty/Build-notes
T
Daniel Hilst f72d5335be fix(xcat-dep): build the perl deps a service node cannot reach
dnf install xCATsn on an EL service node does not resolve. Against the repositories a service
node has -- BaseOS and AppStream from copycds, plus xcat-core and xcat-dep -- it reports
"nothing provides" for perl-IO-Tty, perl(IO::Pty), perl-Crypt-CBC, perl-Crypt-Rijndael,
perl(Expect) and perl(HTML::Form), and per release for perl-Crypt-SSLeay, perl-Net-Telnet and
perl-Digest-SHA1. The service node then has no xcatd, and every hierarchical case fails.

packages-manifest.conf assumed CRB and EPEL stand behind every EL target. That holds for a
management node and not for a service node, so those packages were built only for
rocky-10-riscv64-xcat, the one target with no EPEL. Each EL target section now lists the perl
packages BaseOS and AppStream do not carry.

mockbuild-perl-packages.pl had no table entry for perl-IO-Tty, so no target could build it. Its
sources move to IO-Tty 1.20 with a spec. In 1.12 the Makefile.PL pty probe only takes the
address of each candidate function, the current toolchain drops that reference, the build then
defines HAVE__GETPTY on a glibc that has no _getpty, and IO/Tty/Tty.so fails to load. 1.20 calls
the function in the probe.

perl-Net-DNS stays out. An EL10 service node needs it, this tree holds 0.80, and 0.80 has no KEY
resource record that xCAT's ddns.pm builds.

Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>
2026-09-28 16:29:08 -03:00

18 lines
1.1 KiB
Plaintext

IO-Tty 1.12 and older do not build on EL8 or newer. Makefile.PL probes each pty
function by compiling a program that only takes its address; the current
toolchain drops that reference, so the probe reports _getpty as present, the
build defines HAVE__GETPTY, and IO/Tty/Tty.so then fails to load with
"undefined symbol: _getpty". IO-Tty 1.20 calls the function in the probe, so
the link fails and the probe answers correctly.
Source: https://cpan.metacpan.org/authors/id/T/TO/TODDR/IO-Tty-1.20.tar.gz
xcat-dep ships IO-Tty 1.20-1. EL8 PowerTools carries 1.12-11 and EL9 CRB carries
1.16-4, so the xcat-dep rpm outranks the distribution copy on a management node
that enables those repositories. Both distribution builds load correctly; they
are shadowed because a service node reads no CRB and one repository serves both
roles. 1.20 is the same upstream release the distributions package, with the same
license, the same vendor paths and the same perl(IO::Tty) provides, so the higher
version is an upgrade and not a fork. EL10 CRB carries 1.20-7, which outranks
1.20-1, so the distribution copy still wins there.