fix(linux): configurable path in .service file when using basu

This makes the path in `com.keyman.SystemService1.service`
configurable when using basu (e.g. Gentoo Linux).
This commit is contained in:
Eberhard Beilharz 2025-05-19 09:34:34 +02:00
parent 437b2019e0
commit 8e4e92067d
No known key found for this signature in database
GPG key ID: E9140597606020D3
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