commit:     e50fc80a8c1633b37f7c25242f0f01e2683111f6
Author:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 17 09:42:23 2016 +0000
Commit:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Sun Jan 17 09:43:47 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e50fc80a

linux-info.eclass: fix error/warning messages with ~!SYMBOLS

For ebuilds that do things like ~!IDE, the current warning system would
drop the ~ but not the !.  This would lead to doing variable expansion
like ${WARNING_!IDE} which is invalid shell code.

 eclass/linux-info.eclass | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/eclass/linux-info.eclass b/eclass/linux-info.eclass
index a913af2..25edb18 100644
--- a/eclass/linux-info.eclass
+++ b/eclass/linux-info.eclass
@@ -716,13 +716,15 @@ check_extra_config() {
                        ewarn "to absence of any configured kernel sources or 
compiled"
                        ewarn "config:"
                        for config in ${CONFIG_CHECK}; do
-                               local_error="ERROR_${config#\~}"
+                               config=${config#\~}
+                               config=${config#\!}
+                               local_error="ERROR_${config}"
                                msg="${!local_error}"
-                               if [[ "x${msg}" == "x" ]]; then
-                                       local_error="WARNING_${config#\~}"
+                               if [[ -z ${msg} ]]; then
+                                       local_error="WARNING_${config}"
                                        msg="${!local_error}"
                                fi
-                               ewarn " - ${config#\~}${msg:+ - }${msg}"
+                               ewarn " - ${config}${msg:+ - }${msg}"
                        done
                        ewarn "You're on your own to make sure they are set if 
needed."
                        export 
LINUX_CONFIG_EXISTS_DONE="${old_LINUX_CONFIG_EXISTS_DONE}"

Reply via email to