2
0
mirror of https://github.com/sudo-project/sudo.git synced 2025-08-22 01:49:11 +00:00

Don't assume RHEL major version is only a single digit

Fixes handling of RHEL 10 and higher.
This commit is contained in:
Todd C. Miller 2025-07-08 19:17:57 -06:00
parent 1c254b3304
commit e5d953f339
4 changed files with 7 additions and 7 deletions

View File

@ -129,14 +129,14 @@ This makes it possible to have all sudo I/O logs on a central server."
%if [rpm] %if [rpm]
# Add distro info to release # Add distro info to release
osrelease=`echo "$pp_rpm_distro" | sed -e 's/^[^0-9]*\([0-9]\{1,2\}\).*/\1/'` osrelease=`echo "$pp_rpm_distro" | sed -e 's/^[^0-9]*\([0-9]\{1,3\}\).*/\1/'`
case "$pp_rpm_distro" in case "$pp_rpm_distro" in
centos*|rhel*|f[0-9]*) centos*|rhel*|f[0-9]*)
# CentOS Stream has a single-digit version # CentOS Stream has a single-digit version
if test $osrelease -lt 10; then if test $osrelease -lt 10; then
osrelease="${osrelease}0" osrelease="${osrelease}0"
fi fi
pp_rpm_release="$pp_rpm_release.el${osrelease%%[0-9]}" pp_rpm_release="$pp_rpm_release.el${osrelease%[0-9]}"
;; ;;
sles*) sles*)
pp_rpm_release="$pp_rpm_release.sles$osrelease" pp_rpm_release="$pp_rpm_release.sles$osrelease"

View File

@ -85,14 +85,14 @@
%if [rpm] %if [rpm]
# Add distro info to release # Add distro info to release
osrelease=`echo "$pp_rpm_distro" | sed -e 's/^[^0-9]*\([0-9]\{1,2\}\).*/\1/'` osrelease=`echo "$pp_rpm_distro" | sed -e 's/^[^0-9]*\([0-9]\{1,3\}\).*/\1/'`
case "$pp_rpm_distro" in case "$pp_rpm_distro" in
centos*|rhel*|f[0-9]*) centos*|rhel*|f[0-9]*)
# CentOS Stream has a single-digit version # CentOS Stream has a single-digit version
if test $osrelease -lt 10; then if test $osrelease -lt 10; then
osrelease="${osrelease}0" osrelease="${osrelease}0"
fi fi
pp_rpm_release="$pp_rpm_release.el${osrelease%%[0-9]}" pp_rpm_release="$pp_rpm_release.el${osrelease%[0-9]}"
;; ;;
sles*) sles*)
pp_rpm_release="$pp_rpm_release.sles$osrelease" pp_rpm_release="$pp_rpm_release.sles$osrelease"

View File

@ -150,14 +150,14 @@ still allow people to get their work done."
%if [rpm] %if [rpm]
# Add distro info to release # Add distro info to release
osrelease=`echo "$pp_rpm_distro" | sed -e 's/^[^0-9]*\([0-9]\{1,2\}\).*/\1/'` osrelease=`echo "$pp_rpm_distro" | sed -e 's/^[^0-9]*\([0-9]\{1,3\}\).*/\1/'`
case "$pp_rpm_distro" in case "$pp_rpm_distro" in
centos*|rhel*|f[0-9]*) centos*|rhel*|f[0-9]*)
# CentOS Stream has a single-digit version # CentOS Stream has a single-digit version
if test $osrelease -lt 10; then if test $osrelease -lt 10; then
osrelease="${osrelease}0" osrelease="${osrelease}0"
fi fi
pp_rpm_release="$pp_rpm_release.el${osrelease%%[0-9]}" pp_rpm_release="$pp_rpm_release.el${osrelease%[0-9]}"
;; ;;
sles*) sles*)
pp_rpm_release="$pp_rpm_release.sles$osrelease" pp_rpm_release="$pp_rpm_release.sles$osrelease"

View File

@ -5581,7 +5581,7 @@ pp_rpm_detect_distro () {
-e 's/^Red Hat Enterprise Linux.*release \([0-9][0-9\.]*\).*/rhel\1/p' \ -e 's/^Red Hat Enterprise Linux.*release \([0-9][0-9\.]*\).*/rhel\1/p' \
-e 's/^Rocky Linux.*release \([0-9][0-9\.]*\).*/rhel\1/p' \ -e 's/^Rocky Linux.*release \([0-9][0-9\.]*\).*/rhel\1/p' \
-e 's/^AlmaLinux.*release \([0-9][0-9\.]*\).*/rhel\1/p' \ -e 's/^AlmaLinux.*release \([0-9][0-9\.]*\).*/rhel\1/p' \
-e 's/^CentOS.*release \([0-9][0-9\.]*\).*/centos\1/p' \ -e 's/^CentOS.*release \([0-9]\{1,\}\)\(\.[0-9]*\)\{0,1\}.*/centos\1\2/p' \
/etc/redhat-release` /etc/redhat-release`
elif test -f /etc/SuSE-release; then elif test -f /etc/SuSE-release; then
pp_rpm_distro=`awk ' pp_rpm_distro=`awk '