commit:     faa2ab672e5041c4a033606bad11e2e7c4aa18d2
Author:     Kerin Millar <kfm <AT> plushkava <DOT> net>
AuthorDate: Fri Sep 19 22:29:59 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Sep 30 20:14:02 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=faa2ab67

app-shells/bash: don't assume REPLACING_VERSIONS is singular

Link: https://bugs.gentoo.org/589444
Signed-off-by: Kerin Millar <kfm <AT> plushkava.net>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 app-shells/bash/bash-5.2_p37-r3.ebuild               | 11 +++++++++--
 app-shells/bash/bash-5.2_p37-r4.ebuild               | 11 +++++++++--
 app-shells/bash/bash-5.3_p3-r1.ebuild                | 11 +++++++++--
 app-shells/bash/bash-5.3_p3-r2.ebuild                | 11 +++++++++--
 app-shells/bash/bash-5.4_alpha_pre20250822.ebuild    | 11 +++++++++--
 app-shells/bash/bash-5.4_alpha_pre20250904-r1.ebuild | 11 +++++++++--
 app-shells/bash/bash-5.4_alpha_pre20250904.ebuild    | 11 +++++++++--
 app-shells/bash/bash-5.4_alpha_pre20250918.ebuild    | 11 +++++++++--
 app-shells/bash/bash-9999.ebuild                     | 11 +++++++++--
 9 files changed, 81 insertions(+), 18 deletions(-)

diff --git a/app-shells/bash/bash-5.2_p37-r3.ebuild 
b/app-shells/bash/bash-5.2_p37-r3.ebuild
index 6366db5d2df1..452f64acfa04 100644
--- a/app-shells/bash/bash-5.2_p37-r3.ebuild
+++ b/app-shells/bash/bash-5.2_p37-r3.ebuild
@@ -372,14 +372,21 @@ pkg_preinst() {
 }
 
 pkg_postinst() {
-       local old_ver
+       local IFS old_ver ver
+       local -a versions
 
        # If /bin/sh does not exist, provide it.
        if [[ ! -e ${EROOT}/bin/sh ]]; then
                ln -sf -- bash "${EROOT}"/bin/sh || die
        fi
 
-       read -r old_ver <<<"${REPLACING_VERSIONS}"
+       read -rd '' -a versions <<<"${REPLACING_VERSIONS}"
+       for ver in "${versions[@]}"; do
+               if [[ ! ${old_ver} ]] || ver_test "${ver}" -lt "${old_ver}"; 
then
+                       old_ver=${ver}
+               fi
+       done
+
        if [[ ! $old_ver ]]; then
                :
        elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge 
"5.2_p26-r8"; then

diff --git a/app-shells/bash/bash-5.2_p37-r4.ebuild 
b/app-shells/bash/bash-5.2_p37-r4.ebuild
index 267b3ef78b9d..50da6638e250 100644
--- a/app-shells/bash/bash-5.2_p37-r4.ebuild
+++ b/app-shells/bash/bash-5.2_p37-r4.ebuild
@@ -372,14 +372,21 @@ pkg_preinst() {
 }
 
 pkg_postinst() {
-       local old_ver
+       local IFS old_ver ver
+       local -a versions
 
        # If /bin/sh does not exist, provide it.
        if [[ ! -e ${EROOT}/bin/sh ]]; then
                ln -sf -- bash "${EROOT}"/bin/sh || die
        fi
 
-       read -r old_ver <<<"${REPLACING_VERSIONS}"
+       read -rd '' -a versions <<<"${REPLACING_VERSIONS}"
+       for ver in "${versions[@]}"; do
+               if [[ ! ${old_ver} ]] || ver_test "${ver}" -lt "${old_ver}"; 
then
+                       old_ver=${ver}
+               fi
+       done
+
        if [[ ! $old_ver ]]; then
                :
        elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge 
"5.2_p26-r8"; then

diff --git a/app-shells/bash/bash-5.3_p3-r1.ebuild 
b/app-shells/bash/bash-5.3_p3-r1.ebuild
index f069c5c36bd4..fe9698321a81 100644
--- a/app-shells/bash/bash-5.3_p3-r1.ebuild
+++ b/app-shells/bash/bash-5.3_p3-r1.ebuild
@@ -364,14 +364,21 @@ pkg_preinst() {
 }
 
 pkg_postinst() {
-       local old_ver
+       local IFS old_ver ver
+       local -a versions
 
        # If /bin/sh does not exist, provide it.
        if [[ ! -e ${EROOT}/bin/sh ]]; then
                ln -sf -- bash "${EROOT}"/bin/sh || die
        fi
 
-       read -r old_ver <<<"${REPLACING_VERSIONS}"
+       read -rd '' -a versions <<<"${REPLACING_VERSIONS}"
+       for ver in "${versions[@]}"; do
+               if [[ ! ${old_ver} ]] || ver_test "${ver}" -lt "${old_ver}"; 
then
+                       old_ver=${ver}
+               fi
+       done
+
        if [[ ! $old_ver ]]; then
                :
        elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge 
"5.2_p26-r8"; then

diff --git a/app-shells/bash/bash-5.3_p3-r2.ebuild 
b/app-shells/bash/bash-5.3_p3-r2.ebuild
index d01bec626c3b..b04e96695eaa 100644
--- a/app-shells/bash/bash-5.3_p3-r2.ebuild
+++ b/app-shells/bash/bash-5.3_p3-r2.ebuild
@@ -365,14 +365,21 @@ pkg_preinst() {
 }
 
 pkg_postinst() {
-       local old_ver
+       local IFS old_ver ver
+       local -a versions
 
        # If /bin/sh does not exist, provide it.
        if [[ ! -e ${EROOT}/bin/sh ]]; then
                ln -sf -- bash "${EROOT}"/bin/sh || die
        fi
 
-       read -r old_ver <<<"${REPLACING_VERSIONS}"
+       read -rd '' -a versions <<<"${REPLACING_VERSIONS}"
+       for ver in "${versions[@]}"; do
+               if [[ ! ${old_ver} ]] || ver_test "${ver}" -lt "${old_ver}"; 
then
+                       old_ver=${ver}
+               fi
+       done
+
        if [[ ! $old_ver ]]; then
                :
        elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge 
"5.2_p26-r8"; then

diff --git a/app-shells/bash/bash-5.4_alpha_pre20250822.ebuild 
b/app-shells/bash/bash-5.4_alpha_pre20250822.ebuild
index 3a502078451e..c255328c6eab 100644
--- a/app-shells/bash/bash-5.4_alpha_pre20250822.ebuild
+++ b/app-shells/bash/bash-5.4_alpha_pre20250822.ebuild
@@ -363,14 +363,21 @@ pkg_preinst() {
 }
 
 pkg_postinst() {
-       local old_ver
+       local IFS old_ver ver
+       local -a versions
 
        # If /bin/sh does not exist, provide it.
        if [[ ! -e ${EROOT}/bin/sh ]]; then
                ln -sf -- bash "${EROOT}"/bin/sh || die
        fi
 
-       read -r old_ver <<<"${REPLACING_VERSIONS}"
+       read -rd '' -a versions <<<"${REPLACING_VERSIONS}"
+       for ver in "${versions[@]}"; do
+               if [[ ! ${old_ver} ]] || ver_test "${ver}" -lt "${old_ver}"; 
then
+                       old_ver=${ver}
+               fi
+       done
+
        if [[ ! $old_ver ]]; then
                :
        elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge 
"5.2_p26-r8"; then

diff --git a/app-shells/bash/bash-5.4_alpha_pre20250904-r1.ebuild 
b/app-shells/bash/bash-5.4_alpha_pre20250904-r1.ebuild
index 7fde1dd927ec..df5d6f6d400d 100644
--- a/app-shells/bash/bash-5.4_alpha_pre20250904-r1.ebuild
+++ b/app-shells/bash/bash-5.4_alpha_pre20250904-r1.ebuild
@@ -364,14 +364,21 @@ pkg_preinst() {
 }
 
 pkg_postinst() {
-       local old_ver
+       local IFS old_ver ver
+       local -a versions
 
        # If /bin/sh does not exist, provide it.
        if [[ ! -e ${EROOT}/bin/sh ]]; then
                ln -sf -- bash "${EROOT}"/bin/sh || die
        fi
 
-       read -r old_ver <<<"${REPLACING_VERSIONS}"
+       read -rd '' -a versions <<<"${REPLACING_VERSIONS}"
+       for ver in "${versions[@]}"; do
+               if [[ ! ${old_ver} ]] || ver_test "${ver}" -lt "${old_ver}"; 
then
+                       old_ver=${ver}
+               fi
+       done
+
        if [[ ! $old_ver ]]; then
                :
        elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge 
"5.2_p26-r8"; then

diff --git a/app-shells/bash/bash-5.4_alpha_pre20250904.ebuild 
b/app-shells/bash/bash-5.4_alpha_pre20250904.ebuild
index 7fde1dd927ec..df5d6f6d400d 100644
--- a/app-shells/bash/bash-5.4_alpha_pre20250904.ebuild
+++ b/app-shells/bash/bash-5.4_alpha_pre20250904.ebuild
@@ -364,14 +364,21 @@ pkg_preinst() {
 }
 
 pkg_postinst() {
-       local old_ver
+       local IFS old_ver ver
+       local -a versions
 
        # If /bin/sh does not exist, provide it.
        if [[ ! -e ${EROOT}/bin/sh ]]; then
                ln -sf -- bash "${EROOT}"/bin/sh || die
        fi
 
-       read -r old_ver <<<"${REPLACING_VERSIONS}"
+       read -rd '' -a versions <<<"${REPLACING_VERSIONS}"
+       for ver in "${versions[@]}"; do
+               if [[ ! ${old_ver} ]] || ver_test "${ver}" -lt "${old_ver}"; 
then
+                       old_ver=${ver}
+               fi
+       done
+
        if [[ ! $old_ver ]]; then
                :
        elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge 
"5.2_p26-r8"; then

diff --git a/app-shells/bash/bash-5.4_alpha_pre20250918.ebuild 
b/app-shells/bash/bash-5.4_alpha_pre20250918.ebuild
index f54b1ecb0d54..3f2d6fea7893 100644
--- a/app-shells/bash/bash-5.4_alpha_pre20250918.ebuild
+++ b/app-shells/bash/bash-5.4_alpha_pre20250918.ebuild
@@ -364,14 +364,21 @@ pkg_preinst() {
 }
 
 pkg_postinst() {
-       local old_ver
+       local IFS old_ver ver
+       local -a versions
 
        # If /bin/sh does not exist, provide it.
        if [[ ! -e ${EROOT}/bin/sh ]]; then
                ln -sf -- bash "${EROOT}"/bin/sh || die
        fi
 
-       read -r old_ver <<<"${REPLACING_VERSIONS}"
+       read -rd '' -a versions <<<"${REPLACING_VERSIONS}"
+       for ver in "${versions[@]}"; do
+               if [[ ! ${old_ver} ]] || ver_test "${ver}" -lt "${old_ver}"; 
then
+                       old_ver=${ver}
+               fi
+       done
+
        if [[ ! $old_ver ]]; then
                :
        elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge 
"5.2_p26-r8"; then

diff --git a/app-shells/bash/bash-9999.ebuild b/app-shells/bash/bash-9999.ebuild
index 3d7aff8378bb..7e576e31249a 100644
--- a/app-shells/bash/bash-9999.ebuild
+++ b/app-shells/bash/bash-9999.ebuild
@@ -366,14 +366,21 @@ pkg_preinst() {
 }
 
 pkg_postinst() {
-       local old_ver
+       local IFS old_ver ver
+       local -a versions
 
        # If /bin/sh does not exist, provide it.
        if [[ ! -e ${EROOT}/bin/sh ]]; then
                ln -sf -- bash "${EROOT}"/bin/sh || die
        fi
 
-       read -r old_ver <<<"${REPLACING_VERSIONS}"
+       read -rd '' -a versions <<<"${REPLACING_VERSIONS}"
+       for ver in "${versions[@]}"; do
+               if [[ ! ${old_ver} ]] || ver_test "${ver}" -lt "${old_ver}"; 
then
+                       old_ver=${ver}
+               fi
+       done
+
        if [[ ! $old_ver ]]; then
                :
        elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge 
"5.2_p26-r8"; then

Reply via email to