summaryrefslogtreecommitdiffstats
path: root/debian/patches/debian/localectl-disable-keymap-support.patch
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--debian/patches/debian/localectl-disable-keymap-support.patch76
1 files changed, 76 insertions, 0 deletions
diff --git a/debian/patches/debian/localectl-disable-keymap-support.patch b/debian/patches/debian/localectl-disable-keymap-support.patch
new file mode 100644
index 0000000..50fad4c
--- /dev/null
+++ b/debian/patches/debian/localectl-disable-keymap-support.patch
@@ -0,0 +1,76 @@
+From: Luca Boccassi <bluca@debian.org>
+Date: Wed, 8 Feb 2023 20:34:38 +0000
+Subject: localectl-disable-keymap-support
+
+We no longer support old debianisms such as /etc/default/keyboard,
+so disable the keymap interface in localectl until a definitive
+solution is found.
+
+Update the test suite to skip tests for unsupported localectl features.
+---
+ src/locale/localectl.c | 11 ++++++-----
+ test/units/testsuite-73.sh | 6 ++++++
+ 2 files changed, 12 insertions(+), 5 deletions(-)
+
+diff --git a/src/locale/localectl.c b/src/locale/localectl.c
+index 3235402..c4fb1f2 100644
+--- a/src/locale/localectl.c
++++ b/src/locale/localectl.c
+@@ -383,6 +383,10 @@ static int list_x11_keymaps(int argc, char **argv, void *userdata) {
+ return 0;
+ }
+
++static int not_supported(int argc, char **argv, void *userdata) {
++ return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP), "Setting X11 and console keymaps is not supported in Debian.");
++}
++
+ static int help(void) {
+ _cleanup_free_ char *link = NULL;
+ int r;
+@@ -397,10 +401,7 @@ static int help(void) {
+ " status Show current locale settings\n"
+ " set-locale LOCALE... Set system locale\n"
+ " list-locales Show known locales\n"
+- " set-keymap MAP [MAP] Set console and X11 keyboard mappings\n"
+ " list-keymaps Show known virtual console keyboard mappings\n"
+- " set-x11-keymap LAYOUT [MODEL [VARIANT [OPTIONS]]]\n"
+- " Set X11 and console keyboard mappings\n"
+ " list-x11-keymap-models Show known X11 keyboard mapping models\n"
+ " list-x11-keymap-layouts Show known X11 keyboard mapping layouts\n"
+ " list-x11-keymap-variants [LAYOUT]\n"
+@@ -500,9 +501,9 @@ static int localectl_main(sd_bus *bus, int argc, char *argv[]) {
+ { "status", VERB_ANY, 1, VERB_DEFAULT, show_status },
+ { "set-locale", 2, VERB_ANY, 0, set_locale },
+ { "list-locales", VERB_ANY, 1, 0, list_locales },
+- { "set-keymap", 2, 3, 0, set_vconsole_keymap },
++ { "set-keymap", 2, 3, 0, not_supported },
+ { "list-keymaps", VERB_ANY, 1, 0, list_vconsole_keymaps },
+- { "set-x11-keymap", 2, 5, 0, set_x11_keymap },
++ { "set-x11-keymap", 2, 5, 0, not_supported },
+ { "list-x11-keymap-models", VERB_ANY, 1, 0, list_x11_keymaps },
+ { "list-x11-keymap-layouts", VERB_ANY, 1, 0, list_x11_keymaps },
+ { "list-x11-keymap-variants", VERB_ANY, 2, 0, list_x11_keymaps },
+diff --git a/test/units/testsuite-73.sh b/test/units/testsuite-73.sh
+index df5af4b..ec3fa6c 100755
+--- a/test/units/testsuite-73.sh
++++ b/test/units/testsuite-73.sh
+@@ -227,6 +227,9 @@ wait_vconsole_setup() {
+ testcase_vc_keymap() {
+ local i output vc
+
++ echo "Setting X11 and console keymaps is not supported in Debian, skipping test."
++ return
++
+ if [[ -z "$(localectl list-keymaps)" ]]; then
+ echo "No vconsole keymap installed, skipping test."
+ return
+@@ -297,6 +300,9 @@ testcase_vc_keymap() {
+ testcase_x11_keymap() {
+ local output
+
++ echo "Setting X11 and console keymaps is not supported in Debian, skipping test."
++ return
++
+ if [[ -z "$(localectl list-x11-keymap-layouts)" ]]; then
+ echo "No x11 keymap installed, skipping test."
+ return