diff --git a/0001-rules-add-a-custom-layout-to-the-XML-file.patch b/0001-rules-add-a-custom-layout-to-the-XML-file.patch new file mode 100644 index 0000000..c8d1ead --- /dev/null +++ b/0001-rules-add-a-custom-layout-to-the-XML-file.patch @@ -0,0 +1,55 @@ +From c32612612141fe400d646a865dafd29d50c2930f Mon Sep 17 00:00:00 2001 +From: Peter Hutterer +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 +(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 @@ + + + ++ ++ ++ custom ++ custom ++ A user-defined custom Layout ++ ++ ++ + + + +-- +2.31.1 + diff --git a/0002-meson.build-add-option-to-install-the-legacy-xorg-sy.patch b/0002-meson.build-add-option-to-install-the-legacy-xorg-sy.patch new file mode 100644 index 0000000..0e0c012 --- /dev/null +++ b/0002-meson.build-add-option-to-install-the-legacy-xorg-sy.patch @@ -0,0 +1,57 @@ +From ccd072ef77759ac3ed84e870b23e989ba14f8940 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer +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 +(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 + diff --git a/0003-rules-the-xkb.dtd-file-is-not-an-XML-document.patch b/0003-rules-the-xkb.dtd-file-is-not-an-XML-document.patch new file mode 100644 index 0000000..cf6361c --- /dev/null +++ b/0003-rules-the-xkb.dtd-file-is-not-an-XML-document.patch @@ -0,0 +1,27 @@ +From 1d0d23b4e2f6a8d40a004aba0dcb7e542babde10 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer +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 +(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 @@ +- +- +