From a21bc03df9504c7a9b0c8e0e894d94f226a7a038 Mon Sep 17 00:00:00 2001 From: Jan Janssen Date: Tue, 11 Jan 2022 10:47:01 +0100 Subject: [PATCH] meson: Use files() for fuzzers Not having to provide the full path in the source tree is much nicer and the produced lists can also be used anywhere in the source tree. (cherry picked from commit bbec46c817951225f1e535d3df95b82a114e502a) Related: #2017035 --- meson.build | 3 ++- src/boot/efi/meson.build | 2 +- src/core/meson.build | 2 +- src/fuzz/meson.build | 20 ++++++++++---------- src/journal-remote/meson.build | 2 +- src/journal/meson.build | 24 ++++++++++++------------ src/libsystemd-network/meson.build | 8 ++++---- src/libsystemd/meson.build | 4 ++-- src/network/meson.build | 4 ++-- src/nspawn/meson.build | 4 ++-- src/resolve/meson.build | 2 +- src/systemctl/meson.build | 7 ++++--- src/udev/meson.build | 11 +++++------ src/xdg-autostart-generator/meson.build | 6 +++--- 14 files changed, 50 insertions(+), 49 deletions(-) diff --git a/meson.build b/meson.build index 35ba29aecf..fdf02b8110 100644 --- a/meson.build +++ b/meson.build @@ -3677,7 +3677,8 @@ foreach tuple : fuzzers sources += 'src/fuzz/fuzz-main.c' endif - name = sources[0].split('/')[-1].split('.')[0] + # FIXME: Use fs.stem() with meson >= 0.54.0 + name = '@0@'.format(sources[0]).split('/')[-1].split('.')[0] exe = executable( name, diff --git a/src/boot/efi/meson.build b/src/boot/efi/meson.build index 229771026d..3e948281f2 100644 --- a/src/boot/efi/meson.build +++ b/src/boot/efi/meson.build @@ -359,7 +359,7 @@ if efi_arch[1] in ['ia32', 'x86_64', 'arm', 'aarch64'] 'HAVE_ZSTD'], ] fuzzers += [ - [['src/boot/efi/fuzz-bcd.c']], + [files('fuzz-bcd.c')], ] endif diff --git a/src/core/meson.build b/src/core/meson.build index d229d46779..97ac431763 100644 --- a/src/core/meson.build +++ b/src/core/meson.build @@ -228,7 +228,7 @@ endif ############################################################ fuzzers += [ - [['src/core/fuzz-unit-file.c'], + [files('fuzz-unit-file.c'), [libcore, libshared], [libmount]], diff --git a/src/fuzz/meson.build b/src/fuzz/meson.build index 1ed1dd8251..d987f32b08 100644 --- a/src/fuzz/meson.build +++ b/src/fuzz/meson.build @@ -1,23 +1,23 @@ # SPDX-License-Identifier: LGPL-2.1-or-later fuzzers += [ - [['src/fuzz/fuzz-catalog.c']], + [files('fuzz-catalog.c')], - [['src/fuzz/fuzz-json.c']], + [files('fuzz-json.c')], - [['src/fuzz/fuzz-varlink.c']], + [files('fuzz-varlink.c')], - [['src/fuzz/fuzz-udev-database.c']], + [files('fuzz-udev-database.c')], - [['src/fuzz/fuzz-compress.c']], + [files('fuzz-compress.c')], - [['src/fuzz/fuzz-bus-label.c']], + [files('fuzz-bus-label.c')], - [['src/fuzz/fuzz-env-file.c']], + [files('fuzz-env-file.c')], - [['src/fuzz/fuzz-hostname-setup.c']], + [files('fuzz-hostname-setup.c')], - [['src/fuzz/fuzz-calendarspec.c']], + [files('fuzz-calendarspec.c')], - [['src/fuzz/fuzz-time-util.c']], + [files('fuzz-time-util.c')], ] diff --git a/src/journal-remote/meson.build b/src/journal-remote/meson.build index 168d0ed6a3..1f3e0878ae 100644 --- a/src/journal-remote/meson.build +++ b/src/journal-remote/meson.build @@ -76,7 +76,7 @@ endif ############################################################ fuzzers += [ - [['src/journal-remote/fuzz-journal-remote.c'], + [files('fuzz-journal-remote.c'), [libsystemd_journal_remote, libshared], [], diff --git a/src/journal/meson.build b/src/journal/meson.build index b9a63d5e2f..21c4d2561c 100644 --- a/src/journal/meson.build +++ b/src/journal/meson.build @@ -116,38 +116,38 @@ tests += [ ] fuzzers += [ - [['src/journal/fuzz-journald-audit.c', - 'src/journal/fuzz-journald.c'], + [files('fuzz-journald-audit.c', + 'fuzz-journald.c'), [libjournal_core, libshared], [libselinux]], - [['src/journal/fuzz-journald-kmsg.c', - 'src/journal/fuzz-journald.c'], + [files('fuzz-journald-kmsg.c', + 'fuzz-journald.c'), [libjournal_core, libshared], [libselinux]], - [['src/journal/fuzz-journald-native.c', - 'src/journal/fuzz-journald.c'], + [files('fuzz-journald-native.c', + 'fuzz-journald.c'), [libjournal_core, libshared], [libselinux]], - [['src/journal/fuzz-journald-native-fd.c', - 'src/journal/fuzz-journald.c'], + [files('fuzz-journald-native-fd.c', + 'fuzz-journald.c'), [libjournal_core, libshared], [libselinux]], - [['src/journal/fuzz-journald-stream.c', - 'src/journal/fuzz-journald.c'], + [files('fuzz-journald-stream.c', + 'fuzz-journald.c'), [libjournal_core, libshared], [libselinux]], - [['src/journal/fuzz-journald-syslog.c', - 'src/journal/fuzz-journald.c'], + [files('fuzz-journald-syslog.c', + 'fuzz-journald.c'), [libjournal_core, libshared], [libselinux]], diff --git a/src/libsystemd-network/meson.build b/src/libsystemd-network/meson.build index 3923df48ea..6be409d8ad 100644 --- a/src/libsystemd-network/meson.build +++ b/src/libsystemd-network/meson.build @@ -105,19 +105,19 @@ tests += [ ] fuzzers += [ - [['src/libsystemd-network/fuzz-dhcp6-client.c'], + [files('fuzz-dhcp6-client.c'), [libshared, libsystemd_network]], - [['src/libsystemd-network/fuzz-dhcp-server.c'], + [files('fuzz-dhcp-server.c'), [libsystemd_network, libshared]], - [['src/libsystemd-network/fuzz-lldp-rx.c'], + [files('fuzz-lldp-rx.c'), [libshared, libsystemd_network]], - [['src/libsystemd-network/fuzz-ndisc-rs.c'], + [files('fuzz-ndisc-rs.c'), [libshared, libsystemd_network]], ] diff --git a/src/libsystemd/meson.build b/src/libsystemd/meson.build index 42746e560f..2e5255d479 100644 --- a/src/libsystemd/meson.build +++ b/src/libsystemd/meson.build @@ -316,7 +316,7 @@ endif ############################################################ fuzzers += [ - [['src/libsystemd/sd-bus/fuzz-bus-message.c']], + [files('sd-bus/fuzz-bus-message.c')], - [['src/libsystemd/sd-bus/fuzz-bus-match.c']], + [files('sd-bus/fuzz-bus-match.c')], ] diff --git a/src/network/meson.build b/src/network/meson.build index a598701e4f..23743233fa 100644 --- a/src/network/meson.build +++ b/src/network/meson.build @@ -261,14 +261,14 @@ if conf.get('ENABLE_NETWORKD') == 1 endif fuzzers += [ - [['src/network/fuzz-netdev-parser.c'], + [files('fuzz-netdev-parser.c'), [libnetworkd_core, libsystemd_network, networkd_link_with], [threads], network_includes], - [['src/network/fuzz-network-parser.c'], + [files('fuzz-network-parser.c'), [libnetworkd_core, libsystemd_network, networkd_link_with], diff --git a/src/nspawn/meson.build b/src/nspawn/meson.build index 3c1a9c6182..2934672e9a 100644 --- a/src/nspawn/meson.build +++ b/src/nspawn/meson.build @@ -66,12 +66,12 @@ tests += [ ] fuzzers += [ - [['src/nspawn/fuzz-nspawn-settings.c'], + [files('fuzz-nspawn-settings.c'), [libshared, libnspawn_core], [libseccomp]], - [['src/nspawn/fuzz-nspawn-oci.c'], + [files('fuzz-nspawn-oci.c'), [libshared, libnspawn_core], [libseccomp]], diff --git a/src/resolve/meson.build b/src/resolve/meson.build index 4de50c3d8e..1fee993d0a 100644 --- a/src/resolve/meson.build +++ b/src/resolve/meson.build @@ -216,7 +216,7 @@ tests += [ ] fuzzers += [ - [['src/resolve/fuzz-dns-packet.c'], + [files('fuzz-dns-packet.c'), [libsystemd_resolve_core, libshared], [lib_openssl_or_gcrypt, diff --git a/src/systemctl/meson.build b/src/systemctl/meson.build index 38bf33d49a..f0d405bb58 100644 --- a/src/systemctl/meson.build +++ b/src/systemctl/meson.build @@ -83,7 +83,8 @@ else endif fuzzers += [ - [['src/systemctl/fuzz-systemctl-parse-argv.c', - systemctl_sources], + [files('fuzz-systemctl-parse-argv.c') + + systemctl_sources, systemctl_link_with, - [], [], ['-DFUZZ_SYSTEMCTL_PARSE_ARGV']]] + [], [], ['-DFUZZ_SYSTEMCTL_PARSE_ARGV']] +] diff --git a/src/udev/meson.build b/src/udev/meson.build index 57fbf8c8fc..9fd0bcdd0e 100644 --- a/src/udev/meson.build +++ b/src/udev/meson.build @@ -174,24 +174,23 @@ if install_sysconfdir endif fuzzers += [ - [['src/udev/net/fuzz-link-parser.c', - 'src/fuzz/fuzz.h'], + [files('net/fuzz-link-parser.c'), [libudevd_core, libshared], [threads, libacl], udev_includes], - [['src/udev/fuzz-udev-rules.c'], + [files('fuzz-udev-rules.c'), [libudevd_core, libshared], [threads, libacl]], - [['src/udev/fuzz-udev-rule-parse-value.c']], + [files('fuzz-udev-rule-parse-value.c')], - [['src/udev/fido_id/fuzz-fido-id-desc.c', - 'src/udev/fido_id/fido_id_desc.c']], + [files('fido_id/fuzz-fido-id-desc.c', + 'fido_id/fido_id_desc.c')], ] tests += [ diff --git a/src/xdg-autostart-generator/meson.build b/src/xdg-autostart-generator/meson.build index 6418f57c40..cdce66b6fc 100644 --- a/src/xdg-autostart-generator/meson.build +++ b/src/xdg-autostart-generator/meson.build @@ -12,7 +12,7 @@ tests += [ ] fuzzers += [ - [['src/xdg-autostart-generator/fuzz-xdg-desktop.c', - 'src/xdg-autostart-generator/xdg-autostart-service.c', - 'src/xdg-autostart-generator/xdg-autostart-service.h']], + [files('fuzz-xdg-desktop.c', + 'xdg-autostart-service.c', + 'xdg-autostart-service.h')], ]