From 2ea565e1af3416ab5743c4b7181476d9a6734123 Mon Sep 17 00:00:00 2001 From: Arfrever Frehtes Taifersar Arahesis Date: Mon, 19 Dec 2011 02:33:27 +0100 Subject: Disallow some functions in global scope in EAPI="4-python". --- bin/ebuild.sh | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/bin/ebuild.sh b/bin/ebuild.sh index af7b3a92b..63c246a89 100755 --- a/bin/ebuild.sh +++ b/bin/ebuild.sh @@ -25,17 +25,27 @@ else libopts register_die_hook register_success_hook \ remove_path_entry set_unless_changed strip_duplicate_slashes \ unset_unless_changed use_with use_enable ; do - eval "${x}() { : ; }" + eval "${x}() { + if has \"\${EAPI:-0}\" 4-python; then + die \"\${FUNCNAME}() calls are not allowed in global scope\" + fi + }" done - # These dummy functions return false, in order to ensure that + # These dummy functions return false in older EAPIs, in order to ensure that # `use multislot` is false for the "depend" phase. for x in use useq usev ; do - eval "${x}() { return 1; }" + eval "${x}() { + if has \"\${EAPI:-0}\" 4-python; then + die \"\${FUNCNAME}() calls are not allowed in global scope\" + else + return 1 + fi + }" done # These functions die because calls to them during the "depend" phase # are considered to be severe QA violations. for x in best_version has_version portageq ; do - eval "${x}() { die \"\${FUNCNAME} calls are not allowed in global scope\"; }" + eval "${x}() { die \"\${FUNCNAME}() calls are not allowed in global scope\"; }" done unset x fi -- cgit v1.2.3-1-g7c22