AlmaLinux / cloud-images

Packer templates and other tools for building AlmaLinux images for various cloud platforms.
MIT License
146 stars 48 forks source link

perl-FindBin not installed on cloud images #156

Closed troglodyne closed 11 months ago

troglodyne commented 11 months ago

So, I noticed this on both the generic cloud image and the digitalocean one -- Despite being a listed dependency of perl, perl-FindBin is not installed, which basically leads to a semi-broken perl stack till you manually install FindBin with yum install -y perl-FindBin.

No idea why this would be happening, but it certainly prevents the installation of cPanel until this is corrected.

codyro commented 11 months ago

I think this may be caused by confusion (considering it is unclear).

The Perl interpreter/binary (EX, /usr/bin/perl) is provided by the perl-intepreter package, which doesn't list perl-FindBin as a dependency:

[root@c ~]# grep -E ^VERSION= /etc/os-release
VERSION="9.2 (Turquoise Kodkod)"
[root@c ~]# rpm -qR perl-interpreter
libc.so.6()(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3.2)(64bit)
libc.so.6(GLIBC_2.34)(64bit)
libperl.so.5.32()(64bit)
perl(:MODULE_COMPAT_5.32.1)
perl-libs
perl-libs(x86-64) = 4:5.32.1-480.el9
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PartialHardlinkSets) <= 4.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsZstd) <= 5.4.18-1
rtld(GNU_HASH)

This package is what's shipped with these images[1].

The perl package pulls in a handful of Perl-related packages/libraries, including perl-FindBin.

To confirm this, can you try running dnf whatprovides /usr/bin/perl to see which package supplies the binary. It should list perl-interpreter, not perl.

So on a minimal cloud installation, before installing cPanel, you should run dnf -y install perl, which would install all the dependencies as expected.

[1] I confirmed this on a single cloud image, so YMMV.

troglodyne commented 11 months ago

Neat, makes sense in that light. We'll have to make the installer more paranoid in that case