Add options to disable installing systemd specific files

This commit is contained in:
Kira Bruneau 2022-07-27 09:12:31 -04:00 committed by afayaz-feral
parent aee9703872
commit e34e9c5a43
3 changed files with 38 additions and 22 deletions

View File

@ -14,6 +14,7 @@ config_example = run_command(
data_conf.set('GAMEMODE_EXAMPLE_CONFIG', config_example) data_conf.set('GAMEMODE_EXAMPLE_CONFIG', config_example)
if sd_bus_provider == 'systemd' if sd_bus_provider == 'systemd'
if with_systemd_unit
# Install systemd user unit # Install systemd user unit
configure_file( configure_file(
input: 'gamemoded.service.in', input: 'gamemoded.service.in',
@ -21,12 +22,15 @@ if sd_bus_provider == 'systemd'
configuration: data_conf, configuration: data_conf,
install_dir: path_systemd_unit_dir, install_dir: path_systemd_unit_dir,
) )
endif
if with_systemd_group
# Install the sysusers.d file # Install the sysusers.d file
install_data( install_data(
files('gamemode.conf'), files('gamemode.conf'),
install_dir: path_systemd_group_dir, install_dir: path_systemd_group_dir,
) )
endif endif
endif
# Install the D-BUS service file # Install the D-BUS service file
configure_file( configure_file(

View File

@ -104,12 +104,17 @@ libdl = cc.find_library('dl', required: false)
# Determine the location for the systemd unit # Determine the location for the systemd unit
if sd_bus_provider == 'systemd' if sd_bus_provider == 'systemd'
with_systemd_unit = get_option('with-systemd-user-unit')
if with_systemd_unit
path_systemd_unit_dir = get_option('with-systemd-user-unit-dir') path_systemd_unit_dir = get_option('with-systemd-user-unit-dir')
if path_systemd_unit_dir == '' if path_systemd_unit_dir == ''
message('Asking pkg-config for systemd\'s \'systemduserunitdir\' directory') message('Asking pkg-config for systemd\'s \'systemduserunitdir\' directory')
pkgconfig_systemd = dependency('systemd') pkgconfig_systemd = dependency('systemd')
path_systemd_unit_dir = pkgconfig_systemd.get_pkgconfig_variable('systemduserunitdir') path_systemd_unit_dir = pkgconfig_systemd.get_pkgconfig_variable('systemduserunitdir')
endif endif
endif
with_systemd_group = get_option('with-systemd-group')
if with_systemd_group
path_systemd_group_dir = get_option('with-systemd-group-dir') path_systemd_group_dir = get_option('with-systemd-group-dir')
if path_systemd_group_dir == '' if path_systemd_group_dir == ''
message('Asking pkg-config for systemd\'s \'sysusersdir\' directory') message('Asking pkg-config for systemd\'s \'sysusersdir\' directory')
@ -117,6 +122,7 @@ if sd_bus_provider == 'systemd'
path_systemd_group_dir = pkgconfig_systemd.get_pkgconfig_variable('sysusersdir') path_systemd_group_dir = pkgconfig_systemd.get_pkgconfig_variable('sysusersdir')
endif endif
endif endif
endif
with_limits_conf = get_option('with-pam-group') with_limits_conf = get_option('with-pam-group')
if with_limits_conf != '' if with_limits_conf != ''
@ -203,13 +209,17 @@ report = [
] ]
if sd_bus_provider == 'systemd' if sd_bus_provider == 'systemd'
if with_systemd_unit
report += [ report += [
' systemd user unit directory: @0@'.format(path_systemd_unit_dir), ' systemd user unit directory: @0@'.format(path_systemd_unit_dir),
] ]
endif
if with_systemd_group
report += [ report += [
' systemd group directory: @0@'.format(path_systemd_group_dir), ' systemd group directory: @0@'.format(path_systemd_group_dir),
] ]
endif endif
endif
report += [ report += [
' D-BUS service directory: @0@'.format(path_dbus_service_dir), ' D-BUS service directory: @0@'.format(path_dbus_service_dir),
] ]

View File

@ -5,7 +5,9 @@ option('with-pam-group', type: 'string', description: 'Install the limits.d conf
option('with-sd-bus-provider', type: 'combo', choices: ['systemd', 'elogind', 'no-daemon'], value: 'systemd') option('with-sd-bus-provider', type: 'combo', choices: ['systemd', 'elogind', 'no-daemon'], value: 'systemd')
# systemd specific # systemd specific
option('with-systemd-user-unit', type: 'boolean', description: 'Install systemd user unit', value: 'true')
option('with-systemd-user-unit-dir', type: 'string', description: 'Explicitly set the systemd user unit directory') option('with-systemd-user-unit-dir', type: 'string', description: 'Explicitly set the systemd user unit directory')
option('with-systemd-group', type: 'boolean', description: 'Install systemd group', value: 'true')
option('with-systemd-group-dir', type: 'string', description: 'Explicitly set the systemd group directory') option('with-systemd-group-dir', type: 'string', description: 'Explicitly set the systemd group directory')
# Not using systemd # Not using systemd