diff --git a/meson.build b/meson.build index c1bc33d8f5..935388898a 100644 --- a/meson.build +++ b/meson.build @@ -10,7 +10,7 @@ project('systemd', 'c', 'localstatedir=/var', 'warning_level=2', ], - meson_version : '>= 0.47', + meson_version : '>= 0.53.2', ) libsystemd_version = '0.32.0' @@ -382,7 +382,7 @@ if cc.get_id() == 'gcc' endif # --as-needed and --no-undefined are provided by meson by default, -# run mesonconf to see what is enabled +# run 'meson configure' to see what is enabled possible_link_flags = [ '-Wl,-z,relro', '-Wl,-z,now', @@ -597,7 +597,7 @@ test_efi_create_disk_sh = find_program('test/test-efi-create-disk.sh') mkdir_p = 'mkdir -p $DESTDIR/@0@' splash_bmp = files('test/splash.bmp') -# if -Dxxx-path option is found, use that. Otherwise, check in $PATH, +# If -Dxxx-path option is found, use that. Otherwise, check in $PATH, # /usr/sbin, /sbin, and fall back to the default from middle column. progs = [['quotaon', '/usr/sbin/quotaon' ], ['quotacheck', '/usr/sbin/quotacheck' ], @@ -909,10 +909,6 @@ conf.set10('LOG_TRACE', get_option('log-trace')) default_user_path = get_option('user-path') if default_user_path != '' conf.set_quoted('DEFAULT_USER_PATH', default_user_path) - default_user_path_display = default_user_path -else - # meson 0.49 fails when ?: is used in .format() - default_user_path_display = '(same as system services)' endif @@ -952,9 +948,11 @@ if want_bpf_framework == 'false' else clang = find_program('clang', required : bpf_framework_required) llvm_strip = find_program('llvm-strip', required : bpf_framework_required) - # Debian installs this in /usr/sbin/ which is not in $PATH - # FIXME: use the 'dirs' parameter once we bump Meson version to >= 0.53 + + # Debian installs this in /usr/sbin/ which is not in $PATH. + # We check for 'bpftool' first, honouring $PATH, and in /usr/sbin/ for Debian. bpftool = find_program('bpftool', '/usr/sbin/bpftool', required : bpf_framework_required) + bpf_arches = ['x86_64'] deps_found = libbpf.found() and clang.found() and llvm_strip.found() and bpftool.found() # Can build BPF program from source code in restricted C @@ -3817,7 +3815,8 @@ status = [ 'default net.naming-scheme setting: @0@'.format(default_net_naming_scheme), 'default KillUserProcesses setting: @0@'.format(kill_user_processes), 'default locale: @0@'.format(default_locale), - 'default user $PATH: @0@'.format(default_user_path_display), + 'default user $PATH: @0@'.format( + default_user_path != '' ? default_user_path : '(same as system services)'), 'systemd service watchdog: @0@'.format(watchdog_opt)] alt_dns_servers = '\n '.join(dns_servers.split(' ')) diff --git a/src/test/meson.build b/src/test/meson.build index 14725248ce..07625ad38c 100644 --- a/src/test/meson.build +++ b/src/test/meson.build @@ -15,7 +15,7 @@ path = run_command(sh, '-c', 'echo "$PATH"').stdout().strip() test_env = environment() test_env.set('SYSTEMD_KBD_MODEL_MAP', kbd_model_map) test_env.set('SYSTEMD_LANGUAGE_FALLBACK_MAP', language_fallback_map) -test_env.set('PATH', '@0@:@1@'.format(meson.build_root(), path)) +test_env.set('PATH', project_build_root + ':' + path) ############################################################ diff --git a/src/udev/meson.build b/src/udev/meson.build index 4e80f9bfd7..0527403398 100644 --- a/src/udev/meson.build +++ b/src/udev/meson.build @@ -115,42 +115,40 @@ libudevd_core = static_library( link_with : udev_link_with, dependencies : [libblkid, libkmod]) -udev_id_progs = [['ata_id/ata_id.c'], - ['cdrom_id/cdrom_id.c'], - ['fido_id/fido_id.c', - 'fido_id/fido_id_desc.c', - 'fido_id/fido_id_desc.h'], - ['scsi_id/scsi_id.c', - 'scsi_id/scsi_id.h', - 'scsi_id/scsi_serial.c', - 'scsi_id/scsi.h'], - ['v4l_id/v4l_id.c'], - ['mtd_probe/mtd_probe.c', - 'mtd_probe/mtd_probe.h', - 'mtd_probe/probe_smartmedia.c']] +udev_progs = [['ata_id/ata_id.c'], + ['cdrom_id/cdrom_id.c'], + ['fido_id/fido_id.c', + 'fido_id/fido_id_desc.c', + 'fido_id/fido_id_desc.h'], + ['scsi_id/scsi_id.c', + 'scsi_id/scsi_id.h', + 'scsi_id/scsi_serial.c', + 'scsi_id/scsi.h'], + ['v4l_id/v4l_id.c'], + ['mtd_probe/mtd_probe.c', + 'mtd_probe/mtd_probe.h', + 'mtd_probe/probe_smartmedia.c']] dmi_arches = ['x86', 'x86_64', 'aarch64', 'arm', 'ia64', 'mips'] if dmi_arches.contains(host_machine.cpu_family()) - udev_id_progs += [['dmi_memory_id/dmi_memory_id.c']] + udev_progs += [['dmi_memory_id/dmi_memory_id.c']] endif -foreach prog : udev_id_progs +udev_prog_paths = {} +foreach prog : udev_progs name = prog[0].split('/')[0] exe = executable( name, prog, include_directories : includes, - dependencies : [versiondep], + dependencies : versiondep, link_with : udev_link_with, install_rpath : udev_rpath, install : true, install_dir : udevlibexecdir) - # TODO: let's use a dictionary instead as soon as we can depend on meson >= 0.47. - if name == 'dmi_memory_id' - dmi_memory_id_path = exe.full_path() - endif + udev_prog_paths += {name : exe.full_path()} endforeach if install_sysconfdir_samples diff --git a/test/meson.build b/test/meson.build index 47c7f4d49a..c39d2ab7ac 100644 --- a/test/meson.build +++ b/test/meson.build @@ -145,7 +145,9 @@ if want_tests != 'false' and dmi_arches.contains(host_machine.cpu_family()) test(name, udev_dmi_memory_id_test, - args : [dmi_memory_id_path, source, source + '.txt']) + args : [udev_prog_paths['dmi_memory_id'], + source, + source + '.txt']) endforeach endif diff --git a/tmpfiles.d/meson.build b/tmpfiles.d/meson.build index 6f8ff09fc8..e0e339cd42 100644 --- a/tmpfiles.d/meson.build +++ b/tmpfiles.d/meson.build @@ -37,8 +37,7 @@ foreach pair : in_files # do nothing elif pair[1] == '' or conf.get(pair[1]) == 1 custom_target( - # XXX: workaround for old meson. Drop when upgrading. - 'tmpfiles+' + pair[0], + pair[0], input : pair[0] + '.in', output: pair[0], command : [meson_render_jinja2, config_h, '@INPUT@'],