Description
Installing Salt via bootstrap-salt.sh using the onedir method on RHEL-based distributions fails when only RC/pre-release packages exist in the repo. The same install succeeds on Debian/Ubuntu.
Command: bootstrap-salt.sh -XUdfPD -x python3 onedir 3008.0
On RHEL, install_centos_onedir() pins the exact version to the package spec (e.g. yum install salt-minion-3008.0). When the repo only has the RC version 3008.0~rc4-0, yum finds no match because RPM treats 3008.0 and 3008.0~rc4 as different versions.
On Debian/Ubuntu, install_debian_onedir() and install_ubuntu_onedir() install packages by name only (apt-get install salt-minion) without pinning a version, so they install whatever the repo provides — including RC packages.
Error Output (AlmaLinux 9)
Available Packages
salt-minion.x86_64 3008.0~rc4-0 salt-repo-3008.0-lts
No match for argument: salt-minion-3008.0
Error: Unable to find a match: salt-minion-3008.0
* ERROR: Failed to run install_almalinux_onedir()!!!
Root Cause
In install_centos_onedir(), the version string is constructed as:
MINOR_VER_STRG="-$ONEDIR_REV_DOT" # produces "-3008.0"
This becomes yum install salt-minion-3008.0, which requires an exact RPM version match. The available version 3008.0~rc4-0 does not match.
Description
Installing Salt via
bootstrap-salt.shusing theonedirmethod on RHEL-based distributions fails when only RC/pre-release packages exist in the repo. The same install succeeds on Debian/Ubuntu.Command:
bootstrap-salt.sh -XUdfPD -x python3 onedir 3008.0On RHEL,
install_centos_onedir()pins the exact version to the package spec (e.g.yum install salt-minion-3008.0). When the repo only has the RC version3008.0~rc4-0, yum finds no match because RPM treats3008.0and3008.0~rc4as different versions.On Debian/Ubuntu,
install_debian_onedir()andinstall_ubuntu_onedir()install packages by name only (apt-get install salt-minion) without pinning a version, so they install whatever the repo provides — including RC packages.Error Output (AlmaLinux 9)
Root Cause
In
install_centos_onedir(), the version string is constructed as:This becomes
yum install salt-minion-3008.0, which requires an exact RPM version match. The available version3008.0~rc4-0does not match.