From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id A11781396D1 for ; Mon, 11 Sep 2017 01:10:26 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id E49CBE0BB3; Mon, 11 Sep 2017 01:10:25 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id B5D77E0BB3 for ; Mon, 11 Sep 2017 01:10:25 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 2F03233BEBE for ; Mon, 11 Sep 2017 01:10:24 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id E15C29078 for ; Mon, 11 Sep 2017 01:10:22 +0000 (UTC) From: "Kent Fredric" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Kent Fredric" Message-ID: <1505092149.e7f2457d1a8207a97e4a8675613ce97ecb408e7c.kentnl@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lang/perl/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-lang/perl/perl-5.26.9999.ebuild dev-lang/perl/perl-5.28.9999.ebuild X-VCS-Directories: dev-lang/perl/ X-VCS-Committer: kentnl X-VCS-Committer-Name: Kent Fredric X-VCS-Revision: e7f2457d1a8207a97e4a8675613ce97ecb408e7c X-VCS-Branch: master Date: Mon, 11 Sep 2017 01:10:22 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: d953d722-80d3-4348-9a6c-5be6dcc0c44e X-Archives-Hash: bf22e45166a1946ef84e0aa31451f825 commit: e7f2457d1a8207a97e4a8675613ce97ecb408e7c Author: Kent Fredric gentoo org> AuthorDate: Mon Sep 11 01:08:41 2017 +0000 Commit: Kent Fredric gentoo org> CommitDate: Mon Sep 11 01:09:09 2017 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e7f2457d dev-lang/perl: Do auto oldversen discovery for ABI non-specific paths Package-Manager: Portage-2.3.6, Repoman-2.3.2 dev-lang/perl/perl-5.26.9999.ebuild | 56 +++++++++++++++++++++++++++---------- dev-lang/perl/perl-5.28.9999.ebuild | 56 +++++++++++++++++++++++++++---------- 2 files changed, 84 insertions(+), 28 deletions(-) diff --git a/dev-lang/perl/perl-5.26.9999.ebuild b/dev-lang/perl/perl-5.26.9999.ebuild index 47b6f53cd7c..4ca2f53d0a0 100644 --- a/dev-lang/perl/perl-5.26.9999.ebuild +++ b/dev-lang/perl/perl-5.26.9999.ebuild @@ -15,8 +15,6 @@ DIST_AUTHOR=SHAY # Devel point-releases are not ABI-intercompatible, but stable point releases are # BIN_OLDVERSEN is contains only C-ABI-intercompatible versions PERL_BIN_OLDVERSEN="5.26.0" -# Don't add more -RC values, its historical bungling -PERL_OLDVERSEN="5.26.0 5.26.0-RC1 5.25.12 5.25.11 5.24.3 5.24.2 5.24.1 5.24.0 5.22.3 5.22.2 5.22.1 5.22.0" if [[ "${PV##*.}" == "9999" ]]; then DIST_VERSION=5.26.1-RC1 else @@ -153,13 +151,17 @@ pkg_setup() { myarch+="-thread" fi + PRIV_BASE="/usr/$(get_libdir)/perl5" + SITE_BASE="/usr/local/$(get_libdir)/perl5" + VENDOR_BASE="/usr/$(get_libdir)/perl5/vendor_perl" + LIBPERL="libperl$(get_libname ${MY_PV} )" - PRIV_LIB="/usr/$(get_libdir)/perl5/${MY_PV}" - ARCH_LIB="/usr/$(get_libdir)/perl5/${MY_PV}/${myarch}${mythreading}" - SITE_LIB="/usr/local/$(get_libdir)/perl5/${MY_PV}" - SITE_ARCH="/usr/local/$(get_libdir)/perl5/${MY_PV}/${myarch}${mythreading}" - VENDOR_LIB="/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}" - VENDOR_ARCH="/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}/${myarch}${mythreading}" + PRIV_LIB="${PRIV_BASE}/${MY_PV}" + ARCH_LIB="${PRIV_BASE}/${MY_PV}/${myarch}${mythreading}" + SITE_LIB="${SITE_BASE}/${MY_PV}" + SITE_ARCH="${SITE_BASE}/${MY_PV}/${myarch}${mythreading}" + VENDOR_LIB="${VENDOR_BASE}/${MY_PV}" + VENDOR_ARCH="${VENDOR_BASE}/${MY_PV}/${myarch}${mythreading}" dual_scripts } @@ -397,12 +399,38 @@ src_configure() { myconf -DDEBUGGING=none fi - if [[ -n ${PERL_OLDVERSEN} ]] ; then - local inclist=$( - for v in ${PERL_OLDVERSEN}; do - has "${v}" ${PERL_BIN_OLDVERSEN} && echo -n "${v}/${myarch}${mythreading} "; - echo -n "${v} "; - done ) + # Autodiscover all old version directories, some of them will even be newer + # if you downgrade + if [[ -z ${PERL_OLDVERSEN} ]]; then + PERL_OLDVERSEN="$( + find "${EROOT%/}${PRIV_BASE}" "${EROOT%/}${SITE_BASE}" "${EROOT%/}${VENDOR_BASE}" \ + -maxdepth 1 -mindepth 1 -type d -regex '.*/5[.][0-9]+[.][0-9]+$' \ + -printf "%f " 2>/dev/null )" + fi + # Fixup versions, removing self match, fixing order and dupes + PERL_OLDVERSEN="$( + echo "${PERL_OLDVERSEN}" |\ + tr " " "\n" |\ + grep -vF "${DIST_VERSION%-RC}" |\ + sort -u -nr -t'.' -k1,1 -k2,2 -k3,3 + )" + + # Experts who want a "Pure" install can set PERL_OLDVERSEN to an empty string + if [[ -n "${PERL_OLDVERSEN// }" ]]; then + local inclist="$( + for v in ${PERL_OLDVERSEN}; do + has "${v}" ${PERL_BIN_OLDVERSEN} && echo -n "${v}/${myarch}${mythreading} "; + echo -n "${v} "; + done )" + einfo "This version of perl may partially support modules previously" + einfo "installed in any of the following paths:" + for incpath in ${inclist}; do + [[ -e "${EROOT%/}${VENDOR_BASE}/${incpath}" ]] && einfo " ${EROOT%/}${VENDOR_BASE}/${incpath}" + [[ -e "${EROOT%/}${PRIV_BASE}/${incpath}" ]] && einfo " ${EROO%/T}${PRIV_BASE}/${incpath}" + [[ -e "${EROOT%/}${SITE_BASE}/${incpath}" ]] && einfo " ${EROOT%/}${SITE_BASE}/${incpath}" + done + einfo "This is a temporary measure and you should aim to cleanup these paths" + einfo "via world updates and perl-cleaner" myconf -Dinc_version_list="${inclist}" fi diff --git a/dev-lang/perl/perl-5.28.9999.ebuild b/dev-lang/perl/perl-5.28.9999.ebuild index d43d8adc8b1..1405b91843d 100644 --- a/dev-lang/perl/perl-5.28.9999.ebuild +++ b/dev-lang/perl/perl-5.28.9999.ebuild @@ -15,8 +15,6 @@ DIST_AUTHOR=WOLFSAGE # Devel point-releases are not ABI-intercompatible, but stable point releases are # BIN_OLDVERSEN is contains only C-ABI-intercompatible versions PERL_BIN_OLDVERSEN="" -# Don't add more -RC values, its historical bungling -PERL_OLDVERSEN="5.27.2 5.27.1 5.27.0 5.26.0 5.26.0-RC1 5.25.12 5.25.11 5.24.2 5.24.1 5.24.0 5.22.3 5.22.2 5.22.1 5.22.0" if [[ "${PV##*.}" == "9999" ]]; then DIST_VERSION=5.27.3 else @@ -153,13 +151,17 @@ pkg_setup() { myarch+="-thread" fi + PRIV_BASE="/usr/$(get_libdir)/perl5" + SITE_BASE="/usr/local/$(get_libdir)/perl5" + VENDOR_BASE="/usr/$(get_libdir)/perl5/vendor_perl" + LIBPERL="libperl$(get_libname ${MY_PV} )" - PRIV_LIB="/usr/$(get_libdir)/perl5/${MY_PV}" - ARCH_LIB="/usr/$(get_libdir)/perl5/${MY_PV}/${myarch}${mythreading}" - SITE_LIB="/usr/local/$(get_libdir)/perl5/${MY_PV}" - SITE_ARCH="/usr/local/$(get_libdir)/perl5/${MY_PV}/${myarch}${mythreading}" - VENDOR_LIB="/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}" - VENDOR_ARCH="/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}/${myarch}${mythreading}" + PRIV_LIB="${PRIV_BASE}/${MY_PV}" + ARCH_LIB="${PRIV_BASE}/${MY_PV}/${myarch}${mythreading}" + SITE_LIB="${SITE_BASE}/${MY_PV}" + SITE_ARCH="${SITE_BASE}/${MY_PV}/${myarch}${mythreading}" + VENDOR_LIB="${VENDOR_BASE}/${MY_PV}" + VENDOR_ARCH="${VENDOR_BASE}/${MY_PV}/${myarch}${mythreading}" dual_scripts } @@ -397,12 +399,38 @@ src_configure() { myconf -DDEBUGGING=none fi - if [[ -n ${PERL_OLDVERSEN} ]] ; then - local inclist=$( - for v in ${PERL_OLDVERSEN}; do - has "${v}" ${PERL_BIN_OLDVERSEN} && echo -n "${v}/${myarch}${mythreading} "; - echo -n "${v} "; - done ) + # Autodiscover all old version directories, some of them will even be newer + # if you downgrade + if [[ -z ${PERL_OLDVERSEN} ]]; then + PERL_OLDVERSEN="$( + find "${EROOT%/}${PRIV_BASE}" "${EROOT%/}${SITE_BASE}" "${EROOT%/}${VENDOR_BASE}" \ + -maxdepth 1 -mindepth 1 -type d -regex '.*/5[.][0-9]+[.][0-9]+$' \ + -printf "%f " 2>/dev/null )" + fi + # Fixup versions, removing self match, fixing order and dupes + PERL_OLDVERSEN="$( + echo "${PERL_OLDVERSEN}" |\ + tr " " "\n" |\ + grep -vF "${DIST_VERSION%-RC}" |\ + sort -u -nr -t'.' -k1,1 -k2,2 -k3,3 + )" + + # Experts who want a "Pure" install can set PERL_OLDVERSEN to an empty string + if [[ -n "${PERL_OLDVERSEN// }" ]]; then + local inclist="$( + for v in ${PERL_OLDVERSEN}; do + has "${v}" ${PERL_BIN_OLDVERSEN} && echo -n "${v}/${myarch}${mythreading} "; + echo -n "${v} "; + done )" + einfo "This version of perl may partially support modules previously" + einfo "installed in any of the following paths:" + for incpath in ${inclist}; do + [[ -e "${EROOT%/}${VENDOR_BASE}/${incpath}" ]] && einfo " ${EROOT%/}${VENDOR_BASE}/${incpath}" + [[ -e "${EROOT%/}${PRIV_BASE}/${incpath}" ]] && einfo " ${EROO%/T}${PRIV_BASE}/${incpath}" + [[ -e "${EROOT%/}${SITE_BASE}/${incpath}" ]] && einfo " ${EROOT%/}${SITE_BASE}/${incpath}" + done + einfo "This is a temporary measure and you should aim to cleanup these paths" + einfo "via world updates and perl-cleaner" myconf -Dinc_version_list="${inclist}" fi