commit:     47a31f879a0c5d3a25621cde73d4a8539ef0a02c
Author:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
AuthorDate: Tue Dec 23 14:41:59 2014 +0000
Commit:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
CommitDate: Tue Dec 23 14:41:59 2014 +0000
URL:        
http://sources.gentoo.org/gitweb/?p=proj/perl-overlay.git;a=commit;h=47a31f87

perl-module.eclass: Synchronise a lot of changes from ::gentoo

---
 eclass/perl-module.eclass | 165 +++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 149 insertions(+), 16 deletions(-)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index dd7ffc2..df4f87f 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -1,6 +1,6 @@
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/perl-module.eclass,v 1.139 
2014/03/30 19:25:14 zlogene Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/perl-module.eclass,v 1.161 
2014/12/17 16:40:53 dilfridge Exp $
 
 # @ECLASS: perl-module.eclass
 # @MAINTAINER:
@@ -65,7 +65,7 @@ case "${PERL_EXPORT_PHASE_FUNCTIONS:-yes}" in
                ;;
 esac
 
-LICENSE="${LICENSE:-|| ( Artistic GPL-1 GPL-2 GPL-3 )}"
+LICENSE="${LICENSE:-|| ( Artistic GPL-1+ )}"
 
 if [[ -n ${MY_PN} || -n ${MY_PV} || -n ${MODULE_VERSION} ]] ; then
        : ${MY_P:=${MY_PN:-${PN}}-${MY_PV:-${MODULE_VERSION:-${PV}}}}
@@ -88,12 +88,23 @@ PREFER_BUILDPL="yes"
 pm_echovar=""
 perlinfo_done=false
 
+# @FUNCTION: perl-module_src_unpack
+# @USAGE: perl-module_src_unpack
+# @DESCRIPTION:
+# Unpack the ebuild tarball(s).
+# This function is to be called during the ebuild src_unpack() phase.
 perl-module_src_unpack() {
        debug-print-function $FUNCNAME "$@"
+
        unpacker_src_unpack
        has src_prepare ${PERL_EXPF} || perl-module_src_prepare
 }
 
+# @FUNCTION: perl-module_src_prepare
+# @USAGE: perl-module_src_prepare
+# @DESCRIPTION:
+# Get the ebuild sources ready.
+# This function is to be called during the ebuild src_prepare() phase.
 perl-module_src_prepare() {
        debug-print-function $FUNCNAME "$@"
        has src_prepare ${PERL_EXPF} && \
@@ -108,13 +119,14 @@ perl-module_src_prepare() {
        esvn_clean
 }
 
+# @FUNCTION: perl-module_src_configure
+# @USAGE: perl-module_src_configure
+# @DESCRIPTION:
+# Configure the ebuild sources.
+# This function is to be called during the ebuild src_configure() phase.
 perl-module_src_configure() {
        debug-print-function $FUNCNAME "$@"
-       perl-module_src_prep
-}
 
-perl-module_src_prep() {
-       debug-print-function $FUNCNAME "$@"
        [[ ${SRC_PREP} = yes ]] && return 0
        SRC_PREP="yes"
 
@@ -172,11 +184,31 @@ perl-module_src_prep() {
        fi
 }
 
+# @FUNCTION: perl-module_src_prep
+# @USAGE: perl-module_src_prep
+# @DESCRIPTION:
+# Configure the ebuild sources (bis).
+#
+# This function is still around for historical reasons
+# and will be soon deprecated.
+#
+# Please use the function above instead, perl-module_src_configure().
+perl-module_src_prep() {
+       debug-print-function $FUNCNAME "$@"
+       ewarn "perl-modules.eclass: perl-module_src_prep is deprecated and will 
be removed. Please use perl-module_src_configure instead."
+       perl-module_src_configure
+}
+
+# @FUNCTION: perl-module_src_compile
+# @USAGE: perl-module_src_compile
+# @DESCRIPTION:
+# Compile the ebuild sources.
+# This function is to be called during the ebuild src_compile() phase.
 perl-module_src_compile() {
        debug-print-function $FUNCNAME "$@"
        perl_set_version
 
-       has src_configure ${PERL_EXPF} || perl-module_src_prep
+       has src_configure ${PERL_EXPF} || perl-module_src_configure
 
        if [[ $(declare -p mymake 2>&-) != "declare -a mymake="* ]]; then
                local mymake_local=(${mymake})
@@ -274,6 +306,11 @@ perl-module_src_test() {
        fi
 }
 
+# @FUNCTION: perl-module_src_install
+# @USAGE: perl-module_src_install
+# @DESCRIPTION:
+# Install a Perl ebuild.
+# This function is to be called during the ebuild src_install() phase.
 perl-module_src_install() {
        debug-print-function $FUNCNAME "$@"
 
@@ -315,35 +352,72 @@ perl-module_src_install() {
        perl_link_duallife_scripts
 }
 
+# @FUNCTION: perl-module_pkg_setup
+# @USAGE: perl-module_pkg_setup
+# @DESCRIPTION:
+# This function was to be called during the pkg_setup() phase.
+# Deprecated, to be removed. Where it is called, place a call to 
perl_set_version instead.
 perl-module_pkg_setup() {
        debug-print-function $FUNCNAME "$@"
+       ewarn "perl-modules.eclass: perl-module_pkg_setup is deprecated and 
will be removed. Please use perl_set_version instead."
        perl_set_version
 }
 
+# @FUNCTION: perl-module_pkg_preinst
+# @USAGE: perl-module_pkg_preinst
+# @DESCRIPTION:
+# This function was to be called during the pkg_preinst() phase.
+# Deprecated, to be removed. Where it is called, place a call to 
perl_set_version instead.
 perl-module_pkg_preinst() {
        debug-print-function $FUNCNAME "$@"
+       ewarn "perl-modules.eclass: perl-module_pkg_preinst is deprecated and 
will be removed. Please use perl_set_version instead."
        perl_set_version
 }
 
+# @FUNCTION: perl-module_pkg_postinst
+# @USAGE: perl-module_pkg_postinst
+# @DESCRIPTION:
+# This function is to be called during the pkg_postinst() phase. It only does
+# useful things for the perl-core category, where it handles the file renaming 
and symbolic
+# links that prevent file collisions for dual-life packages installing scripts.
+# In any other category it immediately exits.
 perl-module_pkg_postinst() {
        debug-print-function $FUNCNAME "$@"
+       if [[ ${CATEGORY} != perl-core ]] ; then
+               eqawarn "perl-module.eclass: You are calling 
perl-module_pkg_postinst outside the perl-core category."
+               eqawarn "   This does not do anything; the call can be safely 
removed."
+               return 0
+       fi
        perl_link_duallife_scripts
 }
 
+# @FUNCTION: perl-module_pkg_prerm
+# @USAGE: perl-module_pkg_prerm
+# @DESCRIPTION:
+# This function was to be called during the pkg_prerm() phase.
+# It does not do anything. Deprecated, to be removed.
 perl-module_pkg_prerm() {
        debug-print-function $FUNCNAME "$@"
+       ewarn "perl-module.eclass: perl-module_pkg_prerm does not do anything 
and will be removed. Please remove the call."
 }
 
+# @FUNCTION: perl-module_pkg_postrm
+# @USAGE: perl-module_pkg_postrm
+# @DESCRIPTION:
+# This function is to be called during the pkg_postrm() phase. It only does
+# useful things for the perl-core category, where it handles the file renaming 
and symbolic
+# links that prevent file collisions for dual-life packages installing scripts.
+# In any other category it immediately exits.
 perl-module_pkg_postrm() {
        debug-print-function $FUNCNAME "$@"
+       if [[ ${CATEGORY} != perl-core ]] ; then
+               eqawarn "perl-module.eclass: You are calling 
perl-module_pkg_postrm outside the perl-core category."
+               eqawarn "   This does not do anything; the call can be safely 
removed."
+               return 0
+       fi
        perl_link_duallife_scripts
 }
 
-perlinfo() {
-       debug-print-function $FUNCNAME "$@"
-       perl_set_version
-}
-
 has perl_diagnostics ${EBUILD_DEATH_HOOKS} || EBUILD_DEATH_HOOKS+=" 
perl_diagnostics"
 
 perl_diagnostics() {
@@ -389,6 +463,16 @@ perl_check_module_version() {
        fi
 }
 
+# @FUNCTION: perl_set_version
+# @USAGE: perl_set_version
+# @DESCRIPTION:
+# Extract version information and installation paths from the current Perl
+# interpreter.
+#
+# This sets the following variables: PERL_VERSION, SITE_ARCH, SITE_LIB,
+# ARCH_LIB, VENDOR_LIB, VENDOR_ARCH
+#
+# This function used to be called perlinfo as well.
 perl_set_version() {
        debug-print-function $FUNCNAME "$@"
        debug-print "$FUNCNAME: perlinfo_done=${perlinfo_done}"
@@ -407,11 +491,24 @@ perl_set_version() {
        VENDOR_ARCH=${installvendorarch}
 }
 
-fixlocalpod() {
+# @FUNCTION: perlinfo
+# @USAGE: perlinfo
+# @DESCRIPTION:
+# This function is deprecated.
+#
+# Please use the function above instead, perl_set_version().
+perlinfo() {
        debug-print-function $FUNCNAME "$@"
-       perl_delete_localpod
+       ewarn "perl-modules.eclass: perlinfo is deprecated and will be removed. 
Please use perl_set_version instead."
+       perl_set_version
 }
 
+# @FUNCTION: perl_delete_localpod
+# @USAGE: perl_delete_localpod
+# @DESCRIPTION:
+# Remove stray perllocal.pod files in the temporary install directory D.
+#
+# This function used to be called fixlocalpod as well.
 perl_delete_localpod() {
        debug-print-function $FUNCNAME "$@"
 
@@ -419,6 +516,22 @@ perl_delete_localpod() {
        find "${D}" -depth -mindepth 1 -type d -empty -delete
 }
 
+# @FUNCTION: fixlocalpod
+# @USAGE: fixlocalpod
+# @DESCRIPTION:
+# This function is deprecated.
+#
+# Please use the function above instead, perl_delete_localpod().
+fixlocalpod() {
+       debug-print-function $FUNCNAME "$@"
+       ewarn "perl-modules.eclass: fixlocalpod is deprecated and will be 
removed. Please use perl_delete_localpod instead."
+       perl_delete_localpod
+}
+
+# @FUNCTION: perl_fix_osx_extra
+# @USAGE: perl_fix_osx_extra
+# @DESCRIPTION:
+# Look through ${S} for AppleDouble encoded files and get rid of them.
 perl_fix_osx_extra() {
        debug-print-function $FUNCNAME "$@"
 
@@ -436,6 +549,11 @@ perl_fix_osx_extra() {
        done
 }
 
+# @FUNCTION: perl_delete_module_manpages
+# @USAGE: perl_delete_module_manpages
+# @DESCRIPTION:
+# Bump off manpages installed by the current module such as *.3pm files as well
+# as empty directories.
 perl_delete_module_manpages() {
        debug-print-function $FUNCNAME "$@"
 
@@ -448,7 +566,11 @@ perl_delete_module_manpages() {
        fi
 }
 
-
+# @FUNCTION: perl_delete_packlist
+# @USAGE: perl_delete_packlist
+# @DESCRIPTION:
+# Look through ${D} for .packlist files, empty .bs files and empty directories,
+# and get rid of items found.
 perl_delete_packlist() {
        debug-print-function $FUNCNAME "$@"
        perl_set_version
@@ -459,6 +581,11 @@ perl_delete_packlist() {
        fi
 }
 
+# @FUNCTION: perl_remove_temppath
+# @USAGE: perl_remove_temppath
+# @DESCRIPTION:
+# Look through ${D} for text files containing the temporary installation
+# folder (i.e. ${D}). If the pattern is found (i.e. " text"), replace it with 
`/'.
 perl_remove_temppath() {
        debug-print-function $FUNCNAME "$@"
 
@@ -506,6 +633,12 @@ perl_rm_files() {
        IFS="$oldifs"
 }
 
+# @FUNCTION: perl_link_duallife_scripts
+# @USAGE: perl_link_duallife_scripts
+# @DESCRIPTION:
+# Moves files and generates symlinks so dual-life packages installing scripts 
do not
+# lead to file collisions. Mainly for use in pkg_postinst and pkg_postrm, and 
makes
+# only sense for perl-core packages.
 perl_link_duallife_scripts() {
        debug-print-function $FUNCNAME "$@"
        if [[ ${CATEGORY} != perl-core ]] || ! has_version 
">=dev-lang/perl-5.8.8-r8" ; then

Reply via email to