Restore the xorg ruleset, console-setup and possibly others are still
using those (#1951875) Allow for a "custom" layout Don't mark the DTD document as XML document (#1952283) Remove a duplicate keyboard layout to prevent a crash in gnome-desktop's xkbinfo Resolves: rhbz#1951875 Resolves: rhbz#1952283
This commit is contained in:
parent
e5ef15b063
commit
071f86386e
55
0001-rules-add-a-custom-layout-to-the-XML-file.patch
Normal file
55
0001-rules-add-a-custom-layout-to-the-XML-file.patch
Normal file
@ -0,0 +1,55 @@
|
||||
From c32612612141fe400d646a865dafd29d50c2930f Mon Sep 17 00:00:00 2001
|
||||
From: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Wed, 17 Feb 2021 12:42:49 +1000
|
||||
Subject: [PATCH xkeyboard-config 1/4] rules: add a "custom" layout to the XML
|
||||
file
|
||||
|
||||
This layout does not exist and we will never provide it.
|
||||
|
||||
However, having it in the XML file means it will show up in GUI
|
||||
configuration mechansism that parse the XML file directly (instead of using
|
||||
libxbkcommon's libxkbregistry).
|
||||
|
||||
Our rulesets fall back to the file "symbols/layout", section "variant"
|
||||
for any layout(variant) that's not explicitly covered. This enables users to
|
||||
create a symbols/custom file with their layout and have it
|
||||
available.
|
||||
|
||||
As there are no variants, the GUI tools will only be able to use the default
|
||||
section. Commandline tools can use variants as well.
|
||||
|
||||
This is papering over the whole issue only, but it does provide for some
|
||||
convenience. It will still require adding a file in /usr/share in most cases,
|
||||
but since we do not provide this file, it will be safe from being overwritten.
|
||||
|
||||
Fixes #257
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
(cherry picked from commit 5ca9f8aea2876fe6926fc27f564d36eaf5ca5c8d)
|
||||
---
|
||||
.gitlab-ci.yml | 2 ++
|
||||
rules/base.xml | 8 ++++++++
|
||||
2 files changed, 10 insertions(+)
|
||||
|
||||
diff --git a/rules/base.xml b/rules/base.xml
|
||||
index 3b76e2b..b9df076 100644
|
||||
--- a/rules/base.xml
|
||||
+++ b/rules/base.xml
|
||||
@@ -6303,6 +6303,14 @@
|
||||
</variant>
|
||||
</variantList>
|
||||
</layout>
|
||||
+ <layout>
|
||||
+ <configItem>
|
||||
+ <name>custom</name>
|
||||
+ <shortDescription>custom</shortDescription>
|
||||
+ <description>A user-defined custom Layout</description>
|
||||
+ </configItem>
|
||||
+ <variantList/>
|
||||
+ </layout>
|
||||
</layoutList>
|
||||
<optionList>
|
||||
<group allowMultipleSelection="true">
|
||||
--
|
||||
2.31.1
|
||||
|
@ -0,0 +1,57 @@
|
||||
From ccd072ef77759ac3ed84e870b23e989ba14f8940 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Tue, 20 Apr 2021 17:39:50 +1000
|
||||
Subject: [PATCH xkeyboard-config 2/4] meson.build: add option to install the
|
||||
legacy xorg symlinks
|
||||
|
||||
console-setup still relies on the xorg ruleset [1] and there may be other tools
|
||||
out there. Let's provide an equivalent option to our autotools build to
|
||||
install the xorg symlinks.
|
||||
|
||||
Note that unlike the autotools approach, only the "xorg" symlinks are
|
||||
provided, not the well and truly legacy "xfree86" ones.
|
||||
|
||||
[1] https://salsa.debian.org/installer-team/console-setup/-/merge_requests/7/
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
(cherry picked from commit ff3dcb932024ed13341938cded04142eda94600e)
|
||||
---
|
||||
meson_options.txt | 4 ++++
|
||||
rules/meson.build | 7 +++++++
|
||||
2 files changed, 11 insertions(+)
|
||||
|
||||
diff --git a/meson_options.txt b/meson_options.txt
|
||||
index 1bee74b..912d21d 100644
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -6,3 +6,7 @@ option('compat-rules',
|
||||
type: 'boolean',
|
||||
value: true,
|
||||
description: 'create compatibility rules [default=true]')
|
||||
+option('xorg-rules-symlinks',
|
||||
+ type: 'boolean',
|
||||
+ value: true,
|
||||
+ description: 'create "xorg" symlinks to the "base" rules files [default=false]')
|
||||
diff --git a/rules/meson.build b/rules/meson.build
|
||||
index c992f2e..7280560 100644
|
||||
--- a/rules/meson.build
|
||||
+++ b/rules/meson.build
|
||||
@@ -164,8 +164,15 @@ foreach ruleset: ['base', 'evdev']
|
||||
output: lst_file,
|
||||
install: true,
|
||||
install_dir: dir_xkb_rules)
|
||||
+
|
||||
endforeach
|
||||
|
||||
+if get_option('xorg-rules-symlinks')
|
||||
+ foreach suffix: ['', '.lst', '.xml']
|
||||
+ meson.add_install_script('sh', '-c',
|
||||
+ 'ln -s base@0@ $DESTDIR@1@/xorg@0@'.format(suffix, dir_xkb_rules))
|
||||
+ endforeach
|
||||
+endif
|
||||
# Copy the DTD to the build directory, the man page generation expects it in
|
||||
# the same directory as the input XML file.
|
||||
configure_file(output: 'xkb.dtd',
|
||||
--
|
||||
2.31.1
|
||||
|
27
0003-rules-the-xkb.dtd-file-is-not-an-XML-document.patch
Normal file
27
0003-rules-the-xkb.dtd-file-is-not-an-XML-document.patch
Normal file
@ -0,0 +1,27 @@
|
||||
From 1d0d23b4e2f6a8d40a004aba0dcb7e542babde10 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Thu, 22 Apr 2021 09:50:39 +1000
|
||||
Subject: [PATCH xkeyboard-config 3/4] rules: the xkb.dtd file is not an XML
|
||||
document
|
||||
|
||||
It's just the DTD file, not an XML document itself.
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
(cherry picked from commit 543acb277426bbaeb316922d1380ad2746d4a662)
|
||||
---
|
||||
rules/xkb.dtd | 2 --
|
||||
1 file changed, 2 deletions(-)
|
||||
|
||||
diff --git a/rules/xkb.dtd b/rules/xkb.dtd
|
||||
index fa41ec0..fce9b19 100644
|
||||
--- a/rules/xkb.dtd
|
||||
+++ b/rules/xkb.dtd
|
||||
@@ -1,5 +1,3 @@
|
||||
-<?xml version="1.0" encoding="UTF-8"?>
|
||||
-
|
||||
<!--
|
||||
|
||||
Description: XKB configuration file DTD
|
||||
--
|
||||
2.31.1
|
||||
|
@ -0,0 +1,40 @@
|
||||
From e917bba3c06598ef33e0a1d142d3cf5b15cd8ef0 Mon Sep 17 00:00:00 2001
|
||||
From: Jason Francis <zxzax@protonmail.com>
|
||||
Date: Wed, 21 Apr 2021 11:10:23 -0400
|
||||
Subject: [PATCH xkeyboard-config 4/4] rules: remove duplicate cm(mmuock) from
|
||||
base.extras.xml
|
||||
|
||||
(cherry picked from commit 3a880f047e5cface9ff77f4d59fd91369d19e6f4)
|
||||
---
|
||||
rules/base.extras.xml | 15 ---------------
|
||||
1 file changed, 15 deletions(-)
|
||||
|
||||
diff --git a/rules/base.extras.xml b/rules/base.extras.xml
|
||||
index 08a28b1..fca1c1e 100644
|
||||
--- a/rules/base.extras.xml
|
||||
+++ b/rules/base.extras.xml
|
||||
@@ -1382,21 +1382,6 @@
|
||||
</languageList>
|
||||
</configItem>
|
||||
</layout>
|
||||
- <layout>
|
||||
- <configItem popularity="exotic">
|
||||
- <name>cm</name>
|
||||
- <shortDescription>cm</shortDescription>
|
||||
- <description>English (Cameroon)</description>
|
||||
- </configItem>
|
||||
- <variantList>
|
||||
- <variant>
|
||||
- <configItem popularity="exotic">
|
||||
- <name>mmuock</name>
|
||||
- <description>Mmuock</description>
|
||||
- </configItem>
|
||||
- </variant>
|
||||
- </variantList>
|
||||
- </layout>
|
||||
<layout>
|
||||
<configItem popularity="exotic">
|
||||
<name>trans</name>
|
||||
--
|
||||
2.31.1
|
||||
|
@ -7,7 +7,7 @@
|
||||
Summary: X Keyboard Extension configuration data
|
||||
Name: xkeyboard-config
|
||||
Version: 2.32
|
||||
Release: 2%{?gitdate:.%{gitdate}git%{gitversion}}%{?dist}
|
||||
Release: 3%{?gitdate:.%{gitdate}git%{gitversion}}%{?dist}
|
||||
License: MIT
|
||||
URL: http://www.freedesktop.org/wiki/Software/XKeyboardConfig
|
||||
|
||||
@ -19,6 +19,15 @@ Source2: commitid
|
||||
Source0: http://xorg.freedesktop.org/archive/individual/data/%{name}/%{name}-%{version}.tar.bz2
|
||||
%endif
|
||||
|
||||
# Add an empty "custom" layout for user-specific configuration
|
||||
Patch0001: 0001-rules-add-a-custom-layout-to-the-XML-file.patch
|
||||
# Restore the rules/xorg symlinks (#1951875)
|
||||
Patch0003: 0002-meson.build-add-option-to-install-the-legacy-xorg-sy.patch
|
||||
# DTD files aren't xml files (#=1952283)
|
||||
Patch0004: 0003-rules-the-xkb.dtd-file-is-not-an-XML-document.patch
|
||||
# Fixes a crasher in gnome-desktop3 (see commits aa7e344 and bab2698)
|
||||
Patch0005: 0004-rules-remove-duplicate-cm-mmuock-from-base.extras.xm.patch
|
||||
|
||||
BuildArch: noarch
|
||||
|
||||
BuildRequires: gettext gettext-devel
|
||||
@ -48,7 +57,7 @@ Development files for %{name}.
|
||||
%autosetup -S git
|
||||
|
||||
%build
|
||||
%meson -Dcompat-rules=true
|
||||
%meson -Dcompat-rules=true -Dxorg-rules-symlinks=true
|
||||
%meson_build
|
||||
|
||||
%install
|
||||
@ -70,11 +79,22 @@ rm -f $RPM_BUILD_ROOT%{_datadir}/X11/xkb/compiled
|
||||
%files -f files.list -f %{name}.lang
|
||||
%doc AUTHORS README NEWS COPYING docs/README.* docs/HOWTO.*
|
||||
%{_mandir}/man7/xkeyboard-config.*
|
||||
%{_datadir}/X11/xkb/rules/xorg
|
||||
%{_datadir}/X11/xkb/rules/xorg.lst
|
||||
%{_datadir}/X11/xkb/rules/xorg.xml
|
||||
|
||||
%files devel
|
||||
%{_datadir}/pkgconfig/xkeyboard-config.pc
|
||||
|
||||
%changelog
|
||||
* Wed Apr 21 2021 Peter Hutterer <peter.hutterer@redhat.com> 2.32-3
|
||||
- Restore the xorg ruleset, console-setup and possibly others are still
|
||||
using those (#1951875)
|
||||
- Allow for a "custom" layout
|
||||
- Don't mark the DTD document as XML document (#1952283)
|
||||
- Remove a duplicate keyboard layout to prevent a crash in gnome-desktop's
|
||||
xkbinfo
|
||||
|
||||
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 2.32-2
|
||||
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user