systemd/0232-test-install-libxkbcommon-and-x11-keymaps.patch

64 lines
2.3 KiB
Diff
Raw Normal View History

From 6bf4cd485735ecff5c0ccfb6b36bf1b2f310997a Mon Sep 17 00:00:00 2001
From: Yu Watanabe <watanabe.yu+github@gmail.com>
Date: Tue, 14 Jun 2022 09:12:00 +0900
Subject: [PATCH] test: install libxkbcommon and x11 keymaps
(cherry picked from commit 1136175c7fd4898c6fdc59c1f729386cf994265c)
Related: #2087652
---
test/test-functions | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/test/test-functions b/test/test-functions
index 050fefaf1b..644c3a8613 100644
--- a/test/test-functions
+++ b/test/test-functions
@@ -685,6 +685,7 @@ setup_basic_environment() {
install_dbus
install_fonts
install_keymaps
+ install_x11_keymaps
install_terminfo
install_execs
install_fs_tools
@@ -1198,7 +1199,7 @@ install_missing_libraries() {
local lib path
# A number of dependencies is now optional via dlopen, so the install
# script will not pick them up, since it looks at linkage.
- for lib in libcryptsetup libidn libidn2 pwquality libqrencode tss2-esys tss2-rc tss2-mu tss2-tcti-device libfido2 libbpf libelf libdw; do
+ for lib in libcryptsetup libidn libidn2 pwquality libqrencode tss2-esys tss2-rc tss2-mu tss2-tcti-device libfido2 libbpf libelf libdw xkbcommon; do
ddebug "Searching for $lib via pkg-config"
if pkg-config --exists "$lib"; then
path="$(pkg-config --variable=libdir "$lib")"
@@ -1214,6 +1215,10 @@ install_missing_libraries() {
# (eg: libcryptsetup), so just ignore them
inst_libs "${path}/${lib}.so" || true
inst_library "${path}/${lib}.so" || true
+
+ if [[ "$lib" == "libxkbcommon" ]]; then
+ install_x11_keymaps full
+ fi
else
ddebug "$lib.pc not found, skipping"
continue
@@ -1889,6 +1894,18 @@ install_keymaps() {
fi
}
+install_x11_keymaps() {
+ dinfo "Install x11 keymaps"
+
+ if (( $# == 0 )); then
+ # Install only keymap list.
+ inst /usr/share/X11/xkb/rules/base.lst
+ else
+ # When it takes any argument, then install all keymaps.
+ inst_recursive /usr/share/X11/xkb
+ fi
+}
+
install_zoneinfo() {
dinfo "Install time zones"
inst_any /usr/share/zoneinfo/Asia/Seoul