From: Luca Boccassi 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