1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
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
|