[Buildroot] [PATCH] package/systemd: handle vconsole w/ keymap support

Romain Naour romain.naour at gmail.com
Wed Aug 2 12:02:01 UTC 2023


systemd v254 provide a new option "default-keymap" to handle vconsole
with keymap support [1]. With this change systemd now use the "us"
keymap by default and requires keytable files and keyboard utilities
from kbd package.

The keymap support can still be disabled using -Ddefault-keymap=""
at build time.

Handle the vconsole w/ keymap support and allow to use another
keymap than "us" by default.

Fixes:
https://gitlab.com/buildroot.org/buildroot/-/jobs/4768561206 (TestInitSystemSystemdRwNetworkd)
https://gitlab.com/buildroot.org/buildroot/-/jobs/4768561203 (TestInitSystemSystemdRwIfupdownDbusbrokerDbus)
https://gitlab.com/buildroot.org/buildroot/-/jobs/4768561202 (TestInitSystemSystemdRwIfupdownDbusbroker)
https://gitlab.com/buildroot.org/buildroot/-/jobs/4768561201 (TestInitSystemSystemdRwIfupdown)
https://gitlab.com/buildroot.org/buildroot/-/jobs/4768561199 (TestInitSystemSystemdRwFull)
https://gitlab.com/buildroot.org/buildroot/-/jobs/4768561197 (TestInitSystemSystemdRoNetworkd)
https://gitlab.com/buildroot.org/buildroot/-/jobs/4768561194 (TestInitSystemSystemdRoIfupdownDbusbrokerDbus)
https://gitlab.com/buildroot.org/buildroot/-/jobs/4768561190 (TestInitSystemSystemdRoIfupdownDbusbroker)
https://gitlab.com/buildroot.org/buildroot/-/jobs/4768561189 (TestInitSystemSystemdRoIfupdown)
https://gitlab.com/buildroot.org/buildroot/-/jobs/4768561186 (TestInitSystemSystemdRoFull)

[1] https://github.com/systemd/systemd/releases/tag/v254
[2] https://github.com/systemd/systemd-stable/commit/1cd421106893c5126e33e211cf6634e9167d1762

Signed-off-by: Romain Naour <romain.naour at gmail.com>
Cc: James Hilliard <james.hilliard1 at gmail.com>
---
 package/systemd/Config.in  | 15 +++++++++++++++
 package/systemd/systemd.mk |  6 ++++++
 2 files changed, 21 insertions(+)

diff --git a/package/systemd/Config.in b/package/systemd/Config.in
index bea717a456..174ee77b29 100644
--- a/package/systemd/Config.in
+++ b/package/systemd/Config.in
@@ -569,4 +569,19 @@ config BR2_PACKAGE_SYSTEMD_VCONSOLE
 
 	  https://www.freedesktop.org/software/systemd/man/systemd-vconsole-setup.service.html
 
+config BR2_PACKAGE_SYSTEMD_VCONSOLE_KEYMAP
+	bool "enable vconsole w/ keymap support"
+	depends on BR2_PACKAGE_SYSTEMD_VCONSOLE
+	select BR2_PACKAGE_KBD
+	help
+	  systemd-vconsole-setup requires keytable files and keyboard
+	  utilities only if at least one keymap is used by default.
+
+config BR2_PACKAGE_SYSTEMD_VCONSOLE_DEFAULT_KEYMAP
+	string "vconsole default keymap"
+	default "us"
+	depends on BR2_PACKAGE_SYSTEMD_VCONSOLE_KEYMAP
+	help
+	  default keymap used when populating /etc/vconsole.conf.
+
 endif
diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk
index 0aa1da3fb8..f6d131c304 100644
--- a/package/systemd/systemd.mk
+++ b/package/systemd/systemd.mk
@@ -353,6 +353,12 @@ else
 SYSTEMD_CONF_OPTS += -Dvconsole=false
 endif
 
+ifeq ($(BR2_PACKAGE_SYSTEMD_VCONSOLE_KEYMAP),y)
+SYSTEMD_CONF_OPTS += -Ddefault-keymap=$(call qstrip,$(BR2_PACKAGE_SYSTEMD_VCONSOLE_DEFAULT_KEYMAP))
+else
+SYSTEMD_CONF_OPTS += -Ddefault-keymap=""
+endif
+
 ifeq ($(BR2_PACKAGE_SYSTEMD_QUOTACHECK),y)
 SYSTEMD_CONF_OPTS += -Dquotacheck=true
 else
-- 
2.41.0




More information about the buildroot mailing list