X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=meson.build;h=aab3384fe20fe32d91c9786529f9c509a53fd52c;hb=f4b85490ac5a4138be92d24e66e4f7511c50612a;hp=24c7bbc9d33965f04763c55ad5aa24dc89b761b2;hpb=d8d3ee5c809020d1188059cec1d4add3137b33a9;p=plocate diff --git a/meson.build b/meson.build index 24c7bbc..aab3384 100644 --- a/meson.build +++ b/meson.build @@ -2,7 +2,9 @@ project('plocate', 'cpp', default_options: ['buildtype=debugoptimized','cpp_std= add_project_arguments('-DGROUPNAME="' + get_option('locategroup') + '"', language: 'cpp') add_project_arguments('-DUPDATEDB_CONF="/etc/updatedb.conf"', language: 'cpp') -add_project_arguments('-DDBFILE="/var/lib/plocate/plocate.db"', language: 'cpp') +dbdir = join_paths(get_option('sharedstatedir'), 'plocate') +dbfile = join_paths(dbdir, 'plocate.db') +add_project_arguments('-DDBFILE="' + dbfile + '"', language: 'cpp') add_project_arguments('-DPACKAGE_NAME="plocate"', language: 'cpp') add_project_arguments('-DPACKAGE_VERSION="' + meson.project_version() + '"', language: 'cpp') add_project_arguments('-DPACKAGE_BUGREPORT="steinar+plocate@gunderson.no"', language: 'cpp') @@ -32,7 +34,7 @@ endif executable('plocate', ['plocate.cpp', 'io_uring_engine.cpp', 'turbopfor.cpp', 'parse_trigrams.cpp', 'serializer.cpp', 'access_rx_cache.cpp', 'needle.cpp', 'complete_pread.cpp'], dependencies: [uringdep, zstddep, threaddep, atomicdep], install: true, - install_mode: ['rwxr-sr-x', 'root', 'mlocate']) + install_mode: ['rwxr-sr-x', 'root', 'plocate']) executable('plocate-build', ['plocate-build.cpp', 'database-builder.cpp'], dependencies: [zstddep], install: true, @@ -44,12 +46,15 @@ executable('updatedb', ['updatedb.cpp', 'database-builder.cpp', 'conf.cpp', 'lib conf_data = configuration_data() conf_data.set('PROCESSED_BY_MESON', '1') -conf_data.set('sbindir', get_option('prefix') + '/' + get_option('sbindir')) +conf_data.set('sbindir', join_paths(get_option('prefix'), get_option('sbindir'))) conf_data.set('locategroup', get_option('locategroup')) +conf_data.set('dbfile', dbfile) update_script = configure_file(input: 'update-plocate.sh', output: 'update-plocate.sh', configuration: conf_data) +meson.add_install_script('mkdir', '-p', dbdir) + if get_option('install_cron') install_data(update_script, install_dir: '/etc/cron.daily', @@ -58,6 +63,18 @@ endif install_man('plocate.1') install_man('plocate-build.8') +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) + endif +endif + # Requires having TurboPFor checked out, so not built by default. # Unless you have a recent Meson, there's no apparently good way # of calling into that directory to run make, and we're not