From: Pavel Valena Date: Fri, 25 Mar 2022 16:00:53 +0000 (+0100) Subject: revert(10i18n): stop leaking shell options X-Git-Tag: 057~58 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f63faaa68f8d60ca302b7a970873897ee4a5db2c;p=thirdparty%2Fdracut.git revert(10i18n): stop leaking shell options This reverts commit 35064768ebf14d3ec6bf3f7df52580fb4920ea3d, to replace the implementation. --- diff --git a/modules.d/10i18n/module-setup.sh b/modules.d/10i18n/module-setup.sh index 91c189e82..f25026fb8 100755 --- a/modules.d/10i18n/module-setup.sh +++ b/modules.d/10i18n/module-setup.sh @@ -30,7 +30,11 @@ install() { I18N_CONF="/etc/locale.conf" VCONFIG_CONF="/etc/vconsole.conf" - _findkeymap() { + findkeymap() { + # shellcheck disable=SC2064 + trap "$(shopt -p nullglob globstar)" RETURN + shopt -q -s nullglob globstar + local -a MAPS local MAPNAME local INCLUDES @@ -62,21 +66,12 @@ install() { for INCL in "${INCLUDES[@]}"; do for FN in "$dracutsysrootdir""${kbddir}"/keymaps/**/"$INCL"*; do [[ -f $FN ]] || continue - [[ -v KEYMAPS["$FN"] ]] || _findkeymap "$FN" + [[ -v KEYMAPS["$FN"] ]] || findkeymap "$FN" done done done } - # Wrapper around the recursive _findkeymap making sure the shell - # options are restored correctly - findkeymap() { - # shellcheck disable=SC2064 - trap "$(shopt -p nullglob globstar)" RETURN - shopt -q -s nullglob globstar - _findkeymap "$@" - } - # Function gathers variables from distributed files among the tree, maps to # specified names and prints the result in format "new-name=value". #