From: "Kent Fredric" <kentfredric@gmail.com>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/perl-overlay:master commit in: eclass/
Date: Tue, 23 Dec 2014 18:19:09 +0000 (UTC) [thread overview]
Message-ID: <1419356766.c008440b0904162ae204b26c98e9bd07f958a107.kent@gentoo> (raw)
commit: c008440b0904162ae204b26c98e9bd07f958a107
Author: Kent Fredric <kentfredric <AT> gmail <DOT> com>
AuthorDate: Tue Dec 23 17:44:36 2014 +0000
Commit: Kent Fredric <kentfredric <AT> gmail <DOT> com>
CommitDate: Tue Dec 23 17:46:06 2014 +0000
URL: http://sources.gentoo.org/gitweb/?p=proj/perl-overlay.git;a=commit;h=c008440b
perl-module.eclass: move PERLQAFATAL handling to its own function and extend its featureset
---
eclass/perl-module.eclass | 42 ++++++++++++++++++++++++++++++++++++++----
1 file changed, 38 insertions(+), 4 deletions(-)
diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index df4f87f..70f7d0f 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -20,6 +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_EXPF+=" pkg_setup pkg_preinst pkg_postinst pkg_prerm pkg_postrm"
;;
2|3|4|5)
@@ -148,10 +149,7 @@ perl-module_src_configure() {
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!"
- if [[ -n ${PERLQAFATAL} ]]; then
- eerror "Bailing out due to PERLQAFATAL=1";
- die;
- fi
+ perl_qafatal "modulebuild"
fi
set -- \
--installdirs=vendor \
@@ -386,6 +384,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"
return 0
fi
perl_link_duallife_scripts
@@ -413,6 +412,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"
return 0
fi
perl_link_duallife_scripts
@@ -460,6 +460,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"
fi
}
@@ -672,6 +673,39 @@ perl_link_duallife_scripts() {
fi
}
+# @FUNCTION: perl_qafatal
+# @USAGE: perl_qafatal TYPE
+# @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.
+#
+# The value TYPE will be used to optionally allow the user to filter certain QA Types.
+# TYPE = eapi : Legacy EAPI warnings
+# TYPE = modulebuild : Failure to include Module-Build as a dependency.
+# TYPE = modulebuildtiny : Failure to include Module-Build-Tiny as a dependency
+# TYPE = function : Use of a deprecated function
+# TYPE = version : version and expected version missmatch
+#
+# PERL_QAFATAL:
+# == "1" - Fatal for all types
+# has "all" - Fatal for all types
+# has "$type" - Fatal for "$type"
+perl_qafatal() {
+ local failtype=$1
+ if [[ "${PERLQAFATAL:-0}" == 1 ]]; then
+ eerror "Bailing out due to PERLQAFATAL including $failtype (==1)";
+ die;
+ fi
+ if has 'all' ${PERLQAFATAL}; then
+ eerror "Bailing out due to PERLQAFATAL including $failtype (all)";
+ die;
+ fi
+ if has $failtype ${PERLQAFATAL}; then
+ eerror "Bailing out due to PERLQAFATAL including $1";
+ die;
+ fi
+}
+
perl_set_eprefix() {
debug-print-function $FUNCNAME "$@"
case ${EAPI:-0} in
next reply other threads:[~2014-12-23 18:19 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-23 18:19 Kent Fredric [this message]
-- strict thread matches above, loose matches on Subject: below --
2017-09-17 0:51 [gentoo-commits] proj/perl-overlay:master commit in: eclass/ Kent Fredric
2017-09-17 0:51 Kent Fredric
2017-09-17 0:51 Kent Fredric
2017-09-17 0:51 Kent Fredric
2017-09-17 0:51 Kent Fredric
2017-09-17 0:51 Kent Fredric
2017-09-17 0:51 Kent Fredric
2017-09-17 0:51 Kent Fredric
2017-09-17 0:51 Kent Fredric
2017-09-17 0:51 Kent Fredric
2017-09-17 0:51 Kent Fredric
2017-09-17 0:51 Kent Fredric
2017-09-17 0:51 Kent Fredric
2017-09-17 0:51 Kent Fredric
2017-09-17 0:51 Kent Fredric
2017-09-17 0:51 Kent Fredric
2017-09-17 0:51 Kent Fredric
2017-09-17 0:51 Kent Fredric
2017-09-17 0:51 Kent Fredric
2017-09-17 0:51 Kent Fredric
2017-09-17 0:51 Kent Fredric
2017-09-17 0:51 Kent Fredric
2017-09-17 0:51 Kent Fredric
2017-09-17 0:51 Kent Fredric
2017-09-17 0:51 Kent Fredric
2015-06-25 1:26 Kent Fredric
2015-06-21 0:39 Kent Fredric
2015-06-21 0:39 Kent Fredric
2015-06-20 22:13 Kent Fredric
2015-06-20 22:13 Kent Fredric
2015-06-20 22:13 Kent Fredric
2015-06-20 22:13 Kent Fredric
2015-03-26 12:14 Kent Fredric
2015-03-15 17:06 Kent Fredric
2015-03-15 5:10 Kent Fredric
2015-03-15 5:10 Kent Fredric
2014-12-23 18:19 Kent Fredric
2014-12-23 14:43 Kent Fredric
2014-10-11 18:46 Kent Fredric
2014-10-11 18:46 Kent Fredric
2014-10-11 18:46 Kent Fredric
2014-08-26 19:06 Kent Fredric
2014-08-24 13:56 Kent Fredric
2014-08-20 13:24 Kent Fredric
2014-04-04 23:09 Kent Fredric
2013-09-17 4:35 Kent Fredric
2013-09-17 4:28 Kent Fredric
2013-04-28 16:53 Kent Fredric
2012-09-15 16:58 Torsten Veller
2012-06-07 6:06 Torsten Veller
2012-06-05 18:22 Torsten Veller
2012-06-05 18:22 Torsten Veller
2012-04-23 13:04 Torsten Veller
2012-04-23 13:04 Torsten Veller
2012-04-23 13:04 Torsten Veller
2011-08-16 17:02 Torsten Veller
2011-04-24 8:37 Torsten Veller
2011-02-04 8:15 tove
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1419356766.c008440b0904162ae204b26c98e9bd07f958a107.kent@gentoo \
--to=kentfredric@gmail.com \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox