commit:     de0b9ff858352a9278a8f000627eb970c0f80ed3
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 15 09:57:48 2025 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Feb 22 07:57:49 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=de0b9ff8

dev-lang/perl: Fix incorrect REPLACING_VERSIONS usage

Closes: https://bugs.gentoo.org/949735
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 dev-lang/perl/perl-5.40.0-r1.ebuild  | 17 ++++++++++-------
 dev-lang/perl/perl-5.40.1_rc1.ebuild | 17 ++++++++++-------
 2 files changed, 20 insertions(+), 14 deletions(-)

diff --git a/dev-lang/perl/perl-5.40.0-r1.ebuild 
b/dev-lang/perl/perl-5.40.0-r1.ebuild
index 5cdfd028245b..135515a28648 100644
--- a/dev-lang/perl/perl-5.40.0-r1.ebuild
+++ b/dev-lang/perl/perl-5.40.0-r1.ebuild
@@ -109,12 +109,14 @@ dual_scripts() {
 
 check_rebuild() {
        # Fresh install
-       if [[ -z "${REPLACING_VERSIONS}" ]]; then
-               return 0;
+       if [[ -z ${REPLACING_VERSIONS} ]]; then
+               return 0
+       fi
+
        # Major Upgrade
-       # doesn't matter if there's multiple copies, it still needs a rebuild
-       # if the string is anything other than "5.CURRENTMAJOR"
-       elif [[ "${REPLACING_VERSIONS%.*}" != "${PV%.*}" ]]; then
+       local v
+       for v in ${REPLACING_VERSIONS}; do
+               [[ ${v%.*} == "${SHORT_PV}" ]] && continue
                echo ""
                ewarn "UPDATE THE PERL MODULES:"
                ewarn "After updating dev-lang/perl the installed Perl modules"
@@ -130,10 +132,11 @@ check_rebuild() {
                ewarn "You should then call perl-cleaner to clean up any old 
files and trigger any"
                ewarn "remaining rebuilds portage may have missed."
                ewarn "Use: perl-cleaner --all"
-               return 0;
+               return 0
+       done
 
        # Reinstall w/ USE Change
-       elif
+       if
                 (   use perl_features_ithreads && ( has_version 
'<dev-lang/perl-5.38.2-r3[-ithreads]' || has_version 
'>=dev-lang/perl-5.38.2-r3[-perl_features_ithreads]' ) ) || \
                 ( ! use perl_features_ithreads && ( has_version 
'<dev-lang/perl-5.38.2-r3[ithreads]'  || has_version 
'>=dev-lang/perl-5.38.2-r3[perl_features_ithreads]'  ) ) || \
                 (   use perl_features_quadmath && ( has_version 
'<dev-lang/perl-5.38.2-r3[-quadmath]' || has_version 
'>=dev-lang/perl-5.38.2-r3[-perl_features_quadmath]' ) ) || \

diff --git a/dev-lang/perl/perl-5.40.1_rc1.ebuild 
b/dev-lang/perl/perl-5.40.1_rc1.ebuild
index 49d74632e547..760c17c59b15 100644
--- a/dev-lang/perl/perl-5.40.1_rc1.ebuild
+++ b/dev-lang/perl/perl-5.40.1_rc1.ebuild
@@ -104,12 +104,14 @@ dual_scripts() {
 
 check_rebuild() {
        # Fresh install
-       if [[ -z "${REPLACING_VERSIONS}" ]]; then
-               return 0;
+       if [[ -z ${REPLACING_VERSIONS} ]]; then
+               return 0
+       fi
+
        # Major Upgrade
-       # doesn't matter if there's multiple copies, it still needs a rebuild
-       # if the string is anything other than "5.CURRENTMAJOR"
-       elif [[ "${REPLACING_VERSIONS%.*}" != "${PV%.*}" ]]; then
+       local v
+       for v in ${REPLACING_VERSIONS}; do
+               [[ ${v%.*} == "${SHORT_PV}" ]] && continue
                echo ""
                ewarn "UPDATE THE PERL MODULES:"
                ewarn "After updating dev-lang/perl the installed Perl modules"
@@ -125,10 +127,11 @@ check_rebuild() {
                ewarn "You should then call perl-cleaner to clean up any old 
files and trigger any"
                ewarn "remaining rebuilds portage may have missed."
                ewarn "Use: perl-cleaner --all"
-               return 0;
+               return 0
+       done
 
        # Reinstall w/ USE Change
-       elif
+       if
                 (   use perl_features_ithreads && ( has_version 
'<dev-lang/perl-5.38.2-r3[-ithreads]' || has_version 
'>=dev-lang/perl-5.38.2-r3[-perl_features_ithreads]' ) ) || \
                 ( ! use perl_features_ithreads && ( has_version 
'<dev-lang/perl-5.38.2-r3[ithreads]'  || has_version 
'>=dev-lang/perl-5.38.2-r3[perl_features_ithreads]'  ) ) || \
                 (   use perl_features_quadmath && ( has_version 
'<dev-lang/perl-5.38.2-r3[-quadmath]' || has_version 
'>=dev-lang/perl-5.38.2-r3[-perl_features_quadmath]' ) ) || \

Reply via email to