]> git.sesse.net Git - plocate/commitdiff
Make it possible to set systemunitdir explicitly.
authorSteinar H. Gunderson <steinar+nageru@gunderson.no>
Mon, 21 Jun 2021 19:21:53 +0000 (21:21 +0200)
committerSteinar H. Gunderson <steinar+nageru@gunderson.no>
Mon, 21 Jun 2021 19:21:53 +0000 (21:21 +0200)
This allows a distributor to hard-code the systemd unit directory
instead of relying on systemd-dev. Based on a patch by
Zbigniew JÄ™drzejewski-Szmek.

meson.build
meson_options.txt

index 19de67b4016bfad6259957ecc41060b8c355c60e..16ff3ecdc86966c1c17702c9770ea588125fddf8 100644 (file)
@@ -77,15 +77,16 @@ updatedb_conf_man = configure_file(input: 'updatedb.conf.5.in',
 install_man(updatedb_conf_man)
 
 if get_option('install_systemd')
-       systemd = dependency('systemd', required: false)
-       if systemd.found()
-               unitdir = systemd.get_pkgconfig_variable('systemdsystemunitdir')
-               updatedb_service = configure_file(input: 'plocate-updatedb.service.in',
-                      output: 'plocate-updatedb.service',
-                      configuration: conf_data)
-               install_data(updatedb_service, install_dir: unitdir)
-               install_data('plocate-updatedb.timer', install_dir: unitdir)
+       unitdir = get_option('systemunitdir')
+       if unitdir == ''
+               unitdir = dependency('systemd').get_pkgconfig_variable('systemdsystemunitdir')
        endif
+
+       updatedb_service = configure_file(input: 'plocate-updatedb.service.in',
+               output: 'plocate-updatedb.service',
+               configuration: conf_data)
+       install_data(updatedb_service, install_dir: unitdir)
+       install_data('plocate-updatedb.timer', install_dir: unitdir)
 endif
 
 # Requires having TurboPFor checked out, so not built by default.
index 7d33262f52927415b76e4acf177c269a93adf33e..8ac13c5106b9abda5ee97b3b4e6499279e0580e9 100644 (file)
@@ -1,4 +1,5 @@
 option('install_cron', type: 'boolean', value: false, description: 'Install mlocate conversion script into /etc/cron.daily')
 option('install_systemd', type: 'boolean', value: true, description: 'Install systemd service and timer for updatedb, if systemd is installed')
+option('systemunitdir', type: 'string', description: 'Where to install systemd units to (default: autodetect)')
 option('locategroup', type: 'string', value: 'plocate', description: 'Group that the install script will use for the .db file')
 option('updatedb_progname', type: 'string', value: 'updatedb', description: 'Binary name of updatedb')