From: Ulrich Mueller <ulm@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Subject: [gentoo-dev] [PATCH] eutils.eclass: In EAPI conditionals, replace "has" by case statements.
Date: Sun, 29 Nov 2015 17:48:47 +0100 [thread overview]
Message-ID: <22107.11375.846871.672757@a1i15.kph.uni-mainz.de> (raw)
In-Reply-To: <22106.64938.215501.17191@a1i15.kph.uni-mainz.de>
[-- Attachment #1: Type: text/plain, Size: 1992 bytes --]
As suggested by mgorny, we could use bash internals instead of the
"has" function calls in global scope.
The patch below replaces them by case statements. (Unfortunately we
cannot use fall-through (&;) because it is a bash 4 feature.)
Ulrich
From 89e837f5179354aa3dfa454f51282ad9d1143402 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ulrich=20M=C3=BCller?= <ulm@gentoo.org>
Date: Sun, 29 Nov 2015 17:33:08 +0100
Subject: [PATCH] eutils.eclass: In EAPI conditionals, replace "has" by
case statements.
---
eclass/eutils.eclass | 21 ++++++++++++++-------
1 file changed, 14 insertions(+), 7 deletions(-)
diff --git a/eclass/eutils.eclass b/eclass/eutils.eclass
index 5c7d1aa..1163051 100644
--- a/eclass/eutils.eclass
+++ b/eclass/eutils.eclass
@@ -1614,7 +1614,8 @@ check_license() {
die "you no longer need this as portage supports ACCEPT_LICENSE itself"
}
-if has "${EAPI:-0}" 0 1 2; then
+case ${EAPI:-0} in
+0|1|2)
# @FUNCTION: epause
# @USAGE: [seconds]
@@ -1646,7 +1647,8 @@ ebeep() {
fi
}
-else
+;;
+*)
ebeep() {
ewarn "QA Notice: ebeep is not defined in EAPI=${EAPI}, please file a bug at https://bugs.gentoo.org"
@@ -1656,9 +1658,11 @@ epause() {
ewarn "QA Notice: epause is not defined in EAPI=${EAPI}, please file a bug at https://bugs.gentoo.org"
}
-fi
+;;
+esac
-if has "${EAPI:-0}" 0 1 2 3 4; then
+case ${EAPI:-0} in
+0|1|2|3|4)
# @FUNCTION: usex
# @USAGE: <USE flag> [true output] [false output] [true suffix] [false suffix]
@@ -1669,9 +1673,11 @@ if has "${EAPI:-0}" 0 1 2 3 4; then
# otherwise echo [false output][false suffix] (defaults to "no").
usex() { use "$1" && echo "${2-yes}$4" || echo "${3-no}$5" ; } #382963
-fi
+;;
+esac
-if has "${EAPI:-0}" 0 1 2 3 4 5; then
+case ${EAPI:-0} in
+0|1|2|3|4|5)
# @VARIABLE: EPATCH_USER_SOURCE
# @DESCRIPTION:
@@ -1821,4 +1827,5 @@ in_iuse() {
has "${flag}" "${liuse[@]#[+-]}"
}
-fi
+;;
+esac
--
2.6.3
[-- Attachment #2: Type: application/pgp-signature, Size: 490 bytes --]
next prev parent reply other threads:[~2015-11-29 16:48 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-29 13:29 [gentoo-dev] eutils.eclass: further cleanup for EAPI 6 Ulrich Mueller
2015-11-29 13:29 ` [gentoo-dev] [PATCH 1/2] eutils.eclass: Disable epatch_user in " Ulrich Müller
2015-11-29 13:31 ` [gentoo-dev] [PATCH 2/2] eutils.eclass: Move all deprecated functions to the end Ulrich Müller
2015-11-29 16:48 ` Ulrich Mueller [this message]
2015-11-29 23:29 ` [gentoo-dev] [PATCH] eutils.eclass: In EAPI conditionals, replace "has" by case statements Davide Pesavento
2015-11-30 6:52 ` Ulrich Mueller
2015-11-30 9:47 ` Michał Górny
2015-11-30 17:33 ` Davide Pesavento
2015-12-01 13:50 ` [gentoo-dev] " Duncan
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=22107.11375.846871.672757@a1i15.kph.uni-mainz.de \
--to=ulm@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