diff mbox series

package/systemd: handle vconsole w/ keymap support

Message ID 20230802120201.382284-1-romain.naour@gmail.com
State Accepted
Headers show
Series package/systemd: handle vconsole w/ keymap support | expand

Commit Message

Romain Naour Aug. 2, 2023, 12:02 p.m. UTC
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@gmail.com>
Cc: James Hilliard <james.hilliard1@gmail.com>
---
 package/systemd/Config.in  | 15 +++++++++++++++
 package/systemd/systemd.mk |  6 ++++++
 2 files changed, 21 insertions(+)

Comments

Yann E. MORIN Aug. 2, 2023, 7:10 p.m. UTC | #1
Romain, All,

On 2023-08-02 14:02 +0200, Romain Naour spake thusly:
> 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@gmail.com>
> Cc: James Hilliard <james.hilliard1@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

There's no need for this intermediate option, see below...

> +	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=""

There's nothing that prevents BR2_PACKAGE_SYSTEMD_VCONSOLE_DEFAULT_KEYMAP
from being empty, in which case the above sets the option to an empty
string, exactly as is done if the boolean is not set.

So the boolean is superfluous, and I dropped it (I moved the select to
kbd to the vconsole option instead, with a condition on the keymap not
being empty).

This in turns simplifies the condition in the .mk file as well.

Applied to master with the above changes, thanks.

Regards,
Yann E. MORIN.

> +endif
> +
>  ifeq ($(BR2_PACKAGE_SYSTEMD_QUOTACHECK),y)
>  SYSTEMD_CONF_OPTS += -Dquotacheck=true
>  else
> -- 
> 2.41.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
diff mbox series

Patch

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