File 0610-10i18n-Fix-keymaps-not-getting-included-sometimes.patch of Package dracut.16003
From 0801032dfa2cfec847461df8d9fa69439891425c Mon Sep 17 00:00:00 2001
From: Jens Heise <46450477+heisej@users.noreply.github.com>
Date: Mon, 7 Jan 2019 16:47:23 +0100
Subject: [PATCH] 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.
---
modules.d/10i18n/module-setup.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/modules.d/10i18n/module-setup.sh b/modules.d/10i18n/module-setup.sh
index 9083e98f..766a3072 100755
--- a/modules.d/10i18n/module-setup.sh
+++ b/modules.d/10i18n/module-setup.sh
@@ -37,7 +37,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;;
@@ -46,7 +46,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
--
2.16.4