]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
10i18n: Fix keymaps not getting included sometimes
authorJens Heise <46450477+heisej@users.noreply.github.com>
Mon, 7 Jan 2019 15:47:23 +0000 (16:47 +0100)
committerHarald Hoyer <harald@hoyer.xyz>
Sat, 26 Jan 2019 15:12:14 +0000 (16:12 +0100)
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.

modules.d/10i18n/module-setup.sh

index 0897181401a4b4247db8b422202ae07a68e5adf6..6db5a9ca5e71b4346d0c34fcece9141bbee15195 100755 (executable)
@@ -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