From: Jens Heise <46450477+heisej@users.noreply.github.com> Date: Mon, 7 Jan 2019 15:47:23 +0000 (+0100) Subject: 10i18n: Fix keymaps not getting included sometimes X-Git-Tag: 050~237 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=44f2fe5170b3f5f161cfee04e62b713f2e47237d;p=thirdparty%2Fdracut.git 10i18n: Fix keymaps not getting included sometimes Eliminate erroneous substring matches when looking up already processed keymaps to prevent necessary keymaps not getting added to the initramfs sometimes e.g. if there are the files 'compose.latin1' and 'compose.latin1.add' the unfixed version would skip processing 'compose.latin1' if find returned 'compose.latin1.add' first due to the directory listing not being in sorted order. --- diff --git a/modules.d/10i18n/module-setup.sh b/modules.d/10i18n/module-setup.sh index 089718140..6db5a9ca5 100755 --- a/modules.d/10i18n/module-setup.sh +++ b/modules.d/10i18n/module-setup.sh @@ -36,7 +36,7 @@ install() { MAPS=$(find ${kbddir}/keymaps -type f -name ${MAPNAME} -o -name ${MAPNAME}.map -o -name ${MAPNAME}.map.\*) for map in $MAPS; do - KEYMAPS="$KEYMAPS $map" + KEYMAPS="$KEYMAPS $map " case $map in *.gz) cmd=zgrep;; *.bz2) cmd=bzgrep;; @@ -45,7 +45,7 @@ install() { for INCL in $($cmd "^include " $map | while read a a b || [ -n "$a" ]; do echo ${a//\"/}; done); do for FN in $(find ${kbddir}/keymaps -type f -name $INCL\*); do - strstr "$KEYMAPS" "$FN" || findkeymap $FN + strstr "$KEYMAPS" " $FN " || findkeymap $FN done done done