From f8cf2198eafa6d4d649e9cf4c5b3f021ee71307f Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Thu, 21 Oct 2021 14:31:24 -0700 Subject: [PATCH] Add compat name for Arabic keymap, remove problem char (#2015972) --- ...-codepoint-character-that-chokes-loa.patch | 30 +++++++++++++++++++ kbd.spec | 15 +++++++++- 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 0001-fa.map-drop-high-codepoint-character-that-chokes-loa.patch diff --git a/0001-fa.map-drop-high-codepoint-character-that-chokes-loa.patch b/0001-fa.map-drop-high-codepoint-character-that-chokes-loa.patch new file mode 100644 index 0000000..7d185eb --- /dev/null +++ b/0001-fa.map-drop-high-codepoint-character-that-chokes-loa.patch @@ -0,0 +1,30 @@ +From d8aa08c7f3096fbb2901d1b9f93473ca9ba1d342 Mon Sep 17 00:00:00 2001 +From: Adam Williamson +Date: Thu, 21 Oct 2021 14:08:24 -0700 +Subject: [PATCH] fa.map: drop high codepoint character that chokes loadkeys + +fa.map contains a mapping for Unicode character U+FDFC. However, +loadkeys refuses to load any map containing a codepoint over +U+F000. To avoid the map failing to load entirely, let's remove +the problematic character. + +Signed-off-by: Adam Williamson +--- + data/keymaps/i386/qwerty/fa.map | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/data/keymaps/i386/qwerty/fa.map b/data/keymaps/i386/qwerty/fa.map +index 9ea0a7a..9aa5284 100644 +--- a/data/keymaps/i386/qwerty/fa.map ++++ b/data/keymaps/i386/qwerty/fa.map +@@ -44,7 +44,6 @@ altgr keycode 57 = U+0020 # SPACE + altgr shift keycode 2 = U+0021 # EXCLAMATION MARK + altgr shift keycode 40 = U+061B # ARABIC SEMICOLON + altgr shift keycode 4 = U+066B # ARABIC DECIMAL SEPARATOR +-altgr shift keycode 5 = U+FDFC # RIAL SIGN + altgr shift keycode 6 = U+066A # ARABIC PERCENT SIGN + altgr shift keycode 8 = U+060C # ARABIC COMMA + altgr keycode 40 = U+06AF # ARABIC LETTER GAF +-- +2.33.0 + diff --git a/kbd.spec b/kbd.spec index 649e70e..f81a9f4 100644 --- a/kbd.spec +++ b/kbd.spec @@ -5,7 +5,7 @@ Name: kbd Version: 2.4.0 -Release: 7%{?dist} +Release: 8%{?dist} Summary: Tools for configuring the console (keyboard, virtual terminals, etc.) License: GPLv2+ URL: http://www.kbd-project.org/ @@ -38,6 +38,10 @@ Patch7: kbd-2.0.4-covscan-fixes.patch Patch8: kbd-2.4.0-covscan-fixes.patch # Patch9: fixes setfont exit code, accepted upstream Patch9: kbd-2.4.0-setfont-exit-code.patch +# Patch10: drop a character from fa.map that makes it fail to load +# https://github.com/legionus/kbd/issues/62 +# this may not be a correct upstream fix, it's more of a workaround +Patch10: 0001-fa.map-drop-high-codepoint-character-that-chokes-loa.patch BuildRequires: gcc, bison, flex, gettext, pam-devel, check-devel, automake BuildRequires: console-setup, xkeyboard-config @@ -84,6 +88,7 @@ cp -fp %{SOURCE6} . %patch7 -p1 -b .covscan-fixes %patch8 -p1 -b .covscan-fixes-pt2 %patch9 -p1 -b .setfont-exit-code +%patch10 -p1 -b .fa-bad-char aclocal autoconf @@ -130,6 +135,10 @@ ln -s sr-cy.map.gz $RPM_BUILD_ROOT%{kbd_datadir}/keymaps/i386/qwerty/sr-latin.ma # Korean keyboard ln -s us.map.gz $RPM_BUILD_ROOT%{kbd_datadir}/keymaps/i386/qwerty/ko.map.gz +# https://bugzilla.redhat.com/show_bug.cgi?id=2015972 +# xkb Arabic layout is 'ara', not 'fa', langtable tells us to use 'ara' +ln -s fa.map.gz $RPM_BUILD_ROOT%{kbd_datadir}/keymaps/i386/qwerty/ara.map.gz + # Some microoptimization sed -i -e 's,\,%{_bindir}/kbd_mode,g;s,\,%{_bindir}/setfont,g' \ $RPM_BUILD_ROOT%{_bindir}/unicode_start @@ -196,6 +205,10 @@ make check %{kbd_datadir}/keymaps/legacy %changelog +* Thu Oct 21 2021 Adam Williamson - 2.4.0-8 +- Symlink fa.map.gz to ara.map.gz so Arabic console layout works (#2015972) +- Drop one mapping from fa.map that causes it to fail to load + * Mon Sep 13 2021 Vitezslav Crhonek - 2.4.0-7 - Use default Finnish xkb-converted layout Resolves: #2001787