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 03491138CA3 for ; Sun, 15 Mar 2015 05:10:33 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 84A30E0B44; Sun, 15 Mar 2015 05:10:32 +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 139E2E0B44 for ; Sun, 15 Mar 2015 05:10:31 +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 DE65C3408CB for ; Sun, 15 Mar 2015 05:10:30 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 8B5CB13C8C for ; Sun, 15 Mar 2015 05:10:26 +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: <1426395864.5f8e66084195ff46a00c8e86fe0ce9c734e026e9.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: 5f8e66084195ff46a00c8e86fe0ce9c734e026e9 X-VCS-Branch: master Date: Sun, 15 Mar 2015 05:10:26 +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: b5f7b97e-5437-4800-9e03-a2d4eb271886 X-Archives-Hash: 5a89c7f92ff0e74767b8d587387a3548 commit: 5f8e66084195ff46a00c8e86fe0ce9c734e026e9 Author: Kent Fredric gmail com> AuthorDate: Sun Mar 15 05:04:24 2015 +0000 Commit: Kent Fredric gmail com> CommitDate: Sun Mar 15 05:04:24 2015 +0000 URL: https://gitweb.gentoo.org/proj/perl-overlay.git/commit/?id=5f8e6608 [perl-module.eclass] make perl_qawarn invocations have clearer errors under PERL_QAFATAL eclass/perl-module.eclass | 47 ++++++++++++++++++++++++++++++++--------------- 1 file changed, 32 insertions(+), 15 deletions(-) diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass index dcf8620..f71753e 100644 --- a/eclass/perl-module.eclass +++ b/eclass/perl-module.eclass @@ -20,7 +20,7 @@ PERL_EXPF="src_unpack src_compile src_test src_install" case "${EAPI:-0}" in 0|1) eqawarn "$P: EAPI 0 and 1 are deprecated both in ::gentoo and ::perl-experimental" - perl_qafatal "eapi"; + perl_qafatal "eapi" "EAPI 0 and 1 are deprecated"; PERL_EXPF+=" pkg_setup pkg_preinst pkg_postinst pkg_prerm pkg_postrm" ;; 2|3|4|5) @@ -152,14 +152,14 @@ perl-module_src_configure() { if [[ ${DEPEND} != *dev-perl/Module-Build-Tiny* && ${PN} != Module-Build-Tiny ]]; then eqawarn "QA Notice: The ebuild uses Module::Build::Tiny but doesn't depend on it." eqawarn " Add dev-perl/Module-Build-Tiny to DEPEND!" - perl_qafatal "modulebuildtiny" + perl_qafatal "modulebuildtiny" "Needs to depend on Module-Build-Tiny" fi else einfo "Using Module::Build" if [[ ${DEPEND} != *virtual/perl-Module-Build* && ${PN} != Module-Build ]] ; then eqawarn "QA Notice: The ebuild uses Module::Build but doesn't depend on it." eqawarn " Add virtual/perl-Module-Build to DEPEND!" - perl_qafatal "modulebuild" + perl_qafatal "modulebuild" "Needs to depend on Module-Build" fi fi set -- \ @@ -394,7 +394,7 @@ perl-module_pkg_postinst() { 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." - perl_qafatal "function" + perl_qafatal "function" "$FUNCNAME is private to perl-core" return 0 fi perl_link_duallife_scripts @@ -422,7 +422,7 @@ perl-module_pkg_postrm() { 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." - perl_qafatal "function" + perl_qafatal "function" "$FUNCNAME is private to perl-core" return 0 fi perl_link_duallife_scripts @@ -470,7 +470,7 @@ perl_check_module_version() { if [[ -n ${REAL_PV} && ${REAL_PV} != ${PV} ]] ; then eqawarn "QA Notice: Based on MODULE_VERSION=${MODULE_VERSION} the ebuild version ${PV} is wrong!" eqawarn " The ebuild version should be ${REAL_PV}" - perl_qafatal "version" + perl_qafatal "version" "${REAL_PV} != ${PV}" fi } @@ -658,33 +658,49 @@ perl_link_duallife_scripts() { perl_set_eprefix - local i ff + local i ff execdir mandir + + execdir="usr/share/perl-${P}/bin" + mandir="usr/share/perl-${P}/man/man1" + if has "${EBUILD_PHASE:-none}" "postinst" "postrm" ; then for i in "${DUALLIFESCRIPTS[@]}" ; do + alternatives_auto_makesym "/${i}-${PV}" "${EROOT}${execdir}/${i##*/}" alternatives_auto_makesym "/${i}" "/${i}-[0-9]*" done for i in "${DUALLIFEMAN[@]}" ; do - ff=`echo "${EROOT}"/${i%.1}-${PV}-${P}.1*` + # Expand $i to a full path as it was installed, + # which may add .gz or whatever to the end during compress. + # then boil it till you just get ".gz" + ff="${EROOT}${mandir}/${i##*/}"; + ff=$( echo ${ff%.1}.1* ); ff=${ff##*.1} - alternatives_auto_makesym "/${i}${ff}" "/${i%.1}-[0-9]*" + alternatives_auto_makesym "/${i%.1}-${PV}.1${ff}" "${EROOT}${mandir}/${i##*/}${ff}" + alternatives_auto_makesym "/${i}${ff}" "/${i%.1}-[0-9]*.1${ff}" done else pushd "${ED}" > /dev/null for i in $(find usr/bin -maxdepth 1 -type f 2>/dev/null) ; do - mv ${i}{,-${PV}-${P}} || die + mkdir -p "${D}/${execdir}" || die + mv ${i} "${D}/${execdir}/${i##*/}" || die #DUALLIFESCRIPTS[${#DUALLIFESCRIPTS[*]}]=${i##*/} DUALLIFESCRIPTS[${#DUALLIFESCRIPTS[*]}]=${i} done for i in $(find usr/share/man/man1 -maxdepth 1 -type f 2>/dev/null) ; do - mv ${i} ${i%.1}-${PV}-${P}.1 || die + mkdir -p "${D}/${mandir}" || die + mv ${i} "${D}/${mandir}/${i##*/}" || die DUALLIFEMAN[${#DUALLIFEMAN[*]}]=${i} done + + einfo "Cleaning empty directories" + perl_trim_empty_dirs "${EROOT}/usr/bin" + popd > /dev/null fi } # @FUNCTION: perl_qafatal -# @USAGE: perl_qafatal TYPE +# @USAGE: perl_qafatal TYPE "Die reason" # @DESCRIPTION: # Invoking this method after eqawarn's allows an entry point for the eclass to trigger # a fatal exit if the user has PERL_QAFATAL set. @@ -702,17 +718,18 @@ perl_link_duallife_scripts() { # has "$type" - Fatal for "$type" perl_qafatal() { local failtype=$1 + local failreason=$2 if [[ "${PERLQAFATAL:-0}" == 1 ]]; then eerror "Bailing out due to PERLQAFATAL including $failtype (==1)"; - die; + die "$failtype: $failreason" fi if has 'all' ${PERLQAFATAL}; then eerror "Bailing out due to PERLQAFATAL including $failtype (all)"; - die; + die "$failtype: $failreason" fi if has $failtype ${PERLQAFATAL}; then eerror "Bailing out due to PERLQAFATAL including $1"; - die; + die "$failtype: $failreason" fi }