From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 83F7C1389E2 for ; Tue, 23 Dec 2014 14:43:16 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 6D99BE092D; Tue, 23 Dec 2014 14:43:15 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 04450E092D for ; Tue, 23 Dec 2014 14:43:14 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id B7C6E3405C3 for ; Tue, 23 Dec 2014 14:43:13 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 40738D32C for ; Tue, 23 Dec 2014 14:43:12 +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: <1419345719.47a31f879a0c5d3a25621cde73d4a8539ef0a02c.kent@gentoo> Subject: [gentoo-commits] proj/perl-overlay:master commit in: eclass/ X-VCS-Repository: proj/perl-overlay X-VCS-Files: eclass/perl-module.eclass X-VCS-Directories: eclass/ X-VCS-Committer: kent X-VCS-Committer-Name: Kent Fredric X-VCS-Revision: 47a31f879a0c5d3a25621cde73d4a8539ef0a02c X-VCS-Branch: master Date: Tue, 23 Dec 2014 14:43:12 +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: 945d93fb-31f0-45be-90c4-c806f57db236 X-Archives-Hash: 85c9810b83881da2ea613169ac8c9182 commit: 47a31f879a0c5d3a25621cde73d4a8539ef0a02c Author: Kent Fredric gmail com> AuthorDate: Tue Dec 23 14:41:59 2014 +0000 Commit: Kent Fredric gmail 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