summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gilbert <floppym@gentoo.org>2022-07-05 10:27:31 -0400
committerMike Gilbert <floppym@gentoo.org>2022-07-05 10:30:21 -0400
commitc3f71cf8081924f8cb0a4f2d2a2ba630fe9056a1 (patch)
treef25fca818a020fec77202335a0700620c0db1567
parentxfce-base/xfce4-settings: Bump to 4.16.3 (diff)
downloadgentoo-c3f71cf8081924f8cb0a4f2d2a2ba630fe9056a1.tar.gz
gentoo-c3f71cf8081924f8cb0a4f2d2a2ba630fe9056a1.tar.bz2
gentoo-c3f71cf8081924f8cb0a4f2d2a2ba630fe9056a1.zip
sys-kernel/dracut: fix issue with keymaps
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
-rw-r--r--sys-kernel/dracut/dracut-057-r1.ebuild (renamed from sys-kernel/dracut/dracut-057.ebuild)1
-rw-r--r--sys-kernel/dracut/files/057-i18n-keymaps.patch28
2 files changed, 29 insertions, 0 deletions
diff --git a/sys-kernel/dracut/dracut-057.ebuild b/sys-kernel/dracut/dracut-057-r1.ebuild
index 2e0def4acdc..fd44dcda247 100644
--- a/sys-kernel/dracut/dracut-057.ebuild
+++ b/sys-kernel/dracut/dracut-057-r1.ebuild
@@ -63,6 +63,7 @@ QA_MULTILIB_PATHS="usr/lib/dracut/.*"
PATCHES=(
"${FILESDIR}"/gentoo-ldconfig-paths-r1.patch
"${FILESDIR}"/057-virtiofs-split-usr.patch
+ "${FILESDIR}"/057-i18n-keymaps.patch
)
src_configure() {
diff --git a/sys-kernel/dracut/files/057-i18n-keymaps.patch b/sys-kernel/dracut/files/057-i18n-keymaps.patch
new file mode 100644
index 00000000000..77ac6078fb0
--- /dev/null
+++ b/sys-kernel/dracut/files/057-i18n-keymaps.patch
@@ -0,0 +1,28 @@
+From bef99c5120809cc5603e51dcc1987767205f241f Mon Sep 17 00:00:00 2001
+From: Antonio Alvarez Feijoo <antonio.feijoo@suse.com>
+Date: Mon, 27 Jun 2022 13:19:41 +0200
+Subject: [PATCH] fix(i18n): add required includes for keymaps
+
+Commit https://github.com/dracutdevs/dracut/commit/f3441cc7 removed shell
+options but didn't adapt all the code that requires nullglob and globstar.
+This caused the initrd to be generated without the required includes for
+keymaps.
+---
+ modules.d/10i18n/module-setup.sh | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/modules.d/10i18n/module-setup.sh b/modules.d/10i18n/module-setup.sh
+index 35bda36fb..6fd5fd433 100755
+--- a/modules.d/10i18n/module-setup.sh
++++ b/modules.d/10i18n/module-setup.sh
+@@ -63,7 +63,9 @@ install() {
+ readarray -t INCLUDES < <("$CMD" '^include ' "$MAP" | while read -r _ a _ || [ -n "$a" ]; do echo "${a//\"/}"; done)
+
+ for INCL in "${INCLUDES[@]}"; do
+- for FN in "$dracutsysrootdir""${kbddir}"/keymaps/**/"$INCL"*; do
++ local -a FNS
++ mapfile -t -d '' FNS < <(find "${dracutsysrootdir}${kbddir}"/keymaps/ -type f -name "${INCL}*" -print0)
++ for FN in "${FNS[@]}"; do
+ [[ -f $FN ]] || continue
+ [[ -v KEYMAPS["$FN"] ]] || findkeymap "$FN"
+ done