Merge pull request #13980 from keymanapp/fix/linux/13971_installpath

This makes the path in `com.keyman.SystemService1.service` configurable when using basu (e.g. Gentoo Linux).

Fixes: #13971
This commit is contained in:
Eberhard Beilharz 2025-05-20 14:59:07 +02:00 committed by GitHub
commit 4ea6296237
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 19 additions and 4 deletions

View file

@ -3,5 +3,5 @@
[D-BUS Service]
Name=com.keyman.SystemService1
Exec=/usr/libexec/systemd-keyman.service
Exec=@LIBEXECDIR@/systemd-keyman.service
User=root

View file

@ -1,11 +1,26 @@
# This file will be appended to meson.build by build.sh
cfg = configuration_data()
cfg.set('LIBEXECDIR', get_option('prefix') / get_option('libexecdir'))
install_data('com.keyman.SystemService1.conf', install_dir: get_option('datadir') / 'dbus-1/system.d/')
if systemd.name() == 'libsystemd'
install_data('com.keyman.SystemService1.service.systemd', install_dir: get_option('datadir') / 'dbus-1/system-services/', rename: ['com.keyman.SystemService1.service'])
else
# libelogind or basu
install_data('com.keyman.SystemService1.service.basu', install_dir: get_option('datadir') / 'dbus-1/system-services/')
configure_file(
configuration: cfg,
input: 'com.keyman.SystemService1.service.basu',
output: 'com.keyman.SystemService1.service',
install: true,
install_dir: get_option('datadir') / 'dbus-1/system-services/'
)
endif
install_data('systemd-keyman.service', install_dir: get_option('prefix') / 'lib/systemd/system/')
configure_file(
configuration: cfg,
input: 'systemd-keyman.service.in',
output: 'systemd-keyman.service',
install: true,
install_dir: get_option('prefix') / 'lib/systemd/system/'
)

View file

@ -9,7 +9,7 @@ Documentation=https://github.com/keymanapp/keyman/tree/master/linux/keyman-syste
[Service]
Type=dbus
BusName=com.keyman.SystemService1
ExecStart=/usr/libexec/keyman-system-service
ExecStart=@LIBEXECDIR@/keyman-system-service
Restart=on-failure
# Filesystem lockdown