From 99b9f8fddd3f15ca309cc6f068fc3c33caa9fd4e Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Fri, 1 Jan 2021 04:30:47 +0900 Subject: [PATCH 01/45] sd-journal: move source files for sd-journal to src/libsystemd/sd-journal --- meson.build | 13 ++-- src/journal/meson.build | 65 ------------------- src/libsystemd/meson.build | 65 ++++++++++++++++++- .../sd-journal}/audit-type.c | 0 .../sd-journal}/audit-type.h | 0 .../sd-journal}/audit_type-to-name.awk | 0 .../sd-journal}/catalog.c | 0 .../sd-journal}/catalog.h | 0 .../sd-journal}/compress.c | 0 .../sd-journal}/compress.h | 0 .../sd-journal}/fsprg.c | 0 .../sd-journal}/fsprg.h | 0 .../sd-journal}/generate-audit_type-list.sh | 0 .../sd-journal}/journal-authenticate.c | 0 .../sd-journal}/journal-authenticate.h | 0 .../sd-journal}/journal-def.h | 0 .../sd-journal}/journal-file.c | 0 .../sd-journal}/journal-file.h | 0 .../sd-journal}/journal-internal.h | 0 .../sd-journal}/journal-send.c | 0 .../sd-journal}/journal-vacuum.c | 0 .../sd-journal}/journal-vacuum.h | 0 .../sd-journal}/journal-verify.c | 0 .../sd-journal}/journal-verify.h | 0 .../sd-journal}/lookup3.c | 0 .../sd-journal}/lookup3.h | 0 .../sd-journal}/mmap-cache.c | 0 .../sd-journal}/mmap-cache.h | 0 .../sd-journal}/sd-journal.c | 0 .../sd-journal}/test-audit-type.c | 0 .../sd-journal}/test-catalog.c | 0 .../sd-journal}/test-compress-benchmark.c | 0 .../sd-journal}/test-compress.c | 0 .../sd-journal}/test-journal-enum.c | 0 .../sd-journal}/test-journal-flush.c | 0 .../sd-journal}/test-journal-init.c | 0 .../sd-journal}/test-journal-interleaving.c | 0 .../sd-journal}/test-journal-match.c | 0 .../sd-journal}/test-journal-send.c | 0 .../sd-journal}/test-journal-stream.c | 0 .../sd-journal}/test-journal-verify.c | 0 .../sd-journal}/test-journal.c | 0 .../sd-journal}/test-mmap-cache.c | 0 src/network/meson.build | 1 - src/shared/meson.build | 3 +- src/test/meson.build | 28 ++++---- 46 files changed, 83 insertions(+), 92 deletions(-) rename src/{journal => libsystemd/sd-journal}/audit-type.c (100%) rename src/{journal => libsystemd/sd-journal}/audit-type.h (100%) rename src/{journal => libsystemd/sd-journal}/audit_type-to-name.awk (100%) rename src/{journal => libsystemd/sd-journal}/catalog.c (100%) rename src/{journal => libsystemd/sd-journal}/catalog.h (100%) rename src/{journal => libsystemd/sd-journal}/compress.c (100%) rename src/{journal => libsystemd/sd-journal}/compress.h (100%) rename src/{journal => libsystemd/sd-journal}/fsprg.c (100%) rename src/{journal => libsystemd/sd-journal}/fsprg.h (100%) rename src/{journal => libsystemd/sd-journal}/generate-audit_type-list.sh (100%) rename src/{journal => libsystemd/sd-journal}/journal-authenticate.c (100%) rename src/{journal => libsystemd/sd-journal}/journal-authenticate.h (100%) rename src/{journal => libsystemd/sd-journal}/journal-def.h (100%) rename src/{journal => libsystemd/sd-journal}/journal-file.c (100%) rename src/{journal => libsystemd/sd-journal}/journal-file.h (100%) rename src/{journal => libsystemd/sd-journal}/journal-internal.h (100%) rename src/{journal => libsystemd/sd-journal}/journal-send.c (100%) rename src/{journal => libsystemd/sd-journal}/journal-vacuum.c (100%) rename src/{journal => libsystemd/sd-journal}/journal-vacuum.h (100%) rename src/{journal => libsystemd/sd-journal}/journal-verify.c (100%) rename src/{journal => libsystemd/sd-journal}/journal-verify.h (100%) rename src/{journal => libsystemd/sd-journal}/lookup3.c (100%) rename src/{journal => libsystemd/sd-journal}/lookup3.h (100%) rename src/{journal => libsystemd/sd-journal}/mmap-cache.c (100%) rename src/{journal => libsystemd/sd-journal}/mmap-cache.h (100%) rename src/{journal => libsystemd/sd-journal}/sd-journal.c (100%) rename src/{journal => libsystemd/sd-journal}/test-audit-type.c (100%) rename src/{journal => libsystemd/sd-journal}/test-catalog.c (100%) rename src/{journal => libsystemd/sd-journal}/test-compress-benchmark.c (100%) rename src/{journal => libsystemd/sd-journal}/test-compress.c (100%) rename src/{journal => libsystemd/sd-journal}/test-journal-enum.c (100%) rename src/{journal => libsystemd/sd-journal}/test-journal-flush.c (100%) rename src/{journal => libsystemd/sd-journal}/test-journal-init.c (100%) rename src/{journal => libsystemd/sd-journal}/test-journal-interleaving.c (100%) rename src/{journal => libsystemd/sd-journal}/test-journal-match.c (100%) rename src/{journal => libsystemd/sd-journal}/test-journal-send.c (100%) rename src/{journal => libsystemd/sd-journal}/test-journal-stream.c (100%) rename src/{journal => libsystemd/sd-journal}/test-journal-verify.c (100%) rename src/{journal => libsystemd/sd-journal}/test-journal.c (100%) rename src/{journal => libsystemd/sd-journal}/test-mmap-cache.c (100%) diff --git a/meson.build b/meson.build index 2caf069602..187551b8da 100644 --- a/meson.build +++ b/meson.build @@ -1609,6 +1609,7 @@ includes = include_directories('src/basic', 'src/libsystemd/sd-event', 'src/libsystemd/sd-hwdb', 'src/libsystemd/sd-id128', + 'src/libsystemd/sd-journal', 'src/libsystemd/sd-netlink', 'src/libsystemd/sd-network', 'src/libsystemd/sd-resolve', @@ -1665,8 +1666,7 @@ libsystemd = shared_library( '-Wl,--version-script=' + libsystemd_sym_path], link_with : [libbasic, libbasic_gcrypt], - link_whole : [libsystemd_static, - libjournal_client], + link_whole : [libsystemd_static], dependencies : [threads, librt, libxz, @@ -1682,7 +1682,6 @@ static_libsystemd_pic = static_libsystemd == 'true' or static_libsystemd == 'pic install_libsystemd_static = static_library( 'systemd', libsystemd_sources, - journal_client_sources, basic_sources, basic_gcrypt_sources, disable_mempool_c, @@ -2150,7 +2149,6 @@ if get_option('link-systemctl-shared') else systemctl_link_with = [libsystemd_static, libshared_static, - libjournal_client, libbasic_gcrypt] endif @@ -2619,7 +2617,6 @@ if conf.get('ENABLE_TIMESYNCD') == 1 else timesyncd_link_with = [libsystemd_static, libshared_static, - libjournal_client, libbasic_gcrypt] endif @@ -3189,8 +3186,7 @@ if enable_sysusers link_with : [libshared_static, libbasic, libbasic_gcrypt, - libsystemd_static, - libjournal_client], + libsystemd_static], install : true, install_dir : rootbindir) public_programs += exe @@ -3232,8 +3228,7 @@ if conf.get('ENABLE_TMPFILES') == 1 link_with : [libshared_static, libbasic, libbasic_gcrypt, - libsystemd_static, - libjournal_client], + libsystemd_static], dependencies : [libacl], install : true, install_dir : rootbindir) diff --git a/src/journal/meson.build b/src/journal/meson.build index dd0982a158..59da7aa7e0 100644 --- a/src/journal/meson.build +++ b/src/journal/meson.build @@ -1,69 +1,5 @@ # SPDX-License-Identifier: LGPL-2.1-or-later -journal_client_sources = files(''' - audit-type.c - audit-type.h - catalog.c - catalog.h - compress.c - compress.h - journal-def.h - journal-file.c - journal-file.h - journal-send.c - journal-vacuum.c - journal-vacuum.h - journal-verify.c - journal-verify.h - lookup3.c - lookup3.h - mmap-cache.c - mmap-cache.h - sd-journal.c -'''.split()) - -if conf.get('HAVE_GCRYPT') == 1 - journal_client_sources += files(''' - journal-authenticate.c - journal-authenticate.h - fsprg.c - fsprg.h - '''.split()) -endif - -############################################################ - -audit_type_includes = [config_h, - missing_audit_h, - 'linux/audit.h'] -if conf.get('HAVE_AUDIT') == 1 - audit_type_includes += 'libaudit.h' -endif - -generate_audit_type_list = find_program('generate-audit_type-list.sh') -audit_type_list_txt = custom_target( - 'audit_type-list.txt', - output : 'audit_type-list.txt', - command : [generate_audit_type_list, cpp] + audit_type_includes, - capture : true) - -audit_type_to_name = custom_target( - 'audit_type-to-name.h', - input : ['audit_type-to-name.awk', audit_type_list_txt], - output : 'audit_type-to-name.h', - command : [awk, '-f', '@INPUT0@', '@INPUT1@'], - capture : true) - -journal_client_sources += [audit_type_to_name] - -libjournal_client = static_library( - 'journal-client', - journal_client_sources, - include_directories : includes, - c_args : ['-fvisibility=default']) - -############################################################ - libjournal_core_sources = files(''' journald-audit.c journald-audit.h @@ -85,7 +21,6 @@ libjournal_core_sources = files(''' journald-syslog.h journald-wall.c journald-wall.h - journal-internal.h '''.split()) systemd_journald_sources = files(''' diff --git a/src/libsystemd/meson.build b/src/libsystemd/meson.build index d22a7754e2..4d2e5e54e6 100644 --- a/src/libsystemd/meson.build +++ b/src/libsystemd/meson.build @@ -1,13 +1,72 @@ # SPDX-License-Identifier: LGPL-2.1-or-later +sd_journal_sources = files( + 'sd-journal/audit-type.c', + 'sd-journal/audit-type.h', + 'sd-journal/catalog.c', + 'sd-journal/catalog.h', + 'sd-journal/compress.c', + 'sd-journal/compress.h', + 'sd-journal/journal-def.h', + 'sd-journal/journal-file.c', + 'sd-journal/journal-file.h', + 'sd-journal/journal-internal.h', + 'sd-journal/journal-send.c', + 'sd-journal/journal-vacuum.c', + 'sd-journal/journal-vacuum.h', + 'sd-journal/journal-verify.c', + 'sd-journal/journal-verify.h', + 'sd-journal/lookup3.c', + 'sd-journal/lookup3.h', + 'sd-journal/mmap-cache.c', + 'sd-journal/mmap-cache.h', + 'sd-journal/sd-journal.c') + +if conf.get('HAVE_GCRYPT') == 1 + sd_journal_sources += files( + 'sd-journal/fsprg.c', + 'sd-journal/fsprg.h', + 'sd-journal/journal-authenticate.c', + 'sd-journal/journal-authenticate.h') +endif + +audit_type_includes = [config_h, + missing_audit_h, + 'linux/audit.h'] +if conf.get('HAVE_AUDIT') == 1 + audit_type_includes += 'libaudit.h' +endif + +generate_audit_type_list = find_program('sd-journal/generate-audit_type-list.sh') +audit_type_list_txt = custom_target( + 'audit_type-list.txt', + output : 'audit_type-list.txt', + command : [generate_audit_type_list, cpp] + audit_type_includes, + capture : true) + +audit_type_to_name = custom_target( + 'audit_type-to-name.h', + input : ['sd-journal/audit_type-to-name.awk', audit_type_list_txt], + output : 'audit_type-to-name.h', + command : [awk, '-f', '@INPUT0@', '@INPUT1@'], + capture : true) + +sd_journal_sources += [audit_type_to_name] + +############################################################ + id128_sources = files(''' sd-id128/id128-util.c sd-id128/id128-util.h sd-id128/sd-id128.c '''.split()) +############################################################ + sd_daemon_sources = files('sd-daemon/sd-daemon.c') +############################################################ + sd_event_sources = files(''' sd-event/event-source.h sd-event/event-util.c @@ -15,8 +74,12 @@ sd_event_sources = files(''' sd-event/sd-event.c '''.split()) +############################################################ + sd_login_sources = files('sd-login/sd-login.c') +############################################################ + libsystemd_sources = files(''' sd-bus/bus-common-errors.c sd-bus/bus-common-errors.h @@ -91,7 +154,7 @@ libsystemd_sources = files(''' sd-resolve/resolve-private.h sd-resolve/sd-resolve.c sd-utf8/sd-utf8.c -'''.split()) + id128_sources + sd_daemon_sources + sd_event_sources + sd_login_sources +'''.split()) + sd_journal_sources + id128_sources + sd_daemon_sources + sd_event_sources + sd_login_sources disable_mempool_c = files('disable-mempool.c') diff --git a/src/journal/audit-type.c b/src/libsystemd/sd-journal/audit-type.c similarity index 100% rename from src/journal/audit-type.c rename to src/libsystemd/sd-journal/audit-type.c diff --git a/src/journal/audit-type.h b/src/libsystemd/sd-journal/audit-type.h similarity index 100% rename from src/journal/audit-type.h rename to src/libsystemd/sd-journal/audit-type.h diff --git a/src/journal/audit_type-to-name.awk b/src/libsystemd/sd-journal/audit_type-to-name.awk similarity index 100% rename from src/journal/audit_type-to-name.awk rename to src/libsystemd/sd-journal/audit_type-to-name.awk diff --git a/src/journal/catalog.c b/src/libsystemd/sd-journal/catalog.c similarity index 100% rename from src/journal/catalog.c rename to src/libsystemd/sd-journal/catalog.c diff --git a/src/journal/catalog.h b/src/libsystemd/sd-journal/catalog.h similarity index 100% rename from src/journal/catalog.h rename to src/libsystemd/sd-journal/catalog.h diff --git a/src/journal/compress.c b/src/libsystemd/sd-journal/compress.c similarity index 100% rename from src/journal/compress.c rename to src/libsystemd/sd-journal/compress.c diff --git a/src/journal/compress.h b/src/libsystemd/sd-journal/compress.h similarity index 100% rename from src/journal/compress.h rename to src/libsystemd/sd-journal/compress.h diff --git a/src/journal/fsprg.c b/src/libsystemd/sd-journal/fsprg.c similarity index 100% rename from src/journal/fsprg.c rename to src/libsystemd/sd-journal/fsprg.c diff --git a/src/journal/fsprg.h b/src/libsystemd/sd-journal/fsprg.h similarity index 100% rename from src/journal/fsprg.h rename to src/libsystemd/sd-journal/fsprg.h diff --git a/src/journal/generate-audit_type-list.sh b/src/libsystemd/sd-journal/generate-audit_type-list.sh similarity index 100% rename from src/journal/generate-audit_type-list.sh rename to src/libsystemd/sd-journal/generate-audit_type-list.sh diff --git a/src/journal/journal-authenticate.c b/src/libsystemd/sd-journal/journal-authenticate.c similarity index 100% rename from src/journal/journal-authenticate.c rename to src/libsystemd/sd-journal/journal-authenticate.c diff --git a/src/journal/journal-authenticate.h b/src/libsystemd/sd-journal/journal-authenticate.h similarity index 100% rename from src/journal/journal-authenticate.h rename to src/libsystemd/sd-journal/journal-authenticate.h diff --git a/src/journal/journal-def.h b/src/libsystemd/sd-journal/journal-def.h similarity index 100% rename from src/journal/journal-def.h rename to src/libsystemd/sd-journal/journal-def.h diff --git a/src/journal/journal-file.c b/src/libsystemd/sd-journal/journal-file.c similarity index 100% rename from src/journal/journal-file.c rename to src/libsystemd/sd-journal/journal-file.c diff --git a/src/journal/journal-file.h b/src/libsystemd/sd-journal/journal-file.h similarity index 100% rename from src/journal/journal-file.h rename to src/libsystemd/sd-journal/journal-file.h diff --git a/src/journal/journal-internal.h b/src/libsystemd/sd-journal/journal-internal.h similarity index 100% rename from src/journal/journal-internal.h rename to src/libsystemd/sd-journal/journal-internal.h diff --git a/src/journal/journal-send.c b/src/libsystemd/sd-journal/journal-send.c similarity index 100% rename from src/journal/journal-send.c rename to src/libsystemd/sd-journal/journal-send.c diff --git a/src/journal/journal-vacuum.c b/src/libsystemd/sd-journal/journal-vacuum.c similarity index 100% rename from src/journal/journal-vacuum.c rename to src/libsystemd/sd-journal/journal-vacuum.c diff --git a/src/journal/journal-vacuum.h b/src/libsystemd/sd-journal/journal-vacuum.h similarity index 100% rename from src/journal/journal-vacuum.h rename to src/libsystemd/sd-journal/journal-vacuum.h diff --git a/src/journal/journal-verify.c b/src/libsystemd/sd-journal/journal-verify.c similarity index 100% rename from src/journal/journal-verify.c rename to src/libsystemd/sd-journal/journal-verify.c diff --git a/src/journal/journal-verify.h b/src/libsystemd/sd-journal/journal-verify.h similarity index 100% rename from src/journal/journal-verify.h rename to src/libsystemd/sd-journal/journal-verify.h diff --git a/src/journal/lookup3.c b/src/libsystemd/sd-journal/lookup3.c similarity index 100% rename from src/journal/lookup3.c rename to src/libsystemd/sd-journal/lookup3.c diff --git a/src/journal/lookup3.h b/src/libsystemd/sd-journal/lookup3.h similarity index 100% rename from src/journal/lookup3.h rename to src/libsystemd/sd-journal/lookup3.h diff --git a/src/journal/mmap-cache.c b/src/libsystemd/sd-journal/mmap-cache.c similarity index 100% rename from src/journal/mmap-cache.c rename to src/libsystemd/sd-journal/mmap-cache.c diff --git a/src/journal/mmap-cache.h b/src/libsystemd/sd-journal/mmap-cache.h similarity index 100% rename from src/journal/mmap-cache.h rename to src/libsystemd/sd-journal/mmap-cache.h diff --git a/src/journal/sd-journal.c b/src/libsystemd/sd-journal/sd-journal.c similarity index 100% rename from src/journal/sd-journal.c rename to src/libsystemd/sd-journal/sd-journal.c diff --git a/src/journal/test-audit-type.c b/src/libsystemd/sd-journal/test-audit-type.c similarity index 100% rename from src/journal/test-audit-type.c rename to src/libsystemd/sd-journal/test-audit-type.c diff --git a/src/journal/test-catalog.c b/src/libsystemd/sd-journal/test-catalog.c similarity index 100% rename from src/journal/test-catalog.c rename to src/libsystemd/sd-journal/test-catalog.c diff --git a/src/journal/test-compress-benchmark.c b/src/libsystemd/sd-journal/test-compress-benchmark.c similarity index 100% rename from src/journal/test-compress-benchmark.c rename to src/libsystemd/sd-journal/test-compress-benchmark.c diff --git a/src/journal/test-compress.c b/src/libsystemd/sd-journal/test-compress.c similarity index 100% rename from src/journal/test-compress.c rename to src/libsystemd/sd-journal/test-compress.c diff --git a/src/journal/test-journal-enum.c b/src/libsystemd/sd-journal/test-journal-enum.c similarity index 100% rename from src/journal/test-journal-enum.c rename to src/libsystemd/sd-journal/test-journal-enum.c diff --git a/src/journal/test-journal-flush.c b/src/libsystemd/sd-journal/test-journal-flush.c similarity index 100% rename from src/journal/test-journal-flush.c rename to src/libsystemd/sd-journal/test-journal-flush.c diff --git a/src/journal/test-journal-init.c b/src/libsystemd/sd-journal/test-journal-init.c similarity index 100% rename from src/journal/test-journal-init.c rename to src/libsystemd/sd-journal/test-journal-init.c diff --git a/src/journal/test-journal-interleaving.c b/src/libsystemd/sd-journal/test-journal-interleaving.c similarity index 100% rename from src/journal/test-journal-interleaving.c rename to src/libsystemd/sd-journal/test-journal-interleaving.c diff --git a/src/journal/test-journal-match.c b/src/libsystemd/sd-journal/test-journal-match.c similarity index 100% rename from src/journal/test-journal-match.c rename to src/libsystemd/sd-journal/test-journal-match.c diff --git a/src/journal/test-journal-send.c b/src/libsystemd/sd-journal/test-journal-send.c similarity index 100% rename from src/journal/test-journal-send.c rename to src/libsystemd/sd-journal/test-journal-send.c diff --git a/src/journal/test-journal-stream.c b/src/libsystemd/sd-journal/test-journal-stream.c similarity index 100% rename from src/journal/test-journal-stream.c rename to src/libsystemd/sd-journal/test-journal-stream.c diff --git a/src/journal/test-journal-verify.c b/src/libsystemd/sd-journal/test-journal-verify.c similarity index 100% rename from src/journal/test-journal-verify.c rename to src/libsystemd/sd-journal/test-journal-verify.c diff --git a/src/journal/test-journal.c b/src/libsystemd/sd-journal/test-journal.c similarity index 100% rename from src/journal/test-journal.c rename to src/libsystemd/sd-journal/test-journal.c diff --git a/src/journal/test-mmap-cache.c b/src/libsystemd/sd-journal/test-mmap-cache.c similarity index 100% rename from src/journal/test-mmap-cache.c rename to src/libsystemd/sd-journal/test-mmap-cache.c diff --git a/src/network/meson.build b/src/network/meson.build index 72ca9b43e0..801fcb81e1 100644 --- a/src/network/meson.build +++ b/src/network/meson.build @@ -189,7 +189,6 @@ if conf.get('ENABLE_NETWORKD') == 1 else networkd_link_with = [libsystemd_static, libshared_static, - libjournal_client, libbasic_gcrypt] endif diff --git a/src/shared/meson.build b/src/shared/meson.build index 7f522bc27e..5a8f0ae3a5 100644 --- a/src/shared/meson.build +++ b/src/shared/meson.build @@ -399,8 +399,7 @@ libshared = shared_library( link_whole : [libshared_static, libbasic, libbasic_gcrypt, - libsystemd_static, - libjournal_client], + libsystemd_static], c_args : ['-fvisibility=default'], dependencies : libshared_deps, install : true, diff --git a/src/test/meson.build b/src/test/meson.build index c2345bd6ee..5d1c7166ea 100644 --- a/src/test/meson.build +++ b/src/test/meson.build @@ -834,14 +834,14 @@ endif # define some tests here, because the link_with deps were not defined earlier tests += [ - [['src/journal/test-journal.c'], + [['src/libsystemd/sd-journal/test-journal.c'], [libjournal_core, libshared], [threads, libxz, liblz4]], - [['src/journal/test-journal-send.c'], + [['src/libsystemd/sd-journal/test-journal-send.c'], [libjournal_core, libshared], [threads, @@ -856,14 +856,14 @@ tests += [ liblz4, libselinux]], - [['src/journal/test-journal-match.c'], + [['src/libsystemd/sd-journal/test-journal-match.c'], [libjournal_core, libshared], [threads, libxz, liblz4]], - [['src/journal/test-journal-enum.c'], + [['src/libsystemd/sd-journal/test-journal-enum.c'], [libjournal_core, libshared], [threads, @@ -871,21 +871,21 @@ tests += [ liblz4], '', 'timeout=360'], - [['src/journal/test-journal-stream.c'], + [['src/libsystemd/sd-journal/test-journal-stream.c'], [libjournal_core, libshared], [threads, libxz, liblz4]], - [['src/journal/test-journal-flush.c'], + [['src/libsystemd/sd-journal/test-journal-flush.c'], [libjournal_core, libshared], [threads, libxz, liblz4]], - [['src/journal/test-journal-init.c'], + [['src/libsystemd/sd-journal/test-journal-init.c'], [libjournal_core, libshared], [threads, @@ -899,42 +899,42 @@ tests += [ liblz4, libselinux]], - [['src/journal/test-journal-verify.c'], + [['src/libsystemd/sd-journal/test-journal-verify.c'], [libjournal_core, libshared], [threads, libxz, liblz4]], - [['src/journal/test-journal-interleaving.c'], + [['src/libsystemd/sd-journal/test-journal-interleaving.c'], [libjournal_core, libshared], [threads, libxz, liblz4]], - [['src/journal/test-mmap-cache.c'], + [['src/libsystemd/sd-journal/test-mmap-cache.c'], [libjournal_core, libshared], [threads, libxz, liblz4]], - [['src/journal/test-catalog.c'], + [['src/libsystemd/sd-journal/test-catalog.c'], [libjournal_core, libshared], [threads, libxz, liblz4]], - [['src/journal/test-compress.c'], + [['src/libsystemd/sd-journal/test-compress.c'], [libjournal_core, libshared], [liblz4, libzstd, libxz]], - [['src/journal/test-compress-benchmark.c'], + [['src/libsystemd/sd-journal/test-compress-benchmark.c'], [libjournal_core, libshared], [liblz4, @@ -942,7 +942,7 @@ tests += [ libxz], '', 'timeout=90'], - [['src/journal/test-audit-type.c'], + [['src/libsystemd/sd-journal/test-audit-type.c'], [libjournal_core, libshared], [liblz4, From 100fd93f550d0531d2060d9968e4a2cff8a04501 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Fri, 1 Jan 2021 04:37:10 +0900 Subject: [PATCH 02/45] tmpfiles: move offline-passwd.[ch] to src/tmpfiles offline-passwd.[ch] are only used by systemd-tmpfiles and the relevant test. And are not included in libshared. So, it is not suitable to located under src/shared. --- src/test/meson.build | 6 ------ src/tmpfiles/meson.build | 15 +++++++++++---- src/{shared => tmpfiles}/offline-passwd.c | 0 src/{shared => tmpfiles}/offline-passwd.h | 0 src/{test => tmpfiles}/test-offline-passwd.c | 0 5 files changed, 11 insertions(+), 10 deletions(-) rename src/{shared => tmpfiles}/offline-passwd.c (100%) rename src/{shared => tmpfiles}/offline-passwd.h (100%) rename src/{test => tmpfiles}/test-offline-passwd.c (100%) diff --git a/src/test/meson.build b/src/test/meson.build index 5d1c7166ea..7280cd31b3 100644 --- a/src/test/meson.build +++ b/src/test/meson.build @@ -290,12 +290,6 @@ tests += [ [], '', 'timeout=120'], - [['src/test/test-offline-passwd.c', - 'src/shared/offline-passwd.c', - 'src/shared/offline-passwd.h'], - [], - []], - [['src/test/test-escape.c'], [], []], diff --git a/src/tmpfiles/meson.build b/src/tmpfiles/meson.build index 2d61568c66..a372bcded0 100644 --- a/src/tmpfiles/meson.build +++ b/src/tmpfiles/meson.build @@ -1,7 +1,14 @@ # SPDX-License-Identifier: LGPL-2.1-or-later -systemd_tmpfiles_sources = [ - 'src/tmpfiles/tmpfiles.c', - 'src/shared/offline-passwd.c', - 'src/shared/offline-passwd.h', +systemd_tmpfiles_sources = files( + 'tmpfiles.c', + 'offline-passwd.c', + 'offline-passwd.h') + +tests += [ + [['src/tmpfiles/test-offline-passwd.c', + 'src/tmpfiles/offline-passwd.c', + 'src/tmpfiles/offline-passwd.h'], + [], + []], ] diff --git a/src/shared/offline-passwd.c b/src/tmpfiles/offline-passwd.c similarity index 100% rename from src/shared/offline-passwd.c rename to src/tmpfiles/offline-passwd.c diff --git a/src/shared/offline-passwd.h b/src/tmpfiles/offline-passwd.h similarity index 100% rename from src/shared/offline-passwd.h rename to src/tmpfiles/offline-passwd.h diff --git a/src/test/test-offline-passwd.c b/src/tmpfiles/test-offline-passwd.c similarity index 100% rename from src/test/test-offline-passwd.c rename to src/tmpfiles/test-offline-passwd.c From 0f46548deb5d409a516c83c40f75e5c0edff1e3e Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Fri, 1 Jan 2021 04:48:44 +0900 Subject: [PATCH 03/45] login: move src/login/logind-acl.[ch] -> src/shared/devnode-acl.[ch] The files are used by logind and udevd. And the functions in the files are not specific to logind, and quite general enough to move to libshared. --- src/login/logind-seat.c | 2 +- src/login/meson.build | 6 ------ src/{login/logind-acl.c => shared/devnode-acl.c} | 2 +- src/{login/logind-acl.h => shared/devnode-acl.h} | 0 src/shared/meson.build | 6 +++++- src/udev/meson.build | 4 +--- src/udev/udev-builtin-uaccess.c | 2 +- 7 files changed, 9 insertions(+), 13 deletions(-) rename src/{login/logind-acl.c => shared/devnode-acl.c} (99%) rename src/{login/logind-acl.h => shared/devnode-acl.h} (100%) diff --git a/src/login/logind-seat.c b/src/login/logind-seat.c index 10cc7d960b..b70afea62e 100644 --- a/src/login/logind-seat.c +++ b/src/login/logind-seat.c @@ -8,11 +8,11 @@ #include "sd-messages.h" #include "alloc-util.h" +#include "devnode-acl.h" #include "errno-util.h" #include "fd-util.h" #include "fileio.h" #include "format-util.h" -#include "logind-acl.h" #include "logind-seat-dbus.h" #include "logind-seat.h" #include "logind-session-dbus.h" diff --git a/src/login/meson.build b/src/login/meson.build index 9c7545790c..22f9ce18d5 100644 --- a/src/login/meson.build +++ b/src/login/meson.build @@ -12,7 +12,6 @@ logind_gperf_c = custom_target( command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@']) liblogind_core_sources = files(''' - logind-acl.h logind-action.c logind-action.h logind-brightness.c @@ -45,11 +44,6 @@ liblogind_core_sources = files(''' liblogind_core_sources += [logind_gperf_c] -logind_acl_c = files('logind-acl.c') -if conf.get('HAVE_ACL') == 1 - liblogind_core_sources += logind_acl_c -endif - liblogind_core = static_library( 'logind-core', liblogind_core_sources, diff --git a/src/login/logind-acl.c b/src/shared/devnode-acl.c similarity index 99% rename from src/login/logind-acl.c rename to src/shared/devnode-acl.c index ed615e23f8..07e29e1019 100644 --- a/src/login/logind-acl.c +++ b/src/shared/devnode-acl.c @@ -7,11 +7,11 @@ #include "acl-util.h" #include "alloc-util.h" #include "device-util.h" +#include "devnode-acl.h" #include "dirent-util.h" #include "escape.h" #include "fd-util.h" #include "format-util.h" -#include "logind-acl.h" #include "set.h" #include "string-util.h" #include "util.h" diff --git a/src/login/logind-acl.h b/src/shared/devnode-acl.h similarity index 100% rename from src/login/logind-acl.h rename to src/shared/devnode-acl.h diff --git a/src/shared/meson.build b/src/shared/meson.build index 5a8f0ae3a5..3032a9efd1 100644 --- a/src/shared/meson.build +++ b/src/shared/meson.build @@ -78,6 +78,7 @@ shared_sources = files(''' daemon-util.h dev-setup.c dev-setup.h + devnode-acl.h dissect-image.c dissect-image.h dm-util.c @@ -290,7 +291,10 @@ syscall_list_h = custom_target( capture : true) if conf.get('HAVE_ACL') == 1 - shared_sources += files('acl-util.c') + shared_sources += files(''' + acl-util.c + devnode-acl.c + '''.split()) endif if conf.get('ENABLE_UTMP') == 1 diff --git a/src/udev/meson.build b/src/udev/meson.build index 9ec14c8021..00e7329361 100644 --- a/src/udev/meson.build +++ b/src/udev/meson.build @@ -50,9 +50,7 @@ if conf.get('HAVE_BLKID') == 1 endif if conf.get('HAVE_ACL') == 1 - libudevd_core_sources += ['udev-builtin-uaccess.c', - logind_acl_c, - sd_login_sources] + libudevd_core_sources += ['udev-builtin-uaccess.c'] endif ############################################################ diff --git a/src/udev/udev-builtin-uaccess.c b/src/udev/udev-builtin-uaccess.c index cfdf130f12..3fdbb88bc4 100644 --- a/src/udev/udev-builtin-uaccess.c +++ b/src/udev/udev-builtin-uaccess.c @@ -11,8 +11,8 @@ #include "sd-login.h" #include "device-util.h" +#include "devnode-acl.h" #include "login-util.h" -#include "logind-acl.h" #include "log.h" #include "udev-builtin.h" From 0703d2f6c43f998afa6b865e35ee3ad010508595 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Fri, 1 Jan 2021 04:56:02 +0900 Subject: [PATCH 04/45] test: move test-systemd-tmpfiles.py from src/test to test As the other test scripts, e.g. test-sysusers.sh, are located under test rather than src/test. --- src/test/meson.build | 4 ---- test/meson.build | 4 ++++ {src/test => test}/test-systemd-tmpfiles.py | 0 3 files changed, 4 insertions(+), 4 deletions(-) rename {src/test => test}/test-systemd-tmpfiles.py (100%) diff --git a/src/test/meson.build b/src/test/meson.build index 7280cd31b3..14edc71399 100644 --- a/src/test/meson.build +++ b/src/test/meson.build @@ -41,10 +41,6 @@ test_dlopen_c = files('test-dlopen.c') ############################################################ -test_systemd_tmpfiles_py = find_program('test-systemd-tmpfiles.py') - -############################################################ - tests += [ [['src/test/test-device-nodes.c'], [], diff --git a/test/meson.build b/test/meson.build index 2785dc92a7..69ee81eb02 100644 --- a/test/meson.build +++ b/test/meson.build @@ -60,6 +60,10 @@ test_network_generator_conversion_sh = find_program('test-network-generator-conv ############################################################ +test_systemd_tmpfiles_py = find_program('test-systemd-tmpfiles.py') + +############################################################ + test_sysusers_dir = join_paths(meson.current_source_dir(), 'test-sysusers') test_sysusers_sh = configure_file( diff --git a/src/test/test-systemd-tmpfiles.py b/test/test-systemd-tmpfiles.py similarity index 100% rename from src/test/test-systemd-tmpfiles.py rename to test/test-systemd-tmpfiles.py From a79e17234d9f91a5e90145892de42b46aac3ad42 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Fri, 1 Jan 2021 04:56:31 +0900 Subject: [PATCH 05/45] meson.build: drop unused variable --- test/meson.build | 2 -- 1 file changed, 2 deletions(-) diff --git a/test/meson.build b/test/meson.build index 69ee81eb02..4d7b929a80 100644 --- a/test/meson.build +++ b/test/meson.build @@ -64,8 +64,6 @@ test_systemd_tmpfiles_py = find_program('test-systemd-tmpfiles.py') ############################################################ -test_sysusers_dir = join_paths(meson.current_source_dir(), 'test-sysusers') - test_sysusers_sh = configure_file( input : 'test-sysusers.sh.in', output : 'test-sysusers.sh', From e2e78881919ad6f4cb5b8f316564534b213644c4 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Fri, 1 Jan 2021 05:02:17 +0900 Subject: [PATCH 06/45] xdg: move tests for xdg-autostart-generator Then, we can drop src/xdg-autostart-generator from include directories later. --- src/fuzz/meson.build | 2 +- src/test/meson.build | 2 +- src/{fuzz => xdg-autostart-generator}/fuzz-xdg-desktop.c | 0 src/{test => xdg-autostart-generator}/test-xdg-autostart.c | 0 4 files changed, 2 insertions(+), 2 deletions(-) rename src/{fuzz => xdg-autostart-generator}/fuzz-xdg-desktop.c (100%) rename src/{test => xdg-autostart-generator}/test-xdg-autostart.c (100%) diff --git a/src/fuzz/meson.build b/src/fuzz/meson.build index 83527a68fb..de6fe482e7 100644 --- a/src/fuzz/meson.build +++ b/src/fuzz/meson.build @@ -145,7 +145,7 @@ fuzzers += [ [libshared], []], - [['src/fuzz/fuzz-xdg-desktop.c', + [['src/xdg-autostart-generator/fuzz-xdg-desktop.c', 'src/xdg-autostart-generator/xdg-autostart-service.h', 'src/xdg-autostart-generator/xdg-autostart-service.c'], [], diff --git a/src/test/meson.build b/src/test/meson.build index 14edc71399..b76cce27fd 100644 --- a/src/test/meson.build +++ b/src/test/meson.build @@ -1176,7 +1176,7 @@ tests += [ ############################################################ tests += [ - [['src/test/test-xdg-autostart.c', + [['src/xdg-autostart-generator/test-xdg-autostart.c', 'src/xdg-autostart-generator/xdg-autostart-service.c', 'src/xdg-autostart-generator/xdg-autostart-service.h',], [], diff --git a/src/fuzz/fuzz-xdg-desktop.c b/src/xdg-autostart-generator/fuzz-xdg-desktop.c similarity index 100% rename from src/fuzz/fuzz-xdg-desktop.c rename to src/xdg-autostart-generator/fuzz-xdg-desktop.c diff --git a/src/test/test-xdg-autostart.c b/src/xdg-autostart-generator/test-xdg-autostart.c similarity index 100% rename from src/test/test-xdg-autostart.c rename to src/xdg-autostart-generator/test-xdg-autostart.c From cf2423503b4677ed2c08aca73c603a4ac432ad78 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Fri, 1 Jan 2021 05:10:09 +0900 Subject: [PATCH 07/45] time-wait-sync: move time-wait-sync.c -> src/timesync/wait-sync.c As wait-online is located under src/network. --- .github/labeler.yml | 1 - meson.build | 3 +-- src/{time-wait-sync/time-wait-sync.c => timesync/wait-sync.c} | 0 3 files changed, 1 insertion(+), 3 deletions(-) rename src/{time-wait-sync/time-wait-sync.c => timesync/wait-sync.c} (100%) diff --git a/.github/labeler.yml b/.github/labeler.yml index 121f4b734d..773d575004 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -36,4 +36,3 @@ timedate: - src/timedate/* timesync: - src/timesync/* - - src/time-wait-sync/* diff --git a/meson.build b/meson.build index 187551b8da..4fbcb9533e 100644 --- a/meson.build +++ b/meson.build @@ -1619,7 +1619,6 @@ includes = include_directories('src/basic', 'src/shared', 'src/shutdown', 'src/systemd', - 'src/time-wait-sync', 'src/timesync', 'src/udev', 'src/xdg-autostart-generator', @@ -2633,7 +2632,7 @@ if conf.get('ENABLE_TIMESYNCD') == 1 executable( 'systemd-time-wait-sync', - 'src/time-wait-sync/time-wait-sync.c', + 'src/timesync/wait-sync.c', include_directories : includes, link_with : [timesyncd_link_with], install_rpath : rootlibexecdir, diff --git a/src/time-wait-sync/time-wait-sync.c b/src/timesync/wait-sync.c similarity index 100% rename from src/time-wait-sync/time-wait-sync.c rename to src/timesync/wait-sync.c From 261fc53b9984c15e301178232a300acac5cb55ce Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Fri, 1 Jan 2021 05:17:49 +0900 Subject: [PATCH 08/45] test: move tests for libudev into src/libudev --- src/{test => libudev}/test-libudev.c | 0 .../sd-device => libudev}/test-udev-device-thread.c | 0 src/test/meson.build | 10 ++++------ 3 files changed, 4 insertions(+), 6 deletions(-) rename src/{test => libudev}/test-libudev.c (100%) rename src/{libsystemd/sd-device => libudev}/test-udev-device-thread.c (100%) diff --git a/src/test/test-libudev.c b/src/libudev/test-libudev.c similarity index 100% rename from src/test/test-libudev.c rename to src/libudev/test-libudev.c diff --git a/src/libsystemd/sd-device/test-udev-device-thread.c b/src/libudev/test-udev-device-thread.c similarity index 100% rename from src/libsystemd/sd-device/test-udev-device-thread.c rename to src/libudev/test-udev-device-thread.c diff --git a/src/test/meson.build b/src/test/meson.build index b76cce27fd..5db699db81 100644 --- a/src/test/meson.build +++ b/src/test/meson.build @@ -734,11 +734,10 @@ tests += [ [], []], - [['src/test/test-libudev.c'], + [['src/libudev/test-libudev.c'], [libshared, libudev_static], - [], - '', '', [], libudev_includes], + []], [['src/test/test-udev.c'], [libudevd_core, @@ -1048,12 +1047,11 @@ tests += [ libsystemd], [threads]], - [['src/libsystemd/sd-device/test-udev-device-thread.c'], + [['src/libudev/test-udev-device-thread.c'], [libbasic, libshared_static, libudev], - [threads], - '', '', [], libudev_includes], + [threads]], [['src/libsystemd/sd-device/test-sd-device-monitor.c'], [], From 772e0a76f34914f6f81205e912e4744c6b23f704 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Fri, 1 Jan 2021 05:22:23 +0900 Subject: [PATCH 09/45] test: rewrite test-sd-device-thread.c to depend only on libsystemd Similarly, this makes test-udev-device-thread.c depend only on libudev. --- .../sd-device/test-sd-device-thread.c | 31 +++++++++++----- src/libudev/test-udev-device-thread.c | 35 ++++++++++++++----- src/test/meson.build | 8 ++--- 3 files changed, 51 insertions(+), 23 deletions(-) diff --git a/src/libsystemd/sd-device/test-sd-device-thread.c b/src/libsystemd/sd-device/test-sd-device-thread.c index 6f3015515b..763e98c114 100644 --- a/src/libsystemd/sd-device/test-sd-device-thread.c +++ b/src/libsystemd/sd-device/test-sd-device-thread.c @@ -1,19 +1,25 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include #include -#include #include #include #include "sd-device.h" #include "device-util.h" -#include "macro.h" + +#define handle_error_errno(error, msg) \ + ({ \ + errno = abs(error); \ + perror(msg); \ + EXIT_FAILURE; \ + }) static void* thread(void *p) { sd_device **d = p; - assert_se(!(*d = sd_device_unref(*d))); + *d = sd_device_unref(*d); return NULL; } @@ -22,18 +28,27 @@ int main(int argc, char *argv[]) { sd_device *loopback; pthread_t t; const char *key, *value; + int r; - assert_se(unsetenv("SYSTEMD_MEMPOOL") == 0); + unsetenv("SYSTEMD_MEMPOOL"); - assert_se(sd_device_new_from_syspath(&loopback, "/sys/class/net/lo") >= 0); + r = sd_device_new_from_syspath(&loopback, "/sys/class/net/lo"); + if (r < 0) + return handle_error_errno(r, "Failed to create loopback device object"); FOREACH_DEVICE_PROPERTY(loopback, key, value) printf("%s=%s\n", key, value); - assert_se(pthread_create(&t, NULL, thread, &loopback) == 0); - assert_se(pthread_join(t, NULL) == 0); + r = pthread_create(&t, NULL, thread, &loopback); + if (r != 0) + return handle_error_errno(r, "Failed to create thread"); - assert_se(!loopback); + r = pthread_join(t, NULL); + if (r != 0) + return handle_error_errno(r, "Failed to wait thread finished"); + + if (loopback) + return handle_error_errno(r, "loopback device is not unref()ed"); return 0; } diff --git a/src/libudev/test-udev-device-thread.c b/src/libudev/test-udev-device-thread.c index a493152d4a..3f0341a698 100644 --- a/src/libudev/test-udev-device-thread.c +++ b/src/libudev/test-udev-device-thread.c @@ -1,36 +1,53 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ +#include #include -#include #include #include #include "libudev.h" -#include "macro.h" +#define handle_error_errno(error, msg) \ + ({ \ + errno = abs(error); \ + perror(msg); \ + EXIT_FAILURE; \ + }) static void* thread(void *p) { struct udev_device **d = p; - assert_se(!(*d = udev_device_unref(*d))); + *d = udev_device_unref(*d); return NULL; } int main(int argc, char *argv[]) { struct udev_device *loopback; + struct udev_list_entry *entry, *e; pthread_t t; + int r; - assert_se(unsetenv("SYSTEMD_MEMPOOL") == 0); + unsetenv("SYSTEMD_MEMPOOL"); - assert_se(loopback = udev_device_new_from_syspath(NULL, "/sys/class/net/lo")); + loopback = udev_device_new_from_syspath(NULL, "/sys/class/net/lo"); + if (!loopback) + return handle_error_errno(errno, "Failed to create loopback device object"); - assert_se(udev_device_get_properties_list_entry(loopback)); + entry = udev_device_get_properties_list_entry(loopback); + udev_list_entry_foreach(e, entry) + printf("%s=%s\n", udev_list_entry_get_name(e), udev_list_entry_get_value(e)); - assert_se(pthread_create(&t, NULL, thread, &loopback) == 0); - assert_se(pthread_join(t, NULL) == 0); + r = pthread_create(&t, NULL, thread, &loopback); + if (r != 0) + return handle_error_errno(r, "Failed to create thread"); - assert_se(!loopback); + r = pthread_join(t, NULL); + if (r != 0) + return handle_error_errno(r, "Failed to wait thread finished"); + + if (loopback) + return handle_error_errno(r, "loopback device is not unref()ed"); return 0; } diff --git a/src/test/meson.build b/src/test/meson.build index 5db699db81..5d185eb77f 100644 --- a/src/test/meson.build +++ b/src/test/meson.build @@ -1042,15 +1042,11 @@ tests += [ []], [['src/libsystemd/sd-device/test-sd-device-thread.c'], - [libbasic, - libshared_static, - libsystemd], + [libsystemd], [threads]], [['src/libudev/test-udev-device-thread.c'], - [libbasic, - libshared_static, - libudev], + [libudev], [threads]], [['src/libsystemd/sd-device/test-sd-device-monitor.c'], From bac11cd667cca5545ab90e472dff77baf68d8e0b Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Fri, 1 Jan 2021 05:38:06 +0900 Subject: [PATCH 10/45] core: move several source files to src/shared As, the files are used by many executables, fstab-generator, remount-fs, machine-id-setup, and etc. With this change, the total size of the relevant executables and libshared slightly decreases. Before: ``` $ ll systemd-fstab-generator systemd-remount-fs systemd-machine-id-setup systemd-shutdown systemd-nspawn systemd src/shared/libsystemd-shared-247.so -rwxrwxr-x 1 watanabe watanabe 7577800 Jan 5 13:35 src/shared/libsystemd-shared-247.so -rwxrwxr-x 1 watanabe watanabe 4608360 Jan 5 13:35 systemd -rwxrwxr-x 1 watanabe watanabe 117240 Jan 5 13:35 systemd-fstab-generator -rwxrwxr-x 1 watanabe watanabe 61576 Jan 5 13:35 systemd-machine-id-setup -rwxrwxr-x 1 watanabe watanabe 853080 Jan 5 13:35 systemd-nspawn -rwxrwxr-x 1 watanabe watanabe 70600 Jan 5 13:35 systemd-remount-fs -rwxrwxr-x 1 watanabe watanabe 172624 Jan 5 13:35 systemd-shutdown ``` Total: 13461280 After: ``` $ ll systemd-fstab-generator systemd-remount-fs systemd-machine-id-setup systemd-shutdown systemd-nspawn systemd src/shared/libsystemd-shared-247.so -rwxrwxr-x 1 watanabe watanabe 7658336 Jan 5 13:32 src/shared/libsystemd-shared-247.so -rwxrwxr-x 1 watanabe watanabe 4523560 Jan 5 13:32 systemd -rwxrwxr-x 1 watanabe watanabe 78288 Jan 5 13:32 systemd-fstab-generator -rwxrwxr-x 1 watanabe watanabe 30984 Jan 5 13:32 systemd-machine-id-setup -rwxrwxr-x 1 watanabe watanabe 840384 Jan 5 13:32 systemd-nspawn -rwxrwxr-x 1 watanabe watanabe 39104 Jan 5 13:32 systemd-remount-fs -rwxrwxr-x 1 watanabe watanabe 117160 Jan 5 13:32 systemd-shutdown ``` Total: 13287816 --- meson.build | 15 +++++---------- src/core/meson.build | 21 --------------------- src/{core => shared}/killall.c | 0 src/{core => shared}/killall.h | 0 src/{core => shared}/loopback-setup.c | 0 src/{core => shared}/loopback-setup.h | 0 src/{core => shared}/machine-id-setup.c | 0 src/{core => shared}/machine-id-setup.h | 0 src/shared/meson.build | 8 ++++++++ src/{core => shared}/mount-setup.c | 0 src/{core => shared}/mount-setup.h | 0 src/test/meson.build | 3 +-- 12 files changed, 14 insertions(+), 33 deletions(-) rename src/{core => shared}/killall.c (100%) rename src/{core => shared}/killall.h (100%) rename src/{core => shared}/loopback-setup.c (100%) rename src/{core => shared}/loopback-setup.h (100%) rename src/{core => shared}/machine-id-setup.c (100%) rename src/{core => shared}/machine-id-setup.h (100%) rename src/{core => shared}/mount-setup.c (100%) rename src/{core => shared}/mount-setup.h (100%) diff --git a/meson.build b/meson.build index 4fbcb9533e..80cf510020 100644 --- a/meson.build +++ b/meson.build @@ -1914,8 +1914,7 @@ executable( 'systemd-fstab-generator', 'src/fstab-generator/fstab-generator.c', include_directories : includes, - link_with : [libcore_shared, - libshared], + link_with : [libshared], install_rpath : rootlibexecdir, install : true, install_dir : systemgeneratordir) @@ -2925,8 +2924,7 @@ executable( 'systemd-remount-fs', 'src/remount-fs/remount-fs.c', include_directories : includes, - link_with : [libcore_shared, - libshared], + link_with : [libshared], install_rpath : rootlibexecdir, install : true, install_dir : rootlibexecdir) @@ -2935,8 +2933,7 @@ executable( 'systemd-machine-id-setup', 'src/machine-id-setup/machine-id-setup-main.c', include_directories : includes, - link_with : [libcore_shared, - libshared], + link_with : [libshared], install_rpath : rootlibexecdir, install : true, install_dir : rootbindir) @@ -3287,8 +3284,7 @@ executable( 'systemd-shutdown', systemd_shutdown_sources, include_directories : includes, - link_with : [libcore_shared, - libshared], + link_with : [libshared], dependencies : [libmount], install_rpath : rootlibexecdir, install : true, @@ -3336,8 +3332,7 @@ public_programs += executable( 'systemd-nspawn', systemd_nspawn_sources, include_directories : includes, - link_with : [libcore_shared, - libnspawn_core, + link_with : [libnspawn_core, libshared], dependencies : [libblkid, libseccomp], diff --git a/src/core/meson.build b/src/core/meson.build index 3482bd4472..1aaf7cd929 100644 --- a/src/core/meson.build +++ b/src/core/meson.build @@ -1,16 +1,5 @@ # SPDX-License-Identifier: LGPL-2.1-or-later -libcore_shared_sources = ''' - killall.c - killall.h - loopback-setup.c - loopback-setup.h - machine-id-setup.c - machine-id-setup.h - mount-setup.c - mount-setup.h -'''.split() - libcore_sources = ''' apparmor-setup.c apparmor-setup.h @@ -151,22 +140,12 @@ load_fragment_gperf_nulstr_c = custom_target( command : [awk, '-f', '@INPUT0@', '@INPUT1@'], capture : true) -# A convenience library to share code with other binaries: -# systemd-shutdown, systemd-remount-fs, systemd-machine-id-setup, … -libcore_shared = static_library( - 'core-shared', - libcore_shared_sources, - include_directories : includes, - dependencies : [versiondep, - libmount]) - libcore = static_library( 'core', libcore_sources, load_fragment_gperf_c, load_fragment_gperf_nulstr_c, include_directories : includes, - link_whole : libcore_shared, dependencies : [versiondep, threads, librt, diff --git a/src/core/killall.c b/src/shared/killall.c similarity index 100% rename from src/core/killall.c rename to src/shared/killall.c diff --git a/src/core/killall.h b/src/shared/killall.h similarity index 100% rename from src/core/killall.h rename to src/shared/killall.h diff --git a/src/core/loopback-setup.c b/src/shared/loopback-setup.c similarity index 100% rename from src/core/loopback-setup.c rename to src/shared/loopback-setup.c diff --git a/src/core/loopback-setup.h b/src/shared/loopback-setup.h similarity index 100% rename from src/core/loopback-setup.h rename to src/shared/loopback-setup.h diff --git a/src/core/machine-id-setup.c b/src/shared/machine-id-setup.c similarity index 100% rename from src/core/machine-id-setup.c rename to src/shared/machine-id-setup.c diff --git a/src/core/machine-id-setup.h b/src/shared/machine-id-setup.h similarity index 100% rename from src/core/machine-id-setup.h rename to src/shared/machine-id-setup.h diff --git a/src/shared/meson.build b/src/shared/meson.build index 3032a9efd1..6db9065794 100644 --- a/src/shared/meson.build +++ b/src/shared/meson.build @@ -145,6 +145,8 @@ shared_sources = files(''' json-internal.h json.c json.h + killall.c + killall.h libcrypt-util.c libcrypt-util.h libfido2-util.c @@ -165,6 +167,10 @@ shared_sources = files(''' logs-show.h loop-util.c loop-util.h + loopback-setup.c + loopback-setup.h + machine-id-setup.c + machine-id-setup.h machine-image.c machine-image.h machine-pool.c @@ -175,6 +181,8 @@ shared_sources = files(''' mkfs-util.c mkfs-util.h module-util.h + mount-setup.c + mount-setup.h mount-util.c mount-util.h net-condition.c diff --git a/src/core/mount-setup.c b/src/shared/mount-setup.c similarity index 100% rename from src/core/mount-setup.c rename to src/shared/mount-setup.c diff --git a/src/core/mount-setup.h b/src/shared/mount-setup.h similarity index 100% rename from src/core/mount-setup.h rename to src/shared/mount-setup.h diff --git a/src/test/meson.build b/src/test/meson.build index 5d185eb77f..6ea4599791 100644 --- a/src/test/meson.build +++ b/src/test/meson.build @@ -775,8 +775,7 @@ tests += [ [['src/test/test-umount.c', 'src/shutdown/umount.c', 'src/shutdown/umount.h'], - [libcore_shared, - libshared], + [libshared], [libmount]], [['src/test/test-bus-util.c'], From 9aeec01e7757c13e5de11b592992a2eaedd67e3d Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Fri, 1 Jan 2021 05:39:55 +0900 Subject: [PATCH 11/45] test: move test-umount.c to src/shutdown Then, we can drop src/shutdown from include directories later. --- src/shutdown/meson.build | 8 ++++++++ src/{test => shutdown}/test-umount.c | 0 src/test/meson.build | 6 ------ 3 files changed, 8 insertions(+), 6 deletions(-) rename src/{test => shutdown}/test-umount.c (100%) diff --git a/src/shutdown/meson.build b/src/shutdown/meson.build index ebf0bed242..78169e0ab6 100644 --- a/src/shutdown/meson.build +++ b/src/shutdown/meson.build @@ -3,3 +3,11 @@ systemd_shutdown_sources = files(''' umount.c umount.h '''.split()) + +tests += [ + [['src/shutdown/test-umount.c', + 'src/shutdown/umount.c', + 'src/shutdown/umount.h'], + [libshared], + [libmount]], +] diff --git a/src/test/test-umount.c b/src/shutdown/test-umount.c similarity index 100% rename from src/test/test-umount.c rename to src/shutdown/test-umount.c diff --git a/src/test/meson.build b/src/test/meson.build index 6ea4599791..0f751f487e 100644 --- a/src/test/meson.build +++ b/src/test/meson.build @@ -772,12 +772,6 @@ tests += [ [libdl], 'ENABLE_NSS', 'manual'], - [['src/test/test-umount.c', - 'src/shutdown/umount.c', - 'src/shutdown/umount.h'], - [libshared], - [libmount]], - [['src/test/test-bus-util.c'], [], []], From 5acb3cabd10bf0f635d8ca3a131df641e908d681 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Fri, 1 Jan 2021 06:29:03 +0900 Subject: [PATCH 12/45] meson: make the second and third elements of tests or fuzzers optional Then, we can shorten many test definitions. --- meson.build | 22 +- src/coredump/meson.build | 4 +- src/fuzz/meson.build | 66 ++--- src/import/meson.build | 4 +- src/locale/meson.build | 4 +- src/machine/meson.build | 2 +- src/network/meson.build | 14 +- src/nspawn/meson.build | 2 +- src/oom/meson.build | 4 +- src/resolve/meson.build | 14 +- src/shutdown/meson.build | 2 +- src/test/meson.build | 627 +++++++++++---------------------------- src/timesync/meson.build | 4 +- src/tmpfiles/meson.build | 4 +- src/udev/meson.build | 12 +- 15 files changed, 225 insertions(+), 560 deletions(-) diff --git a/meson.build b/meson.build index 80cf510020..c22aa59cad 100644 --- a/meson.build +++ b/meson.build @@ -3411,13 +3411,13 @@ custom_target( foreach tuple : tests sources = tuple[0] - link_with = tuple[1].length() > 0 ? tuple[1] : [libshared] - dependencies = tuple[2] - condition = tuple.length() >= 4 ? tuple[3] : '' - type = tuple.length() >= 5 ? tuple[4] : '' - defs = tuple.length() >= 6 ? tuple[5] : [] - incs = tuple.length() >= 7 ? tuple[6] : includes - parallel = tuple.length() >= 8 ? tuple[7] : true + link_with = tuple.length() > 1 and tuple[1].length() > 0 ? tuple[1] : [libshared] + dependencies = tuple.length() > 2 ? tuple[2] : [] + incs = tuple.length() > 3 and tuple[3].length() > 0 ? tuple[3] : includes + condition = tuple.length() > 4 ? tuple[4] : '' + type = tuple.length() > 5 ? tuple[5] : '' + defs = tuple.length() > 6 ? tuple[6] : [] + parallel = tuple.length() > 7 ? tuple[7] : true timeout = 30 name = sources[0].split('/')[-1].split('.')[0] @@ -3512,10 +3512,10 @@ fuzzer_exes = [] foreach tuple : fuzzers sources = tuple[0] - link_with = tuple[1].length() > 0 ? tuple[1] : [libshared] - dependencies = tuple[2] - defs = tuple.length() >= 4 ? tuple[3] : [] - incs = tuple.length() >= 5 ? tuple[4] : includes + link_with = tuple.length() > 1 and tuple[1].length() > 0 ? tuple[1] : [libshared] + dependencies = tuple.length() > 2 ? tuple[2] : [] + incs = tuple.length() > 3 and tuple[3].length() > 0 ? tuple[3] : includes + defs = tuple.length() > 4 ? tuple[4] : [] link_args = [] if want_ossfuzz diff --git a/src/coredump/meson.build b/src/coredump/meson.build index 2e44556245..cee38365e4 100644 --- a/src/coredump/meson.build +++ b/src/coredump/meson.build @@ -22,7 +22,5 @@ tests += [ [['src/coredump/test-coredump-vacuum.c', 'src/coredump/coredump-vacuum.c', 'src/coredump/coredump-vacuum.h'], - [], - [], - 'ENABLE_COREDUMP', 'manual'], + [], [], [], 'ENABLE_COREDUMP', 'manual'], ] diff --git a/src/fuzz/meson.build b/src/fuzz/meson.build index de6fe482e7..f4508b5140 100644 --- a/src/fuzz/meson.build +++ b/src/fuzz/meson.build @@ -1,14 +1,11 @@ # SPDX-License-Identifier: LGPL-2.1-or-later fuzzers += [ - [['src/fuzz/fuzz-bus-message.c'], - [libshared], - []], + [['src/fuzz/fuzz-bus-message.c']], [['src/fuzz/fuzz-catalog.c'], [libjournal_core, - libshared], - []], + libshared]], [['src/fuzz/fuzz-dns-packet.c', dns_type_headers], @@ -24,18 +21,15 @@ fuzzers += [ 'src/libsystemd-network/dhcp6-internal.h', 'src/systemd/sd-dhcp6-client.h'], [libshared, - libsystemd_network], - []], + libsystemd_network]], [['src/fuzz/fuzz-dhcp-server.c'], [libsystemd_network, - libshared], - []], + libshared]], [['src/fuzz/fuzz-lldp.c'], [libshared, - libsystemd_network], - []], + libsystemd_network]], [['src/fuzz/fuzz-ndisc-rs.c', 'src/libsystemd-network/dhcp-identifier.h', @@ -44,16 +38,11 @@ fuzzers += [ 'src/systemd/sd-dhcp6-client.h', 'src/systemd/sd-ndisc.h'], [libshared, - libsystemd_network], - []], + libsystemd_network]], - [['src/fuzz/fuzz-json.c'], - [libshared], - []], + [['src/fuzz/fuzz-json.c']], - [['src/fuzz/fuzz-varlink.c'], - [libshared], - []], + [['src/fuzz/fuzz-varlink.c']], [['src/fuzz/fuzz-unit-file.c'], [libcore, @@ -98,12 +87,9 @@ fuzzers += [ [['src/fuzz/fuzz-journal-remote.c'], [libsystemd_journal_remote, - libshared], - []], + libshared]], - [['src/fuzz/fuzz-udev-database.c'], - [libshared], - []], + [['src/fuzz/fuzz-udev-database.c']], [['src/fuzz/fuzz-udev-rules.c'], [libudevd_core, @@ -111,21 +97,13 @@ fuzzers += [ [threads, libacl]], - [['src/fuzz/fuzz-compress.c'], - [libshared], - []], + [['src/fuzz/fuzz-compress.c']], - [['src/fuzz/fuzz-bus-label.c'], - [libshared], - []], + [['src/fuzz/fuzz-bus-label.c']], - [['src/fuzz/fuzz-env-file.c'], - [libshared], - []], + [['src/fuzz/fuzz-env-file.c']], - [['src/fuzz/fuzz-hostname-setup.c'], - [libshared], - []], + [['src/fuzz/fuzz-hostname-setup.c']], [['src/fuzz/fuzz-nspawn-settings.c'], [libshared, @@ -137,21 +115,13 @@ fuzzers += [ libnspawn_core], [libseccomp]], - [['src/fuzz/fuzz-calendarspec.c'], - [libshared], - []], + [['src/fuzz/fuzz-calendarspec.c']], - [['src/fuzz/fuzz-time-util.c'], - [libshared], - []], + [['src/fuzz/fuzz-time-util.c']], [['src/xdg-autostart-generator/fuzz-xdg-desktop.c', 'src/xdg-autostart-generator/xdg-autostart-service.h', - 'src/xdg-autostart-generator/xdg-autostart-service.c'], - [], - []], + 'src/xdg-autostart-generator/xdg-autostart-service.c']], - [['src/fuzz/fuzz-udev-rule-parse-value.c'], - [libshared], - []], + [['src/fuzz/fuzz-udev-rule-parse-value.c']], ] diff --git a/src/import/meson.build b/src/import/meson.build index 2207b8620e..b3bc682b0b 100644 --- a/src/import/meson.build +++ b/src/import/meson.build @@ -73,7 +73,7 @@ tests += [ [['src/import/test-qcow2.c', 'src/import/qcow2-util.c', 'src/import/qcow2-util.h'], - [libshared], + [], [libz], - 'HAVE_ZLIB', 'manual'], + [], 'HAVE_ZLIB', 'manual'], ] diff --git a/src/locale/meson.build b/src/locale/meson.build index 6e3500d099..4cbf2d278c 100644 --- a/src/locale/meson.build +++ b/src/locale/meson.build @@ -32,7 +32,5 @@ endif tests += [ [['src/locale/test-keymap-util.c', 'src/locale/keymap-util.c', - 'src/locale/keymap-util.h'], - [libshared], - []], + 'src/locale/keymap-util.h']], ] diff --git a/src/machine/meson.build b/src/machine/meson.build index ebbd46d4f2..ac13690397 100644 --- a/src/machine/meson.build +++ b/src/machine/meson.build @@ -40,5 +40,5 @@ tests += [ [libmachine_core, libshared], [threads], - 'ENABLE_MACHINED'], + [], 'ENABLE_MACHINED'], ] diff --git a/src/network/meson.build b/src/network/meson.build index 801fcb81e1..063ed0d901 100644 --- a/src/network/meson.build +++ b/src/network/meson.build @@ -246,7 +246,6 @@ if conf.get('ENABLE_NETWORKD') == 1 libsystemd_network, networkd_link_with], [threads], - [], network_include_dir], [['src/network/fuzz-network-parser.c', @@ -255,7 +254,6 @@ if conf.get('ENABLE_NETWORKD') == 1 libsystemd_network, networkd_link_with], [threads], - [], network_include_dir], ] @@ -263,14 +261,15 @@ if conf.get('ENABLE_NETWORKD') == 1 [['src/network/test-networkd-conf.c'], [libnetworkd_core, libsystemd_network], - [], '', '', [], network_include_dir], + [], + network_include_dir], [['src/network/test-network.c'], [libnetworkd_core, libsystemd_network, networkd_link_with], [threads], - '', '', [], network_include_dir], + network_include_dir], [['src/network/test-network-tables.c', test_tables_h], @@ -278,13 +277,10 @@ if conf.get('ENABLE_NETWORKD') == 1 libsystemd_network, networkd_link_with], [threads], - '', '', [], - [network_include_dir]], + network_include_dir], [['src/network/generator/test-network-generator.c', 'src/network/generator/network-generator.c', - 'src/network/generator/network-generator.h'], - [networkd_link_with], - [], '', '', [], network_include_dir], + 'src/network/generator/network-generator.h']], ] endif diff --git a/src/nspawn/meson.build b/src/nspawn/meson.build index 539ed56c36..6206a2c08a 100644 --- a/src/nspawn/meson.build +++ b/src/nspawn/meson.build @@ -56,5 +56,5 @@ tests += [ [libnspawn_core, libshared], [libacl], - '', 'manual'], + [], '', 'manual'], ] diff --git a/src/oom/meson.build b/src/oom/meson.build index a32c366237..1cb66bc477 100644 --- a/src/oom/meson.build +++ b/src/oom/meson.build @@ -18,9 +18,7 @@ if conf.get('ENABLE_OOMD') == 1 tests += [ [['src/oom/test-oomd-util.c', 'src/oom/oomd-util.c', - 'src/oom/oomd-util.h'], - [], - []] + 'src/oom/oomd-util.h']], ] install_data('org.freedesktop.oom1.conf', diff --git a/src/resolve/meson.build b/src/resolve/meson.build index d4cb5812a3..5fc921716f 100644 --- a/src/resolve/meson.build +++ b/src/resolve/meson.build @@ -187,7 +187,7 @@ tests += [ [libgcrypt, libgpg_error, libm], - 'ENABLE_RESOLVE'], + [], 'ENABLE_RESOLVE'], [['src/resolve/test-dns-packet.c', dns_type_headers], @@ -196,7 +196,7 @@ tests += [ [libgcrypt, libgpg_error, libm], - 'ENABLE_RESOLVE'], + [], 'ENABLE_RESOLVE'], [['src/resolve/test-resolved-etc-hosts.c', 'src/resolve/resolved-etc-hosts.c', @@ -206,7 +206,7 @@ tests += [ [libgcrypt, libgpg_error, libm], - 'ENABLE_RESOLVE'], + [], 'ENABLE_RESOLVE'], [['src/resolve/test-resolved-packet.c', dns_type_headers], @@ -215,7 +215,7 @@ tests += [ [libgcrypt, libgpg_error, libm], - 'ENABLE_RESOLVE'], + [], 'ENABLE_RESOLVE'], [['src/resolve/test-dnssec.c', dns_type_headers], @@ -224,12 +224,10 @@ tests += [ [libgcrypt, libgpg_error, libm], - 'ENABLE_RESOLVE'], + [], 'ENABLE_RESOLVE'], [['src/resolve/test-dnssec-complex.c', 'src/resolve/dns-type.c', dns_type_headers], - [], - [], - 'ENABLE_RESOLVE', 'manual'], + [], [], [], 'ENABLE_RESOLVE', 'manual'], ] diff --git a/src/shutdown/meson.build b/src/shutdown/meson.build index 78169e0ab6..a6462529ae 100644 --- a/src/shutdown/meson.build +++ b/src/shutdown/meson.build @@ -8,6 +8,6 @@ tests += [ [['src/shutdown/test-umount.c', 'src/shutdown/umount.c', 'src/shutdown/umount.h'], - [libshared], + [], [libmount]], ] diff --git a/src/test/meson.build b/src/test/meson.build index 0f751f487e..6f74a4a7d4 100644 --- a/src/test/meson.build +++ b/src/test/meson.build @@ -42,9 +42,7 @@ test_dlopen_c = files('test-dlopen.c') ############################################################ tests += [ - [['src/test/test-device-nodes.c'], - [], - []], + [['src/test/test-device-nodes.c']], [['src/test/test-engine.c'], [libcore, @@ -58,17 +56,13 @@ tests += [ [['src/test/test-emergency-action.c'], [libcore, - libshared], - []], + libshared]], [['src/test/test-chown-rec.c'], [libcore, - libshared], - []], + libshared]], - [['src/test/test-dlopen-so.c'], - [libshared], - []], + [['src/test/test-dlopen-so.c']], [['src/test/test-job-type.c'], [libcore, @@ -89,7 +83,7 @@ tests += [ libselinux, libmount, libblkid], - '', 'manual'], + [], '', 'manual'], [['src/test/test-loopback.c'], [libcore, @@ -103,17 +97,12 @@ tests += [ [['src/test/test-dns-domain.c'], [libcore, - libshared], - []], + libshared]], [['src/test/test-boot-timestamps.c'], - [], - [], - 'ENABLE_EFI'], + [], [], [], 'ENABLE_EFI'], - [['src/test/test-unit-file.c'], - [], - []], + [['src/test/test-unit-file.c']], [['src/test/test-unit-name.c'], [libcore, @@ -135,245 +124,135 @@ tests += [ libmount, libblkid]], - [['src/test/test-serialize.c'], - [], - []], + [['src/test/test-serialize.c']], - [['src/test/test-utf8.c'], - [], - []], + [['src/test/test-utf8.c']], - [['src/test/test-dev-setup.c'], - [], - []], + [['src/test/test-dev-setup.c']], [['src/test/test-capability.c'], [], [libcap]], [['src/test/test-async.c'], - [], - [], - '', 'timeout=120'], + [], [], [], '', 'timeout=120'], - [['src/test/test-locale-util.c'], - [], - []], + [['src/test/test-locale-util.c']], - [['src/test/test-copy.c'], - [], - []], + [['src/test/test-copy.c']], - [['src/test/test-static-destruct.c'], - [], - []], + [['src/test/test-static-destruct.c']], - [['src/test/test-sigbus.c'], - [], - []], + [['src/test/test-sigbus.c']], - [['src/test/test-condition.c'], - [], - []], + [['src/test/test-condition.c']], - [['src/test/test-fdset.c'], - [], - []], + [['src/test/test-fdset.c']], - [['src/test/test-fstab-util.c'], - [], - []], + [['src/test/test-fstab-util.c']], - [['src/test/test-random-util.c'], - [], - []], + [['src/test/test-random-util.c']], - [['src/test/test-format-table.c'], - [], - []], + [['src/test/test-format-table.c']], - [['src/test/test-format-util.c'], - [], - []], + [['src/test/test-format-util.c']], - [['src/test/test-ratelimit.c'], - [], - []], + [['src/test/test-ratelimit.c']], - [['src/test/test-util.c'], - [], - []], + [['src/test/test-util.c']], - [['src/test/test-json.c'], - [], - []], + [['src/test/test-json.c']], - [['src/test/test-modhex.c'], - [], - []], + [['src/test/test-modhex.c']], [['src/test/test-libmount.c'], [], [threads, libmount]], - [['src/test/test-mount-util.c'], - [], - []], + [['src/test/test-mount-util.c']], - [['src/test/test-mountpoint-util.c'], - [], - []], + [['src/test/test-mountpoint-util.c']], - [['src/test/test-exec-util.c'], - [], - []], + [['src/test/test-exec-util.c']], - [['src/test/test-hexdecoct.c'], - [], - []], + [['src/test/test-hexdecoct.c']], - [['src/test/test-alloc-util.c'], - [], - []], + [['src/test/test-alloc-util.c']], - [['src/test/test-xattr-util.c'], - [], - []], + [['src/test/test-xattr-util.c']], - [['src/test/test-io-util.c'], - [], - []], + [['src/test/test-io-util.c']], - [['src/test/test-glob-util.c'], - [], - []], + [['src/test/test-glob-util.c']], - [['src/test/test-fs-util.c'], - [], - []], + [['src/test/test-fs-util.c']], - [['src/test/test-umask-util.c'], - [], - []], + [['src/test/test-umask-util.c']], - [['src/test/test-proc-cmdline.c'], - [], - []], + [['src/test/test-proc-cmdline.c']], - [['src/test/test-fd-util.c'], - [], - []], + [['src/test/test-fd-util.c']], - [['src/test/test-web-util.c'], - [], - []], + [['src/test/test-web-util.c']], - [['src/test/test-cpu-set-util.c'], - [], - []], + [['src/test/test-cpu-set-util.c']], - [['src/test/test-stat-util.c'], - [], - []], + [['src/test/test-stat-util.c']], - [['src/test/test-os-util.c'], - [], - []], + [['src/test/test-os-util.c']], [['src/test/test-libcrypt-util.c'], - [], - [], - '', 'timeout=120'], + [], [], [], '', 'timeout=120'], - [['src/test/test-escape.c'], - [], - []], + [['src/test/test-escape.c']], - [['src/test/test-exit-status.c'], - [], - []], + [['src/test/test-exit-status.c']], - [['src/test/test-specifier.c'], - [], - []], + [['src/test/test-specifier.c']], - [['src/test/test-string-util.c'], - [], - []], + [['src/test/test-string-util.c']], - [['src/test/test-extract-word.c'], - [], - []], + [['src/test/test-extract-word.c']], [['src/test/test-parse-util.c'], [], [libseccomp]], - [['src/test/test-sysctl-util.c'], - [], - []], + [['src/test/test-sysctl-util.c']], - [['src/test/test-user-record.c'], - [], - []], + [['src/test/test-user-record.c']], - [['src/test/test-user-util.c'], - [], - []], + [['src/test/test-user-util.c']], - [['src/test/test-hostname-setup.c'], - [], - []], + [['src/test/test-hostname-setup.c']], - [['src/test/test-hostname-util.c'], - [], - []], + [['src/test/test-hostname-util.c']], - [['src/test/test-process-util.c'], - [], - []], + [['src/test/test-process-util.c']], - [['src/test/test-terminal-util.c'], - [], - []], + [['src/test/test-terminal-util.c']], - [['src/test/test-path-lookup.c'], - [], - []], + [['src/test/test-path-lookup.c']], - [['src/test/test-pretty-print.c'], - [], - []], + [['src/test/test-pretty-print.c']], - [['src/test/test-uid-range.c'], - [], - []], + [['src/test/test-uid-range.c']], [['src/test/test-cap-list.c', generated_gperf_headers], [], [libcap]], - [['src/test/test-socket-util.c'], - [], - []], + [['src/test/test-socket-util.c']], - [['src/test/test-socket-netlink.c'], - [], - []], + [['src/test/test-socket-netlink.c']], - [['src/test/test-in-addr-util.c'], - [], - []], + [['src/test/test-in-addr-util.c']], - [['src/test/test-barrier.c'], - [], - []], + [['src/test/test-barrier.c']], - [['src/test/test-tmpfiles.c'], - [], - []], + [['src/test/test-tmpfiles.c']], [['src/test/test-namespace.c'], [libcore, @@ -381,55 +260,36 @@ tests += [ [threads, libblkid]], - [['src/test/test-verbs.c'], - [], - []], + [['src/test/test-verbs.c']], - [['src/test/test-install-root.c'], - [], - []], + [['src/test/test-install-root.c']], [['src/test/test-acl-util.c'], - [], - [], - 'HAVE_ACL'], + [], [], [], 'HAVE_ACL'], [['src/test/test-seccomp.c'], [], [libseccomp], - 'HAVE_SECCOMP'], + [], 'HAVE_SECCOMP'], - [['src/test/test-rlimit-util.c'], - [], - []], + [['src/test/test-rlimit-util.c']], [['src/test/test-ask-password-api.c'], - [], - [], - '', 'manual'], + [], [], [], '', 'manual'], - [['src/test/test-signal-util.c'], - [], - []], + [['src/test/test-signal-util.c']], [['src/test/test-loop-block.c'], [libcore, libshared], [threads, libblkid], - '', - '', - [], - includes, - false], + [], '', '', [], false], - [['src/test/test-selinux.c'], - [], - []], + [['src/test/test-selinux.c']], [['src/test/test-sizeof.c'], - [libbasic], - []], + [libbasic]], [['src/test/test-bpf-devices.c'], [libcore, @@ -464,41 +324,26 @@ tests += [ [['src/test/test-hashmap.c', 'src/test/test-hashmap-plain.c', test_hashmap_ordered_c], - [], - [], - '', 'timeout=90'], + [], [], [], '', 'timeout=90'], [['src/test/test-set.c'], - [libbasic], - []], + [libbasic]], - [['src/test/test-ordered-set.c'], - [], - []], + [['src/test/test-ordered-set.c']], [['src/test/test-set-disable-mempool.c'], [], [threads]], - [['src/test/test-bitmap.c'], - [], - []], + [['src/test/test-bitmap.c']], - [['src/test/test-xml.c'], - [], - []], + [['src/test/test-xml.c']], - [['src/test/test-list.c'], - [], - []], + [['src/test/test-list.c']], - [['src/test/test-procfs-util.c'], - [], - []], + [['src/test/test-procfs-util.c']], - [['src/test/test-unaligned.c'], - [], - []], + [['src/test/test-unaligned.c']], [['src/test/test-tables.c', 'src/shared/test-tables.h', @@ -514,97 +359,58 @@ tests += [ libxz, liblz4, libblkid], - '', '', [], libudevd_core_includes], + libudevd_core_includes], - [['src/test/test-prioq.c'], - [], - []], + [['src/test/test-prioq.c']], - [['src/test/test-fileio.c'], - [], - []], + [['src/test/test-fileio.c']], - [['src/test/test-time-util.c'], - [], - []], + [['src/test/test-time-util.c']], - [['src/test/test-clock.c'], - [], - []], + [['src/test/test-clock.c']], - [['src/test/test-architecture.c'], - [], - []], + [['src/test/test-architecture.c']], - [['src/test/test-log.c'], - [], - []], + [['src/test/test-log.c']], [['src/test/test-ipcrm.c'], - [], - [], - '', 'unsafe'], + [], [], [], '', 'unsafe'], [['src/test/test-btrfs.c'], - [], - [], - '', 'manual'], + [], [], [], '', 'manual'], - - [['src/test/test-firewall-util.c'], - [libshared], - []], + [['src/test/test-firewall-util.c']], [['src/test/test-netlink-manual.c'], [], [libkmod], - 'HAVE_KMOD', 'manual'], + [], 'HAVE_KMOD', 'manual'], - [['src/test/test-ellipsize.c'], - [], - []], + [['src/test/test-ellipsize.c']], - [['src/test/test-date.c'], - [], - []], + [['src/test/test-date.c']], - [['src/test/test-sleep.c'], - [], - []], + [['src/test/test-sleep.c']], - [['src/test/test-replace-var.c'], - [], - []], + [['src/test/test-replace-var.c']], - [['src/test/test-calendarspec.c'], - [], - []], + [['src/test/test-calendarspec.c']], - [['src/test/test-strip-tab-ansi.c'], - [], - []], + [['src/test/test-strip-tab-ansi.c']], - [['src/test/test-coredump-util.c'], - [], - []], + [['src/test/test-coredump-util.c']], - [['src/test/test-daemon.c'], - [], - []], + [['src/test/test-daemon.c']], - [['src/test/test-cgroup.c'], - [], - []], + [['src/test/test-cgroup.c']], [['src/test/test-cgroup-cpu.c'], [libcore, - libshared], - []], + libshared]], [['src/test/test-cgroup-unit-default.c'], [libcore, - libshared], - []], + libshared]], [['src/test/test-cgroup-mask.c'], [libcore, @@ -620,42 +426,24 @@ tests += [ [], [threads]], - [['src/test/test-cgroup-util.c'], - [], - []], + [['src/test/test-cgroup-util.c']], - [['src/test/test-cgroup-setup.c'], - [], - []], + [['src/test/test-cgroup-setup.c']], - [['src/test/test-env-file.c'], - [], - []], + [['src/test/test-env-file.c']], - [['src/test/test-env-util.c'], - [], - []], + [['src/test/test-env-util.c']], - [['src/test/test-strbuf.c'], - [], - []], + [['src/test/test-strbuf.c']], - [['src/test/test-strv.c'], - [], - []], + [['src/test/test-strv.c']], - [['src/test/test-path-util.c'], - [], - []], + [['src/test/test-path-util.c']], - [['src/test/test-rm-rf.c'], - [], - []], + [['src/test/test-rm-rf.c']], [['src/test/test-chase-symlinks.c'], - [], - [], - '', 'manual'], + [], [], [], '', 'manual'], [['src/test/test-path.c'], [libcore, @@ -666,7 +454,7 @@ tests += [ libselinux, libmount, libblkid], - '', 'timeout=120'], + [], '', 'timeout=120'], [['src/test/test-execute.c'], [libcore, @@ -677,25 +465,18 @@ tests += [ libselinux, libmount, libblkid], - '', 'timeout=360'], + [], '', 'timeout=360'], - [['src/test/test-siphash24.c'], - [], - []], + [['src/test/test-siphash24.c']], - [['src/test/test-strxcpyx.c'], - [], - []], + [['src/test/test-strxcpyx.c']], [['src/test/test-install.c'], [libcore, libshared], - [], - '', 'manual'], + [], [], '', 'manual'], - [['src/test/test-watchdog.c'], - [], - []], + [['src/test/test-watchdog.c']], [['src/test/test-sched-prio.c'], [libcore, @@ -707,37 +488,24 @@ tests += [ libmount, libblkid]], - [['src/test/test-conf-files.c'], - [], - []], + [['src/test/test-conf-files.c']], - [['src/test/test-conf-parser.c'], - [], - []], + [['src/test/test-conf-parser.c']], [['src/test/test-af-list.c', - generated_gperf_headers], - [], - []], + generated_gperf_headers]], [['src/test/test-arphrd-list.c', - generated_gperf_headers], - [], - []], + generated_gperf_headers]], [['src/test/test-ip-protocol-list.c', - shared_generated_gperf_headers], - [], - []], + shared_generated_gperf_headers]], - [['src/test/test-journal-importer.c'], - [], - []], + [['src/test/test-journal-importer.c']], [['src/libudev/test-libudev.c'], [libshared, - libudev_static], - []], + libudev_static]], [['src/test/test-udev.c'], [libudevd_core, @@ -748,52 +516,34 @@ tests += [ libkmod, libacl, libselinux], - '', 'manual', '-DLOG_REALM=LOG_REALM_UDEV'], + [], '', 'manual', '-DLOG_REALM=LOG_REALM_UDEV'], - [['src/test/test-udev-util.c'], - [], - []], + [['src/test/test-udev-util.c']], - [['src/test/test-id128.c'], - [], - []], + [['src/test/test-id128.c']], - [['src/test/test-hash.c'], - [], - []], + [['src/test/test-hash.c']], [['src/test/test-gcrypt-util.c'], - [], - [], - 'HAVE_GCRYPT'], + [], [], [], 'HAVE_GCRYPT'], [['src/test/test-nss.c'], [], [libdl], - 'ENABLE_NSS', 'manual'], + [], 'ENABLE_NSS', 'manual'], - [['src/test/test-bus-util.c'], - [], - []], + [['src/test/test-bus-util.c']], - [['src/test/test-sd-hwdb.c'], - [], - []], + [['src/test/test-sd-hwdb.c']], - [['src/test/test-sd-path.c'], - [], - []], + [['src/test/test-sd-path.c']], - [['src/test/test-local-addresses.c'], - [], - []], + [['src/test/test-local-addresses.c']], - [['src/test/test-psi-util.c'], - [], - []], + [['src/test/test-psi-util.c']], [['src/test/test-qrcode-util.c'], - [libshared], + [], [libdl]], ] @@ -808,7 +558,7 @@ if conf.get('ENABLE_NSCD') == 1 libselinux, libmount, libblkid], - '', 'manual']] + [], '', 'manual']] endif ############################################################ @@ -851,7 +601,7 @@ tests += [ [threads, libxz, liblz4], - '', 'timeout=360'], + [], '', 'timeout=360'], [['src/libsystemd/sd-journal/test-journal-stream.c'], [libjournal_core, @@ -922,7 +672,7 @@ tests += [ [liblz4, libzstd, libxz], - '', 'timeout=90'], + [], '', 'timeout=90'], [['src/libsystemd/sd-journal/test-audit-type.c'], [libjournal_core, @@ -956,7 +706,8 @@ tests += [ [['src/libsystemd/sd-bus/test-bus-watch-bind.c'], [], - [threads], '', 'timeout=120'], + [threads], + [], '', 'timeout=120'], [['src/libsystemd/sd-bus/test-bus-chat.c'], [], @@ -985,9 +736,7 @@ tests += [ [threads]], [['src/libsystemd/sd-bus/test-bus-vtable.c', - 'src/libsystemd/sd-bus/test-vtable-data.h'], - [], - []], + 'src/libsystemd/sd-bus/test-vtable-data.h']], [['src/libsystemd/sd-bus/test-bus-gvariant.c'], [], @@ -995,44 +744,30 @@ tests += [ libgobject, libgio]], - [['src/libsystemd/sd-bus/test-bus-creds.c'], - [], - []], + [['src/libsystemd/sd-bus/test-bus-creds.c']], - [['src/libsystemd/sd-bus/test-bus-match.c'], - [], - []], + [['src/libsystemd/sd-bus/test-bus-match.c']], [['src/libsystemd/sd-bus/test-bus-benchmark.c'], [], [threads], - '', 'manual'], + [], '', 'manual'], [['src/libsystemd/sd-bus/test-bus-introspect.c', - 'src/libsystemd/sd-bus/test-vtable-data.h'], - [], - []], + 'src/libsystemd/sd-bus/test-vtable-data.h']], - [['src/libsystemd/sd-event/test-event.c'], - [], - []], + [['src/libsystemd/sd-event/test-event.c']], - [['src/libsystemd/sd-netlink/test-netlink.c'], - [], - []], + [['src/libsystemd/sd-netlink/test-netlink.c']], [['src/libsystemd/sd-resolve/test-resolve.c'], [], [threads], - '', 'timeout=120'], + [], '', 'timeout=120'], - [['src/libsystemd/sd-login/test-login.c'], - [], - []], + [['src/libsystemd/sd-login/test-login.c']], - [['src/libsystemd/sd-device/test-sd-device.c'], - [], - []], + [['src/libsystemd/sd-device/test-sd-device.c']], [['src/libsystemd/sd-device/test-sd-device-thread.c'], [libsystemd], @@ -1042,17 +777,12 @@ tests += [ [libudev], [threads]], - [['src/libsystemd/sd-device/test-sd-device-monitor.c'], - [], - []], - + [['src/libsystemd/sd-device/test-sd-device-monitor.c']], ] if cxx_cmd != '' tests += [ - [['src/libsystemd/sd-bus/test-bus-vtable-cc.cc'], - [], - []] + [['src/libsystemd/sd-bus/test-bus-vtable-cc.cc']], ] endif @@ -1063,48 +793,41 @@ tests += [ 'src/libsystemd-network/dhcp-protocol.h', 'src/libsystemd-network/dhcp-internal.h'], [libshared, - libsystemd_network], - []], + libsystemd_network]], [['src/libsystemd-network/test-sd-dhcp-lease.c', 'src/libsystemd-network/dhcp-lease-internal.h'], [libshared, - libsystemd_network], - []], + libsystemd_network]], [['src/libsystemd-network/test-dhcp-client.c', 'src/libsystemd-network/dhcp-protocol.h', 'src/libsystemd-network/dhcp-internal.h', 'src/systemd/sd-dhcp-client.h'], [libshared, - libsystemd_network], - []], + libsystemd_network]], [['src/libsystemd-network/test-dhcp-server.c'], [libshared, - libsystemd_network], - []], + libsystemd_network]], [['src/libsystemd-network/test-ipv4ll.c', 'src/libsystemd-network/arp-util.h', 'src/systemd/sd-ipv4ll.h'], [libshared, - libsystemd_network], - []], + libsystemd_network]], [['src/libsystemd-network/test-ipv4ll-manual.c', 'src/systemd/sd-ipv4ll.h'], [libshared, libsystemd_network], - [], - '', 'manual'], + [], [], '', 'manual'], [['src/libsystemd-network/test-acd.c', 'src/systemd/sd-ipv4acd.h'], [libshared, libsystemd_network], - [], - '', 'manual'], + [], [], '', 'manual'], [['src/libsystemd-network/test-ndisc-rs.c', 'src/libsystemd-network/dhcp-identifier.h', @@ -1113,15 +836,13 @@ tests += [ 'src/systemd/sd-dhcp6-client.h', 'src/systemd/sd-ndisc.h'], [libshared, - libsystemd_network], - []], + libsystemd_network]], [['src/libsystemd-network/test-ndisc-ra.c', 'src/libsystemd-network/icmp6-util.h', 'src/systemd/sd-ndisc.h'], [libshared, - libsystemd_network], - []], + libsystemd_network]], [['src/libsystemd-network/test-dhcp6-client.c', 'src/libsystemd-network/dhcp-identifier.h', @@ -1129,30 +850,24 @@ tests += [ 'src/libsystemd-network/dhcp6-internal.h', 'src/systemd/sd-dhcp6-client.h'], [libshared, - libsystemd_network], - []], + libsystemd_network]], [['src/libsystemd-network/test-lldp.c'], [libshared, - libsystemd_network], - []], + libsystemd_network]], ] ############################################################ tests += [ - [['src/login/test-login-shared.c'], - [], - []], + [['src/login/test-login-shared.c']], [['src/analyze/test-verify.c', 'src/analyze/analyze-verify.c', 'src/analyze/analyze-verify.h'], - [libcore, libshared], - []], + [libcore, + libshared]], [['src/login/test-inhibit.c'], - [], - [], - '', 'manual'], + [], [], [], '', 'manual'], [['src/login/test-login-tables.c'], [liblogind_core, @@ -1165,7 +880,5 @@ tests += [ tests += [ [['src/xdg-autostart-generator/test-xdg-autostart.c', 'src/xdg-autostart-generator/xdg-autostart-service.c', - 'src/xdg-autostart-generator/xdg-autostart-service.h',], - [], - []], + 'src/xdg-autostart-generator/xdg-autostart-service.h']], ] diff --git a/src/timesync/meson.build b/src/timesync/meson.build index 91e7cacfc5..6b486cd1c4 100644 --- a/src/timesync/meson.build +++ b/src/timesync/meson.build @@ -49,7 +49,7 @@ tests += [ 'src/timesync/timesyncd-server.c', 'src/timesync/timesyncd-server.h', timesyncd_gperf_c], - [libshared], + [], [libm], - 'ENABLE_TIMESYNCD'], + [], 'ENABLE_TIMESYNCD'], ] diff --git a/src/tmpfiles/meson.build b/src/tmpfiles/meson.build index a372bcded0..c72b386cda 100644 --- a/src/tmpfiles/meson.build +++ b/src/tmpfiles/meson.build @@ -8,7 +8,5 @@ systemd_tmpfiles_sources = files( tests += [ [['src/tmpfiles/test-offline-passwd.c', 'src/tmpfiles/offline-passwd.c', - 'src/tmpfiles/offline-passwd.h'], - [], - []], + 'src/tmpfiles/offline-passwd.h']], ] diff --git a/src/udev/meson.build b/src/udev/meson.build index 00e7329361..fb510cf9b1 100644 --- a/src/udev/meson.build +++ b/src/udev/meson.build @@ -226,14 +226,10 @@ fuzzers += [ libacl]], [['src/udev/fido_id/fuzz-fido-id-desc.c', - 'src/udev/fido_id/fido_id_desc.c'], - [], - []], - ] + 'src/udev/fido_id/fido_id_desc.c']], +] tests += [ [['src/udev/fido_id/test-fido-id-desc.c', - 'src/udev/fido_id/fido_id_desc.c'], - [], - []], - ] + 'src/udev/fido_id/fido_id_desc.c']], +] From c5abccfa58f468da203deda740cf84a6b62b2b6c Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Fri, 1 Jan 2021 06:46:05 +0900 Subject: [PATCH 13/45] meson: fix indentation --- src/coredump/meson.build | 5 +++-- src/journal-remote/meson.build | 7 +++---- src/shared/meson.build | 7 +++---- src/systemd/meson.build | 1 - 4 files changed, 9 insertions(+), 11 deletions(-) diff --git a/src/coredump/meson.build b/src/coredump/meson.build index cee38365e4..c63760d4a9 100644 --- a/src/coredump/meson.build +++ b/src/coredump/meson.build @@ -7,8 +7,9 @@ systemd_coredump_sources = files(''' '''.split()) if conf.get('HAVE_ELFUTILS') == 1 - systemd_coredump_sources += files(['stacktrace.c', - 'stacktrace.h']) + systemd_coredump_sources += files( + 'stacktrace.c', + 'stacktrace.h') endif coredumpctl_sources = files('coredumpctl.c') diff --git a/src/journal-remote/meson.build b/src/journal-remote/meson.build index 940cef3040..67828c95fe 100644 --- a/src/journal-remote/meson.build +++ b/src/journal-remote/meson.build @@ -16,10 +16,9 @@ libsystemd_journal_remote_sources = files(''' '''.split()) if conf.get('HAVE_MICROHTTPD') == 1 - libsystemd_journal_remote_sources += files(''' - microhttpd-util.h - microhttpd-util.c -'''.split()) + libsystemd_journal_remote_sources += files( + 'microhttpd-util.h', + 'microhttpd-util.c') endif libsystemd_journal_remote = static_library( diff --git a/src/shared/meson.build b/src/shared/meson.build index 6db9065794..62270d9fd1 100644 --- a/src/shared/meson.build +++ b/src/shared/meson.build @@ -323,10 +323,9 @@ if conf.get('HAVE_KMOD') == 1 endif if conf.get('HAVE_PAM') == 1 - shared_sources += files(''' - pam-util.c - pam-util.h -'''.split()) + shared_sources += files( + 'pam-util.c', + 'pam-util.h') endif if conf.get('ENABLE_NSCD') == 1 diff --git a/src/systemd/meson.build b/src/systemd/meson.build index 3d328e5fd3..e01281f454 100644 --- a/src/systemd/meson.build +++ b/src/systemd/meson.build @@ -42,7 +42,6 @@ install_headers( '_sd-common.h', subdir : 'systemd') - ############################################################ opts = [['c'], From 09f7c7c6687a6d0c939e7e54a433e0bab63292f8 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Fri, 1 Jan 2021 07:28:58 +0900 Subject: [PATCH 14/45] fuzzers: move several fuzzers --- src/{fuzz => core}/fuzz-unit-file.c | 0 src/{fuzz => core}/fuzz-unit-file.options | 0 src/fuzz/meson.build | 55 ++++++++----------- .../fuzz-journal-remote.c | 0 .../fuzz-journal-remote.options | 0 src/{fuzz => journal}/fuzz-journald-audit.c | 0 src/{fuzz => journal}/fuzz-journald-kmsg.c | 0 .../fuzz-journald-native-fd.c | 0 src/{fuzz => journal}/fuzz-journald-native.c | 0 src/{fuzz => journal}/fuzz-journald-stream.c | 0 .../fuzz-journald-stream.options | 0 src/{fuzz => journal}/fuzz-journald-syslog.c | 0 src/{fuzz => journal}/fuzz-journald.c | 0 src/{fuzz => journal}/fuzz-journald.h | 0 .../fuzz-dhcp-server.c | 0 .../fuzz-dhcp-server.options | 0 .../fuzz-dhcp6-client.c | 0 .../fuzz-dhcp6-client.options | 0 src/{fuzz => libsystemd-network}/fuzz-lldp.c | 0 .../fuzz-lldp.options | 0 .../fuzz-ndisc-rs.c | 0 .../fuzz-ndisc-rs.options | 0 src/{fuzz => nspawn}/fuzz-nspawn-oci.c | 0 src/{fuzz => nspawn}/fuzz-nspawn-oci.options | 0 src/{fuzz => nspawn}/fuzz-nspawn-settings.c | 0 .../fuzz-nspawn-settings.options | 0 src/{fuzz => resolve}/fuzz-dns-packet.c | 0 src/{fuzz => resolve}/fuzz-dns-packet.options | 0 .../fuzz-udev-rule-parse-value.c | 0 src/{fuzz => udev}/fuzz-udev-rules.c | 0 src/{fuzz => udev}/fuzz-udev-rules.options | 0 31 files changed, 23 insertions(+), 32 deletions(-) rename src/{fuzz => core}/fuzz-unit-file.c (100%) rename src/{fuzz => core}/fuzz-unit-file.options (100%) rename src/{fuzz => journal-remote}/fuzz-journal-remote.c (100%) rename src/{fuzz => journal-remote}/fuzz-journal-remote.options (100%) rename src/{fuzz => journal}/fuzz-journald-audit.c (100%) rename src/{fuzz => journal}/fuzz-journald-kmsg.c (100%) rename src/{fuzz => journal}/fuzz-journald-native-fd.c (100%) rename src/{fuzz => journal}/fuzz-journald-native.c (100%) rename src/{fuzz => journal}/fuzz-journald-stream.c (100%) rename src/{fuzz => journal}/fuzz-journald-stream.options (100%) rename src/{fuzz => journal}/fuzz-journald-syslog.c (100%) rename src/{fuzz => journal}/fuzz-journald.c (100%) rename src/{fuzz => journal}/fuzz-journald.h (100%) rename src/{fuzz => libsystemd-network}/fuzz-dhcp-server.c (100%) rename src/{fuzz => libsystemd-network}/fuzz-dhcp-server.options (100%) rename src/{fuzz => libsystemd-network}/fuzz-dhcp6-client.c (100%) rename src/{fuzz => libsystemd-network}/fuzz-dhcp6-client.options (100%) rename src/{fuzz => libsystemd-network}/fuzz-lldp.c (100%) rename src/{fuzz => libsystemd-network}/fuzz-lldp.options (100%) rename src/{fuzz => libsystemd-network}/fuzz-ndisc-rs.c (100%) rename src/{fuzz => libsystemd-network}/fuzz-ndisc-rs.options (100%) rename src/{fuzz => nspawn}/fuzz-nspawn-oci.c (100%) rename src/{fuzz => nspawn}/fuzz-nspawn-oci.options (100%) rename src/{fuzz => nspawn}/fuzz-nspawn-settings.c (100%) rename src/{fuzz => nspawn}/fuzz-nspawn-settings.options (100%) rename src/{fuzz => resolve}/fuzz-dns-packet.c (100%) rename src/{fuzz => resolve}/fuzz-dns-packet.options (100%) rename src/{fuzz => udev}/fuzz-udev-rule-parse-value.c (100%) rename src/{fuzz => udev}/fuzz-udev-rules.c (100%) rename src/{fuzz => udev}/fuzz-udev-rules.options (100%) diff --git a/src/fuzz/fuzz-unit-file.c b/src/core/fuzz-unit-file.c similarity index 100% rename from src/fuzz/fuzz-unit-file.c rename to src/core/fuzz-unit-file.c diff --git a/src/fuzz/fuzz-unit-file.options b/src/core/fuzz-unit-file.options similarity index 100% rename from src/fuzz/fuzz-unit-file.options rename to src/core/fuzz-unit-file.options diff --git a/src/fuzz/meson.build b/src/fuzz/meson.build index f4508b5140..36bef1c7af 100644 --- a/src/fuzz/meson.build +++ b/src/fuzz/meson.build @@ -7,7 +7,7 @@ fuzzers += [ [libjournal_core, libshared]], - [['src/fuzz/fuzz-dns-packet.c', + [['src/resolve/fuzz-dns-packet.c', dns_type_headers], [libsystemd_resolve_core, libshared], @@ -15,28 +15,19 @@ fuzzers += [ libgpg_error, libm]], - [['src/fuzz/fuzz-dhcp6-client.c', - 'src/libsystemd-network/dhcp-identifier.h', - 'src/libsystemd-network/dhcp-identifier.c', - 'src/libsystemd-network/dhcp6-internal.h', - 'src/systemd/sd-dhcp6-client.h'], + [['src/libsystemd-network/fuzz-dhcp6-client.c'], [libshared, libsystemd_network]], - [['src/fuzz/fuzz-dhcp-server.c'], + [['src/libsystemd-network/fuzz-dhcp-server.c'], [libsystemd_network, libshared]], - [['src/fuzz/fuzz-lldp.c'], + [['src/libsystemd-network/fuzz-lldp.c'], [libshared, libsystemd_network]], - [['src/fuzz/fuzz-ndisc-rs.c', - 'src/libsystemd-network/dhcp-identifier.h', - 'src/libsystemd-network/dhcp-identifier.c', - 'src/libsystemd-network/icmp6-util.h', - 'src/systemd/sd-dhcp6-client.h', - 'src/systemd/sd-ndisc.h'], + [['src/libsystemd-network/fuzz-ndisc-rs.c'], [libshared, libsystemd_network]], @@ -44,54 +35,54 @@ fuzzers += [ [['src/fuzz/fuzz-varlink.c']], - [['src/fuzz/fuzz-unit-file.c'], + [['src/core/fuzz-unit-file.c'], [libcore, libshared], [libmount]], - [['src/fuzz/fuzz-journald-audit.c', - 'src/fuzz/fuzz-journald.c'], + [['src/journal/fuzz-journald-audit.c', + 'src/journal/fuzz-journald.c'], [libjournal_core, libshared], [libselinux]], - [['src/fuzz/fuzz-journald-kmsg.c', - 'src/fuzz/fuzz-journald.c'], + [['src/journal/fuzz-journald-kmsg.c', + 'src/journal/fuzz-journald.c'], [libjournal_core, libshared], [libselinux]], - [['src/fuzz/fuzz-journald-native.c', - 'src/fuzz/fuzz-journald.c'], + [['src/journal/fuzz-journald-native.c', + 'src/journal/fuzz-journald.c'], [libjournal_core, libshared], [libselinux]], - [['src/fuzz/fuzz-journald-native-fd.c', - 'src/fuzz/fuzz-journald.c'], + [['src/journal/fuzz-journald-native-fd.c', + 'src/journal/fuzz-journald.c'], [libjournal_core, libshared], [libselinux]], - [['src/fuzz/fuzz-journald-stream.c', - 'src/fuzz/fuzz-journald.c'], + [['src/journal/fuzz-journald-stream.c', + 'src/journal/fuzz-journald.c'], [libjournal_core, libshared], [libselinux]], - [['src/fuzz/fuzz-journald-syslog.c', - 'src/fuzz/fuzz-journald.c'], + [['src/journal/fuzz-journald-syslog.c', + 'src/journal/fuzz-journald.c'], [libjournal_core, libshared], [libselinux]], - [['src/fuzz/fuzz-journal-remote.c'], + [['src/journal-remote/fuzz-journal-remote.c'], [libsystemd_journal_remote, libshared]], [['src/fuzz/fuzz-udev-database.c']], - [['src/fuzz/fuzz-udev-rules.c'], + [['src/udev/fuzz-udev-rules.c'], [libudevd_core, libshared], [threads, @@ -105,12 +96,12 @@ fuzzers += [ [['src/fuzz/fuzz-hostname-setup.c']], - [['src/fuzz/fuzz-nspawn-settings.c'], + [['src/nspawn/fuzz-nspawn-settings.c'], [libshared, libnspawn_core], [libseccomp]], - [['src/fuzz/fuzz-nspawn-oci.c'], + [['src/nspawn/fuzz-nspawn-oci.c'], [libshared, libnspawn_core], [libseccomp]], @@ -123,5 +114,5 @@ fuzzers += [ 'src/xdg-autostart-generator/xdg-autostart-service.h', 'src/xdg-autostart-generator/xdg-autostart-service.c']], - [['src/fuzz/fuzz-udev-rule-parse-value.c']], + [['src/udev/fuzz-udev-rule-parse-value.c']], ] diff --git a/src/fuzz/fuzz-journal-remote.c b/src/journal-remote/fuzz-journal-remote.c similarity index 100% rename from src/fuzz/fuzz-journal-remote.c rename to src/journal-remote/fuzz-journal-remote.c diff --git a/src/fuzz/fuzz-journal-remote.options b/src/journal-remote/fuzz-journal-remote.options similarity index 100% rename from src/fuzz/fuzz-journal-remote.options rename to src/journal-remote/fuzz-journal-remote.options diff --git a/src/fuzz/fuzz-journald-audit.c b/src/journal/fuzz-journald-audit.c similarity index 100% rename from src/fuzz/fuzz-journald-audit.c rename to src/journal/fuzz-journald-audit.c diff --git a/src/fuzz/fuzz-journald-kmsg.c b/src/journal/fuzz-journald-kmsg.c similarity index 100% rename from src/fuzz/fuzz-journald-kmsg.c rename to src/journal/fuzz-journald-kmsg.c diff --git a/src/fuzz/fuzz-journald-native-fd.c b/src/journal/fuzz-journald-native-fd.c similarity index 100% rename from src/fuzz/fuzz-journald-native-fd.c rename to src/journal/fuzz-journald-native-fd.c diff --git a/src/fuzz/fuzz-journald-native.c b/src/journal/fuzz-journald-native.c similarity index 100% rename from src/fuzz/fuzz-journald-native.c rename to src/journal/fuzz-journald-native.c diff --git a/src/fuzz/fuzz-journald-stream.c b/src/journal/fuzz-journald-stream.c similarity index 100% rename from src/fuzz/fuzz-journald-stream.c rename to src/journal/fuzz-journald-stream.c diff --git a/src/fuzz/fuzz-journald-stream.options b/src/journal/fuzz-journald-stream.options similarity index 100% rename from src/fuzz/fuzz-journald-stream.options rename to src/journal/fuzz-journald-stream.options diff --git a/src/fuzz/fuzz-journald-syslog.c b/src/journal/fuzz-journald-syslog.c similarity index 100% rename from src/fuzz/fuzz-journald-syslog.c rename to src/journal/fuzz-journald-syslog.c diff --git a/src/fuzz/fuzz-journald.c b/src/journal/fuzz-journald.c similarity index 100% rename from src/fuzz/fuzz-journald.c rename to src/journal/fuzz-journald.c diff --git a/src/fuzz/fuzz-journald.h b/src/journal/fuzz-journald.h similarity index 100% rename from src/fuzz/fuzz-journald.h rename to src/journal/fuzz-journald.h diff --git a/src/fuzz/fuzz-dhcp-server.c b/src/libsystemd-network/fuzz-dhcp-server.c similarity index 100% rename from src/fuzz/fuzz-dhcp-server.c rename to src/libsystemd-network/fuzz-dhcp-server.c diff --git a/src/fuzz/fuzz-dhcp-server.options b/src/libsystemd-network/fuzz-dhcp-server.options similarity index 100% rename from src/fuzz/fuzz-dhcp-server.options rename to src/libsystemd-network/fuzz-dhcp-server.options diff --git a/src/fuzz/fuzz-dhcp6-client.c b/src/libsystemd-network/fuzz-dhcp6-client.c similarity index 100% rename from src/fuzz/fuzz-dhcp6-client.c rename to src/libsystemd-network/fuzz-dhcp6-client.c diff --git a/src/fuzz/fuzz-dhcp6-client.options b/src/libsystemd-network/fuzz-dhcp6-client.options similarity index 100% rename from src/fuzz/fuzz-dhcp6-client.options rename to src/libsystemd-network/fuzz-dhcp6-client.options diff --git a/src/fuzz/fuzz-lldp.c b/src/libsystemd-network/fuzz-lldp.c similarity index 100% rename from src/fuzz/fuzz-lldp.c rename to src/libsystemd-network/fuzz-lldp.c diff --git a/src/fuzz/fuzz-lldp.options b/src/libsystemd-network/fuzz-lldp.options similarity index 100% rename from src/fuzz/fuzz-lldp.options rename to src/libsystemd-network/fuzz-lldp.options diff --git a/src/fuzz/fuzz-ndisc-rs.c b/src/libsystemd-network/fuzz-ndisc-rs.c similarity index 100% rename from src/fuzz/fuzz-ndisc-rs.c rename to src/libsystemd-network/fuzz-ndisc-rs.c diff --git a/src/fuzz/fuzz-ndisc-rs.options b/src/libsystemd-network/fuzz-ndisc-rs.options similarity index 100% rename from src/fuzz/fuzz-ndisc-rs.options rename to src/libsystemd-network/fuzz-ndisc-rs.options diff --git a/src/fuzz/fuzz-nspawn-oci.c b/src/nspawn/fuzz-nspawn-oci.c similarity index 100% rename from src/fuzz/fuzz-nspawn-oci.c rename to src/nspawn/fuzz-nspawn-oci.c diff --git a/src/fuzz/fuzz-nspawn-oci.options b/src/nspawn/fuzz-nspawn-oci.options similarity index 100% rename from src/fuzz/fuzz-nspawn-oci.options rename to src/nspawn/fuzz-nspawn-oci.options diff --git a/src/fuzz/fuzz-nspawn-settings.c b/src/nspawn/fuzz-nspawn-settings.c similarity index 100% rename from src/fuzz/fuzz-nspawn-settings.c rename to src/nspawn/fuzz-nspawn-settings.c diff --git a/src/fuzz/fuzz-nspawn-settings.options b/src/nspawn/fuzz-nspawn-settings.options similarity index 100% rename from src/fuzz/fuzz-nspawn-settings.options rename to src/nspawn/fuzz-nspawn-settings.options diff --git a/src/fuzz/fuzz-dns-packet.c b/src/resolve/fuzz-dns-packet.c similarity index 100% rename from src/fuzz/fuzz-dns-packet.c rename to src/resolve/fuzz-dns-packet.c diff --git a/src/fuzz/fuzz-dns-packet.options b/src/resolve/fuzz-dns-packet.options similarity index 100% rename from src/fuzz/fuzz-dns-packet.options rename to src/resolve/fuzz-dns-packet.options diff --git a/src/fuzz/fuzz-udev-rule-parse-value.c b/src/udev/fuzz-udev-rule-parse-value.c similarity index 100% rename from src/fuzz/fuzz-udev-rule-parse-value.c rename to src/udev/fuzz-udev-rule-parse-value.c diff --git a/src/fuzz/fuzz-udev-rules.c b/src/udev/fuzz-udev-rules.c similarity index 100% rename from src/fuzz/fuzz-udev-rules.c rename to src/udev/fuzz-udev-rules.c diff --git a/src/fuzz/fuzz-udev-rules.options b/src/udev/fuzz-udev-rules.options similarity index 100% rename from src/fuzz/fuzz-udev-rules.options rename to src/udev/fuzz-udev-rules.options From 22eadc289bd534b723457557b16469a2a81d6be8 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Fri, 1 Jan 2021 08:46:06 +0900 Subject: [PATCH 15/45] util: move parse_syscall_and_errno() to seccomp-util.c This makes parse-util.c independent of seccomp-util.c, which is located in src/shared. --- src/basic/parse-util.c | 43 --------------------------------------- src/basic/parse-util.h | 3 --- src/shared/seccomp-util.c | 38 ++++++++++++++++++++++++++++++++++ src/shared/seccomp-util.h | 2 ++ 4 files changed, 40 insertions(+), 46 deletions(-) diff --git a/src/basic/parse-util.c b/src/basic/parse-util.c index 5d4dafe3a5..8ca8f251e1 100644 --- a/src/basic/parse-util.c +++ b/src/basic/parse-util.c @@ -16,9 +16,6 @@ #include "missing_network.h" #include "parse-util.h" #include "process-util.h" -#if HAVE_SECCOMP -#include "seccomp-util.h" -#endif #include "stat-util.h" #include "string-util.h" #include "strv.h" @@ -317,46 +314,6 @@ int parse_errno(const char *t) { return e; } -#if HAVE_SECCOMP -int parse_syscall_and_errno(const char *in, char **name, int *error) { - _cleanup_free_ char *n = NULL; - char *p; - int e = -1; - - assert(in); - assert(name); - assert(error); - - /* - * This parse "syscall:errno" like "uname:EILSEQ", "@sync:255". - * If errno is omitted, then error is set to -1. - * Empty syscall name is not allowed. - * Here, we do not check that the syscall name is valid or not. - */ - - p = strchr(in, ':'); - if (p) { - e = seccomp_parse_errno_or_action(p + 1); - if (e < 0) - return e; - - n = strndup(in, p - in); - } else - n = strdup(in); - - if (!n) - return -ENOMEM; - - if (isempty(n)) - return -EINVAL; - - *error = e; - *name = TAKE_PTR(n); - - return 0; -} -#endif - static const char *mangle_base(const char *s, unsigned *base) { const char *k; diff --git a/src/basic/parse-util.h b/src/basic/parse-util.h index 81478ed059..1ff76ded44 100644 --- a/src/basic/parse-util.h +++ b/src/basic/parse-util.h @@ -22,9 +22,6 @@ int parse_mtu(int family, const char *s, uint32_t *ret); int parse_size(const char *t, uint64_t base, uint64_t *size); int parse_range(const char *t, unsigned *lower, unsigned *upper); int parse_errno(const char *t); -#if HAVE_SECCOMP -int parse_syscall_and_errno(const char *in, char **name, int *error); -#endif #define SAFE_ATO_REFUSE_PLUS_MINUS (1U << 30) #define SAFE_ATO_REFUSE_LEADING_ZERO (1U << 29) diff --git a/src/shared/seccomp-util.c b/src/shared/seccomp-util.c index b5f9ad9adc..03d039f778 100644 --- a/src/shared/seccomp-util.c +++ b/src/shared/seccomp-util.c @@ -2151,3 +2151,41 @@ uint32_t scmp_act_kill_process(void) { return SCMP_ACT_KILL; /* same as SCMP_ACT_KILL_THREAD */ } + +int parse_syscall_and_errno(const char *in, char **name, int *error) { + _cleanup_free_ char *n = NULL; + char *p; + int e = -1; + + assert(in); + assert(name); + assert(error); + + /* + * This parse "syscall:errno" like "uname:EILSEQ", "@sync:255". + * If errno is omitted, then error is set to -1. + * Empty syscall name is not allowed. + * Here, we do not check that the syscall name is valid or not. + */ + + p = strchr(in, ':'); + if (p) { + e = seccomp_parse_errno_or_action(p + 1); + if (e < 0) + return e; + + n = strndup(in, p - in); + } else + n = strdup(in); + + if (!n) + return -ENOMEM; + + if (isempty(n)) + return -EINVAL; + + *error = e; + *name = TAKE_PTR(n); + + return 0; +} diff --git a/src/shared/seccomp-util.h b/src/shared/seccomp-util.h index 53b74bdc34..ee6f7b878b 100644 --- a/src/shared/seccomp-util.h +++ b/src/shared/seccomp-util.h @@ -148,3 +148,5 @@ static inline const char *seccomp_errno_or_action_to_string(int num) { return "kill"; return errno_to_name(num); } + +int parse_syscall_and_errno(const char *in, char **name, int *error); From af182ae1dc35a48276e9fe0aaa9454377b4a667b Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Fri, 1 Jan 2021 08:48:52 +0900 Subject: [PATCH 16/45] util: move unit-file.[ch] to src/basic As basic/path-lookup.[ch] depend on them. --- src/basic/meson.build | 2 ++ src/{shared => basic}/unit-file.c | 0 src/{shared => basic}/unit-file.h | 0 src/shared/meson.build | 2 -- 4 files changed, 2 insertions(+), 2 deletions(-) rename src/{shared => basic}/unit-file.c (100%) rename src/{shared => basic}/unit-file.h (100%) diff --git a/src/basic/meson.build b/src/basic/meson.build index d791f77c65..c7d6872fbf 100644 --- a/src/basic/meson.build +++ b/src/basic/meson.build @@ -244,6 +244,8 @@ basic_sources = files(''' unaligned.h unit-def.c unit-def.h + unit-file.c + unit-file.h unit-name.c unit-name.h user-util.c diff --git a/src/shared/unit-file.c b/src/basic/unit-file.c similarity index 100% rename from src/shared/unit-file.c rename to src/basic/unit-file.c diff --git a/src/shared/unit-file.h b/src/basic/unit-file.h similarity index 100% rename from src/shared/unit-file.h rename to src/basic/unit-file.h diff --git a/src/shared/meson.build b/src/shared/meson.build index 62270d9fd1..c56da5791d 100644 --- a/src/shared/meson.build +++ b/src/shared/meson.build @@ -252,8 +252,6 @@ shared_sources = files(''' udev-util.h uid-range.c uid-range.h - unit-file.c - unit-file.h user-record-nss.c user-record-nss.h user-record-show.c From c11e5f43d20b7b6b809200e91de69ab47802b664 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Fri, 1 Jan 2021 08:52:52 +0900 Subject: [PATCH 17/45] util: move several DNS related definitions to src/basic/dns-def.h DNS_HOSTNAME_MAX is used by sd-resolve, but it was defined in src/shared/dns-domain.h. The library libsystemd should be independent of source files under src/shared. --- src/basic/dns-def.h | 17 +++++++++++++++++ src/basic/meson.build | 1 + src/libsystemd/sd-resolve/sd-resolve.c | 2 +- src/shared/dns-domain.h | 16 +--------------- 4 files changed, 20 insertions(+), 16 deletions(-) create mode 100644 src/basic/dns-def.h diff --git a/src/basic/dns-def.h b/src/basic/dns-def.h new file mode 100644 index 0000000000..d70220bcc0 --- /dev/null +++ b/src/basic/dns-def.h @@ -0,0 +1,17 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ +#pragma once + +/* Length of a single label, with all escaping removed, excluding any trailing dot or NUL byte */ +#define DNS_LABEL_MAX 63 + +/* Worst case length of a single label, with all escaping applied and room for a trailing NUL byte. */ +#define DNS_LABEL_ESCAPED_MAX (DNS_LABEL_MAX*4+1) + +/* Maximum length of a full hostname, consisting of a series of unescaped labels, and no trailing dot or NUL byte */ +#define DNS_HOSTNAME_MAX 253 + +/* Maximum length of a full hostname, on the wire, including the final NUL byte */ +#define DNS_WIRE_FORMAT_HOSTNAME_MAX 255 + +/* Maximum number of labels per valid hostname */ +#define DNS_N_LABELS_MAX 127 diff --git a/src/basic/meson.build b/src/basic/meson.build index c7d6872fbf..9b3366c5e9 100644 --- a/src/basic/meson.build +++ b/src/basic/meson.build @@ -42,6 +42,7 @@ basic_sources = files(''' dirent-util.h dlfcn-util.c dlfcn-util.h + dns-def.h efivars.c efivars.h env-file.c diff --git a/src/libsystemd/sd-resolve/sd-resolve.c b/src/libsystemd/sd-resolve/sd-resolve.c index 2cfa22d280..6dae398acb 100644 --- a/src/libsystemd/sd-resolve/sd-resolve.c +++ b/src/libsystemd/sd-resolve/sd-resolve.c @@ -15,7 +15,7 @@ #include "sd-resolve.h" #include "alloc-util.h" -#include "dns-domain.h" +#include "dns-def.h" #include "errno-util.h" #include "fd-util.h" #include "io-util.h" diff --git a/src/shared/dns-domain.h b/src/shared/dns-domain.h index 77f596294d..c25fcaacc2 100644 --- a/src/shared/dns-domain.h +++ b/src/shared/dns-domain.h @@ -6,24 +6,10 @@ #include #include +#include "dns-def.h" #include "hashmap.h" #include "in-addr-util.h" -/* Length of a single label, with all escaping removed, excluding any trailing dot or NUL byte */ -#define DNS_LABEL_MAX 63 - -/* Worst case length of a single label, with all escaping applied and room for a trailing NUL byte. */ -#define DNS_LABEL_ESCAPED_MAX (DNS_LABEL_MAX*4+1) - -/* Maximum length of a full hostname, consisting of a series of unescaped labels, and no trailing dot or NUL byte */ -#define DNS_HOSTNAME_MAX 253 - -/* Maximum length of a full hostname, on the wire, including the final NUL byte */ -#define DNS_WIRE_FORMAT_HOSTNAME_MAX 255 - -/* Maximum number of labels per valid hostname */ -#define DNS_N_LABELS_MAX 127 - typedef enum DNSLabelFlags { DNS_LABEL_LDH = 1 << 0, /* Follow the "LDH" rule — only letters, digits, and internal hyphens. */ DNS_LABEL_NO_ESCAPES = 1 << 1, /* Do not treat backslashes specially */ From 0159eee04a275e353c2b5f6ddd4901c180dd3026 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Fri, 1 Jan 2021 08:55:21 +0900 Subject: [PATCH 18/45] efi: create symbolic link to efi/loader-feature.h To drop src/boot/efi from include directories for binaries later. --- src/basic/efivars.h | 1 - src/shared/efi-loader-features.h | 1 + src/shared/efi-loader.h | 5 +++-- src/shared/meson.build | 1 + 4 files changed, 5 insertions(+), 3 deletions(-) create mode 120000 src/shared/efi-loader-features.h diff --git a/src/basic/efivars.h b/src/basic/efivars.h index d310dde7d7..dcaf87eacd 100644 --- a/src/basic/efivars.h +++ b/src/basic/efivars.h @@ -10,7 +10,6 @@ #include "sd-id128.h" -#include "efi/loader-features.h" #include "time-util.h" #define EFI_VENDOR_LOADER SD_ID128_MAKE(4a,67,b0,82,0a,4c,41,cf,b6,c7,44,0b,29,bb,8c,4f) diff --git a/src/shared/efi-loader-features.h b/src/shared/efi-loader-features.h new file mode 120000 index 0000000000..481a053954 --- /dev/null +++ b/src/shared/efi-loader-features.h @@ -0,0 +1 @@ +../boot/efi/loader-features.h \ No newline at end of file diff --git a/src/shared/efi-loader.h b/src/shared/efi-loader.h index 34476f4ced..7621794736 100644 --- a/src/shared/efi-loader.h +++ b/src/shared/efi-loader.h @@ -1,10 +1,11 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include "efivars.h" - #include +#include "efi-loader-features.h" +#include "efivars.h" + #if ENABLE_EFI int efi_reboot_to_firmware_supported(void); diff --git a/src/shared/meson.build b/src/shared/meson.build index c56da5791d..dd2e82c0bc 100644 --- a/src/shared/meson.build +++ b/src/shared/meson.build @@ -87,6 +87,7 @@ shared_sources = files(''' dns-domain.h dropin.c dropin.h + efi-loader-features.h efi-loader.c efi-loader.h enable-mempool.c From 6969a671d9fdd409e6b2715f6d78314a7d51d0c0 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Fri, 1 Jan 2021 08:57:37 +0900 Subject: [PATCH 19/45] test: drop bus-util.h from sd-bus To drop src/shared from include directories to build libsystemd.so later. --- src/libsystemd/sd-bus/bus-control.c | 1 - src/libsystemd/sd-bus/bus-convenience.c | 1 - src/libsystemd/sd-bus/bus-creds.c | 1 - src/libsystemd/sd-bus/bus-kernel.c | 1 - src/libsystemd/sd-bus/bus-match.c | 1 - src/libsystemd/sd-bus/bus-message.c | 1 - src/libsystemd/sd-bus/bus-objects.c | 1 - src/libsystemd/sd-bus/bus-track.c | 1 - src/libsystemd/sd-bus/sd-bus.c | 1 - src/libsystemd/sd-bus/test-bus-benchmark.c | 2 +- src/libsystemd/sd-bus/test-bus-chat.c | 2 +- src/libsystemd/sd-bus/test-bus-cleanup.c | 1 - src/libsystemd/sd-bus/test-bus-creds.c | 1 - src/libsystemd/sd-bus/test-bus-error.c | 3 ++- src/libsystemd/sd-bus/test-bus-gvariant.c | 1 - src/libsystemd/sd-bus/test-bus-match.c | 1 - src/libsystemd/sd-bus/test-bus-objects.c | 1 - src/libsystemd/sd-bus/test-bus-server.c | 2 +- 18 files changed, 5 insertions(+), 18 deletions(-) diff --git a/src/libsystemd/sd-bus/bus-control.c b/src/libsystemd/sd-bus/bus-control.c index 3ee22c9638..943877f0ea 100644 --- a/src/libsystemd/sd-bus/bus-control.c +++ b/src/libsystemd/sd-bus/bus-control.c @@ -13,7 +13,6 @@ #include "bus-control.h" #include "bus-internal.h" #include "bus-message.h" -#include "bus-util.h" #include "capability-util.h" #include "process-util.h" #include "stdio-util.h" diff --git a/src/libsystemd/sd-bus/bus-convenience.c b/src/libsystemd/sd-bus/bus-convenience.c index 0314642f3e..3e1143b187 100644 --- a/src/libsystemd/sd-bus/bus-convenience.c +++ b/src/libsystemd/sd-bus/bus-convenience.c @@ -7,7 +7,6 @@ #include "bus-message.h" #include "bus-signature.h" #include "bus-type.h" -#include "bus-util.h" #include "string-util.h" _public_ int sd_bus_emit_signalv( diff --git a/src/libsystemd/sd-bus/bus-creds.c b/src/libsystemd/sd-bus/bus-creds.c index 3896d94111..3134d8ef17 100644 --- a/src/libsystemd/sd-bus/bus-creds.c +++ b/src/libsystemd/sd-bus/bus-creds.c @@ -8,7 +8,6 @@ #include "bus-creds.h" #include "bus-label.h" #include "bus-message.h" -#include "bus-util.h" #include "capability-util.h" #include "cgroup-util.h" #include "errno-util.h" diff --git a/src/libsystemd/sd-bus/bus-kernel.c b/src/libsystemd/sd-bus/bus-kernel.c index 6bba446932..ba8ffae522 100644 --- a/src/libsystemd/sd-bus/bus-kernel.c +++ b/src/libsystemd/sd-bus/bus-kernel.c @@ -20,7 +20,6 @@ #include "bus-kernel.h" #include "bus-label.h" #include "bus-message.h" -#include "bus-util.h" #include "capability-util.h" #include "fd-util.h" #include "fileio.h" diff --git a/src/libsystemd/sd-bus/bus-match.c b/src/libsystemd/sd-bus/bus-match.c index d7da4bf009..fd74867afa 100644 --- a/src/libsystemd/sd-bus/bus-match.c +++ b/src/libsystemd/sd-bus/bus-match.c @@ -4,7 +4,6 @@ #include "bus-internal.h" #include "bus-match.h" #include "bus-message.h" -#include "bus-util.h" #include "fd-util.h" #include "fileio.h" #include "hexdecoct.h" diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c index 99b1704aee..f358a8699e 100644 --- a/src/libsystemd/sd-bus/bus-message.c +++ b/src/libsystemd/sd-bus/bus-message.c @@ -12,7 +12,6 @@ #include "bus-message.h" #include "bus-signature.h" #include "bus-type.h" -#include "bus-util.h" #include "fd-util.h" #include "io-util.h" #include "memfd-util.h" diff --git a/src/libsystemd/sd-bus/bus-objects.c b/src/libsystemd/sd-bus/bus-objects.c index 275c4318a1..bfd42aea7d 100644 --- a/src/libsystemd/sd-bus/bus-objects.c +++ b/src/libsystemd/sd-bus/bus-objects.c @@ -8,7 +8,6 @@ #include "bus-signature.h" #include "bus-slot.h" #include "bus-type.h" -#include "bus-util.h" #include "missing_capability.h" #include "set.h" #include "string-util.h" diff --git a/src/libsystemd/sd-bus/bus-track.c b/src/libsystemd/sd-bus/bus-track.c index 5f8716e2aa..bc36673b83 100644 --- a/src/libsystemd/sd-bus/bus-track.c +++ b/src/libsystemd/sd-bus/bus-track.c @@ -5,7 +5,6 @@ #include "alloc-util.h" #include "bus-internal.h" #include "bus-track.h" -#include "bus-util.h" #include "string-util.h" struct track_item { diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c index 857193943a..6b1f25cc02 100644 --- a/src/libsystemd/sd-bus/sd-bus.c +++ b/src/libsystemd/sd-bus/sd-bus.c @@ -26,7 +26,6 @@ #include "bus-socket.h" #include "bus-track.h" #include "bus-type.h" -#include "bus-util.h" #include "cgroup-util.h" #include "def.h" #include "errno-util.h" diff --git a/src/libsystemd/sd-bus/test-bus-benchmark.c b/src/libsystemd/sd-bus/test-bus-benchmark.c index 8c6711797a..13c08fe295 100644 --- a/src/libsystemd/sd-bus/test-bus-benchmark.c +++ b/src/libsystemd/sd-bus/test-bus-benchmark.c @@ -8,10 +8,10 @@ #include "alloc-util.h" #include "bus-internal.h" #include "bus-kernel.h" -#include "bus-util.h" #include "def.h" #include "fd-util.h" #include "missing_resource.h" +#include "string-util.h" #include "time-util.h" #include "util.h" diff --git a/src/libsystemd/sd-bus/test-bus-chat.c b/src/libsystemd/sd-bus/test-bus-chat.c index c3c31c65e6..a1d7ba173f 100644 --- a/src/libsystemd/sd-bus/test-bus-chat.c +++ b/src/libsystemd/sd-bus/test-bus-chat.c @@ -11,12 +11,12 @@ #include "bus-error.h" #include "bus-internal.h" #include "bus-match.h" -#include "bus-util.h" #include "errno-util.h" #include "fd-util.h" #include "format-util.h" #include "log.h" #include "macro.h" +#include "string-util.h" #include "tests.h" #include "util.h" diff --git a/src/libsystemd/sd-bus/test-bus-cleanup.c b/src/libsystemd/sd-bus/test-bus-cleanup.c index ece0a12bab..f563db74e6 100644 --- a/src/libsystemd/sd-bus/test-bus-cleanup.c +++ b/src/libsystemd/sd-bus/test-bus-cleanup.c @@ -6,7 +6,6 @@ #include "bus-internal.h" #include "bus-message.h" -#include "bus-util.h" #include "tests.h" static bool use_system_bus = false; diff --git a/src/libsystemd/sd-bus/test-bus-creds.c b/src/libsystemd/sd-bus/test-bus-creds.c index 6551e692f8..13801becc9 100644 --- a/src/libsystemd/sd-bus/test-bus-creds.c +++ b/src/libsystemd/sd-bus/test-bus-creds.c @@ -3,7 +3,6 @@ #include "sd-bus.h" #include "bus-dump.h" -#include "bus-util.h" #include "cgroup-util.h" #include "tests.h" diff --git a/src/libsystemd/sd-bus/test-bus-error.c b/src/libsystemd/sd-bus/test-bus-error.c index 2e3803c9b2..958884d56f 100644 --- a/src/libsystemd/sd-bus/test-bus-error.c +++ b/src/libsystemd/sd-bus/test-bus-error.c @@ -2,11 +2,12 @@ #include "sd-bus.h" +#include "alloc-util.h" #include "bus-common-errors.h" #include "bus-error.h" -#include "bus-util.h" #include "errno-list.h" #include "errno-util.h" +#include "string-util.h" static void test_error(void) { _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL, second = SD_BUS_ERROR_NULL; diff --git a/src/libsystemd/sd-bus/test-bus-gvariant.c b/src/libsystemd/sd-bus/test-bus-gvariant.c index b0033f1d13..edd8301d45 100644 --- a/src/libsystemd/sd-bus/test-bus-gvariant.c +++ b/src/libsystemd/sd-bus/test-bus-gvariant.c @@ -11,7 +11,6 @@ #include "bus-gvariant.h" #include "bus-internal.h" #include "bus-message.h" -#include "bus-util.h" #include "macro.h" #include "tests.h" #include "util.h" diff --git a/src/libsystemd/sd-bus/test-bus-match.c b/src/libsystemd/sd-bus/test-bus-match.c index aa6ddd336a..031e42ff46 100644 --- a/src/libsystemd/sd-bus/test-bus-match.c +++ b/src/libsystemd/sd-bus/test-bus-match.c @@ -3,7 +3,6 @@ #include "bus-match.h" #include "bus-message.h" #include "bus-slot.h" -#include "bus-util.h" #include "log.h" #include "macro.h" #include "memory-util.h" diff --git a/src/libsystemd/sd-bus/test-bus-objects.c b/src/libsystemd/sd-bus/test-bus-objects.c index 9116211886..80d2a5d98b 100644 --- a/src/libsystemd/sd-bus/test-bus-objects.c +++ b/src/libsystemd/sd-bus/test-bus-objects.c @@ -9,7 +9,6 @@ #include "bus-dump.h" #include "bus-internal.h" #include "bus-message.h" -#include "bus-util.h" #include "log.h" #include "macro.h" #include "strv.h" diff --git a/src/libsystemd/sd-bus/test-bus-server.c b/src/libsystemd/sd-bus/test-bus-server.c index 5cb100b2f0..e7a14716bc 100644 --- a/src/libsystemd/sd-bus/test-bus-server.c +++ b/src/libsystemd/sd-bus/test-bus-server.c @@ -6,10 +6,10 @@ #include "sd-bus.h" #include "bus-internal.h" -#include "bus-util.h" #include "log.h" #include "macro.h" #include "memory-util.h" +#include "string-util.h" struct context { int fds[2]; From 7087e4729f684217fd0eb55154588e9309137e05 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 4 Jan 2021 17:30:12 +0900 Subject: [PATCH 20/45] meson: drop unnecessary loop --- src/fuzz/meson.build | 3 +- src/resolve/meson.build | 83 ++++++++++++++++------------------------- 2 files changed, 34 insertions(+), 52 deletions(-) diff --git a/src/fuzz/meson.build b/src/fuzz/meson.build index 36bef1c7af..46307375a4 100644 --- a/src/fuzz/meson.build +++ b/src/fuzz/meson.build @@ -7,8 +7,7 @@ fuzzers += [ [libjournal_core, libshared]], - [['src/resolve/fuzz-dns-packet.c', - dns_type_headers], + [['src/resolve/fuzz-dns-packet.c'], [libsystemd_resolve_core, libshared], [libgcrypt, diff --git a/src/resolve/meson.build b/src/resolve/meson.build index 5fc921716f..25782606b5 100644 --- a/src/resolve/meson.build +++ b/src/resolve/meson.build @@ -12,10 +12,9 @@ basic_dns_sources = files(''' resolved-dns-question.c resolved-dns-question.h dns-type.c + dns-type.h '''.split()) -dns_type_h = files('dns-type.h')[0] - systemd_resolved_sources = files(''' resolved-bus.c resolved-bus.h @@ -79,48 +78,43 @@ resolvectl_sources = files(''' dns_type_list_txt = custom_target( 'dns_type-list.txt', - input : ['generate-dns_type-list.sed', dns_type_h], + input : ['generate-dns_type-list.sed', 'dns-type.h'], output : 'dns_type-list.txt', command : [sed, '-n', '-r', '-f', '@INPUT0@', '@INPUT1@'], capture : true) generate_dns_type_gperf = find_program('generate-dns_type-gperf.py') -dns_type_headers = [dns_type_h] -foreach item : [['dns_type', dns_type_list_txt, 'dns_type', 'DNS_TYPE_']] +gperf_file = custom_target( + 'dns_type-from-name.gperf', + input : dns_type_list_txt, + output : 'dns_type-from-name.gperf', + command : [generate_dns_type_gperf, 'dns_type', 'DNS_TYPE_', '@INPUT@'], + capture : true) - fname = '@0@-from-name.gperf'.format(item[0]) - gperf_file = custom_target( - fname, - input : item[1], - output : fname, - command : [generate_dns_type_gperf, item[2], item[3], '@INPUT@'], - capture : true) +basic_dns_sources += custom_target( + 'dns_type-from-name.h', + input : gperf_file, + output : 'dns_type-from-name.h', + command : [gperf, + '-L', 'ANSI-C', '-t', '--ignore-case', + '-N', 'lookup_dns_type', + '-H', 'hash_dns_type_name', + '-p', '-C', + '@INPUT@'], + capture : true) - fname = '@0@-from-name.h'.format(item[0]) - target1 = custom_target( - fname, - input : gperf_file, - output : fname, - command : [gperf, - '-L', 'ANSI-C', '-t', '--ignore-case', - '-N', 'lookup_@0@'.format(item[2]), - '-H', 'hash_@0@_name'.format(item[2]), - '-p', '-C', - '@INPUT@'], - capture : true) +basic_dns_sources += custom_target( + 'dns_type-to-name.h', + input : ['dns_type-to-name.awk', dns_type_list_txt], + output : 'dns_type-to-name.h', + command : [awk, '-f', '@INPUT0@', '@INPUT1@'], + capture : true) - fname = '@0@-to-name.h'.format(item[0]) - awkscript = '@0@-to-name.awk'.format(item[0]) - target2 = custom_target( - fname, - input : [awkscript, item[1]], - output : fname, - command : [awk, '-f', '@INPUT0@', '@INPUT1@'], - capture : true) - - dns_type_headers += [target1, target2] -endforeach +libsystemd_resolve_core = static_library( + 'systemd-resolve-core', + basic_dns_sources, + include_directories : includes) resolved_gperf_c = custom_target( 'resolved_gperf.c', @@ -134,12 +128,6 @@ resolved_dnssd_gperf_c = custom_target( output : 'resolved-dnssd-gperf.c', command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@']) -libsystemd_resolve_core = static_library( - 'systemd-resolve-core', - basic_dns_sources, - dns_type_headers, - include_directories : includes) - systemd_resolved_sources += [resolved_gperf_c, resolved_dnssd_gperf_c] systemd_resolved_dependencies = [threads, libgpg_error, libm] @@ -180,7 +168,6 @@ endif tests += [ [['src/resolve/test-resolve-tables.c', - dns_type_headers, 'src/shared/test-tables.h'], [libsystemd_resolve_core, libshared], @@ -189,8 +176,7 @@ tests += [ libm], [], 'ENABLE_RESOLVE'], - [['src/resolve/test-dns-packet.c', - dns_type_headers], + [['src/resolve/test-dns-packet.c'], [libsystemd_resolve_core, libshared], [libgcrypt, @@ -208,8 +194,7 @@ tests += [ libm], [], 'ENABLE_RESOLVE'], - [['src/resolve/test-resolved-packet.c', - dns_type_headers], + [['src/resolve/test-resolved-packet.c'], [libsystemd_resolve_core, libshared], [libgcrypt, @@ -217,8 +202,7 @@ tests += [ libm], [], 'ENABLE_RESOLVE'], - [['src/resolve/test-dnssec.c', - dns_type_headers], + [['src/resolve/test-dnssec.c'], [libsystemd_resolve_core, libshared], [libgcrypt, @@ -227,7 +211,6 @@ tests += [ [], 'ENABLE_RESOLVE'], [['src/resolve/test-dnssec-complex.c', - 'src/resolve/dns-type.c', - dns_type_headers], + 'src/resolve/dns-type.c'], [], [], [], 'ENABLE_RESOLVE', 'manual'], ] From 4fc47fa82a8b908dc31f618687001f0315f0da4f Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 4 Jan 2021 17:33:47 +0900 Subject: [PATCH 21/45] meson: drop unnecessary variable declarations --- src/resolve/meson.build | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/resolve/meson.build b/src/resolve/meson.build index 25782606b5..6cd62b848e 100644 --- a/src/resolve/meson.build +++ b/src/resolve/meson.build @@ -116,20 +116,18 @@ libsystemd_resolve_core = static_library( basic_dns_sources, include_directories : includes) -resolved_gperf_c = custom_target( +systemd_resolved_sources += custom_target( 'resolved_gperf.c', input : 'resolved-gperf.gperf', output : 'resolved-gperf.c', command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@']) -resolved_dnssd_gperf_c = custom_target( +systemd_resolved_sources += custom_target( 'resolved_dnssd_gperf.c', input : 'resolved-dnssd-gperf.gperf', output : 'resolved-dnssd-gperf.c', command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@']) -systemd_resolved_sources += [resolved_gperf_c, resolved_dnssd_gperf_c] - systemd_resolved_dependencies = [threads, libgpg_error, libm] if conf.get('ENABLE_DNS_OVER_TLS') == 1 if conf.get('DNS_OVER_TLS_USE_GNUTLS') == 1 From a28c0617de34de3b1c5a69de5b00e276d2bcef93 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 4 Jan 2021 17:34:01 +0900 Subject: [PATCH 22/45] meson: fix indentation --- src/resolve/meson.build | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/resolve/meson.build b/src/resolve/meson.build index 6cd62b848e..5c23fe43ce 100644 --- a/src/resolve/meson.build +++ b/src/resolve/meson.build @@ -131,12 +131,14 @@ systemd_resolved_sources += custom_target( systemd_resolved_dependencies = [threads, libgpg_error, libm] if conf.get('ENABLE_DNS_OVER_TLS') == 1 if conf.get('DNS_OVER_TLS_USE_GNUTLS') == 1 - systemd_resolved_sources += files('resolved-dnstls-gnutls.c', - 'resolved-dnstls-gnutls.h') + systemd_resolved_sources += files( + 'resolved-dnstls-gnutls.c', + 'resolved-dnstls-gnutls.h') systemd_resolved_dependencies += libgnutls elif conf.get('DNS_OVER_TLS_USE_OPENSSL') == 1 - systemd_resolved_sources += files('resolved-dnstls-openssl.c', - 'resolved-dnstls-openssl.h') + systemd_resolved_sources += files( + 'resolved-dnstls-openssl.c', + 'resolved-dnstls-openssl.h') systemd_resolved_dependencies += libopenssl else error('unknown dependency for supporting DNS-over-TLS') From b09f01463a9ce08320769aef798cd4b60a6c6456 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 4 Jan 2021 20:00:10 +0900 Subject: [PATCH 23/45] meson: enable several tests even if the relevant features are disabled --- src/coredump/meson.build | 2 +- src/machine/meson.build | 3 +- src/network/meson.build | 152 +++++++++++++++++++-------------------- src/oom/meson.build | 12 ++-- src/resolve/meson.build | 20 ++---- src/timesync/meson.build | 3 +- 6 files changed, 88 insertions(+), 104 deletions(-) diff --git a/src/coredump/meson.build b/src/coredump/meson.build index c63760d4a9..5607a78cf5 100644 --- a/src/coredump/meson.build +++ b/src/coredump/meson.build @@ -23,5 +23,5 @@ tests += [ [['src/coredump/test-coredump-vacuum.c', 'src/coredump/coredump-vacuum.c', 'src/coredump/coredump-vacuum.h'], - [], [], [], 'ENABLE_COREDUMP', 'manual'], + [], [], [], '', 'manual'], ] diff --git a/src/machine/meson.build b/src/machine/meson.build index ac13690397..9b9ad1d8a9 100644 --- a/src/machine/meson.build +++ b/src/machine/meson.build @@ -39,6 +39,5 @@ tests += [ [['src/machine/test-machine-tables.c'], [libmachine_core, libshared], - [threads], - [], 'ENABLE_MACHINED'], + [threads]], ] diff --git a/src/network/meson.build b/src/network/meson.build index 063ed0d901..606c93ca45 100644 --- a/src/network/meson.build +++ b/src/network/meson.build @@ -181,44 +181,41 @@ network_generator_sources = files(''' generator/network-generator.h '''.split()) +sources += custom_target( + 'networkd-gperf.c', + input : 'networkd-gperf.gperf', + output : 'networkd-gperf.c', + command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@']) + +sources += custom_target( + 'networkd-network-gperf.c', + input : 'networkd-network-gperf.gperf', + output : 'networkd-network-gperf.c', + command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@']) + +sources += custom_target( + 'netdev-gperf.c', + input : 'netdev/netdev-gperf.gperf', + output : 'netdev-gperf.c', + command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@']) + +if get_option('link-networkd-shared') + networkd_link_with = [libshared] +else + networkd_link_with = [libsystemd_static, + libshared_static, + libbasic_gcrypt] +endif + network_include_dir = [includes, include_directories(['.', 'netdev', 'tc'])] +libnetworkd_core = static_library( + 'networkd-core', + sources, + include_directories : network_include_dir, + link_with : [networkd_link_with]) + if conf.get('ENABLE_NETWORKD') == 1 - if get_option('link-networkd-shared') - networkd_link_with = [libshared] - else - networkd_link_with = [libsystemd_static, - libshared_static, - libbasic_gcrypt] - endif - - networkd_gperf_c = custom_target( - 'networkd-gperf.c', - input : 'networkd-gperf.gperf', - output : 'networkd-gperf.c', - command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@']) - - networkd_network_gperf_c = custom_target( - 'networkd-network-gperf.c', - input : 'networkd-network-gperf.gperf', - output : 'networkd-network-gperf.c', - command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@']) - - netdev_gperf_c = custom_target( - 'netdev-gperf.c', - input : 'netdev/netdev-gperf.gperf', - output : 'netdev-gperf.c', - command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@']) - - libnetworkd_core = static_library( - 'networkd-core', - sources, - networkd_gperf_c, - networkd_network_gperf_c, - netdev_gperf_c, - include_directories : network_include_dir, - link_with : [networkd_link_with]) - install_data('org.freedesktop.network1.conf', install_dir : dbuspolicydir) install_data('org.freedesktop.network1.service', @@ -238,49 +235,44 @@ if conf.get('ENABLE_NETWORKD') == 1 install_data('networkd.conf', install_dir : pkgsysconfdir) endif - - fuzzers += [ - [['src/network/fuzz-netdev-parser.c', - 'src/fuzz/fuzz.h'], - [libnetworkd_core, - libsystemd_network, - networkd_link_with], - [threads], - network_include_dir], - - [['src/network/fuzz-network-parser.c', - 'src/fuzz/fuzz.h'], - [libnetworkd_core, - libsystemd_network, - networkd_link_with], - [threads], - network_include_dir], - ] - - tests += [ - [['src/network/test-networkd-conf.c'], - [libnetworkd_core, - libsystemd_network], - [], - network_include_dir], - - [['src/network/test-network.c'], - [libnetworkd_core, - libsystemd_network, - networkd_link_with], - [threads], - network_include_dir], - - [['src/network/test-network-tables.c', - test_tables_h], - [libnetworkd_core, - libsystemd_network, - networkd_link_with], - [threads], - network_include_dir], - - [['src/network/generator/test-network-generator.c', - 'src/network/generator/network-generator.c', - 'src/network/generator/network-generator.h']], - ] endif + +fuzzers += [ + [['src/network/fuzz-netdev-parser.c'], + [libnetworkd_core, + libsystemd_network, + networkd_link_with], + [threads], + network_include_dir], + + [['src/network/fuzz-network-parser.c'], + [libnetworkd_core, + libsystemd_network, + networkd_link_with], + [threads], + network_include_dir], +] + +tests += [ + [['src/network/test-networkd-conf.c'], + [libnetworkd_core, + libsystemd_network], + [], + network_include_dir], + + [['src/network/test-network.c'], + [libnetworkd_core, + libsystemd_network], + [threads], + network_include_dir], + + [['src/network/test-network-tables.c'], + [libnetworkd_core, + libsystemd_network], + [threads], + network_include_dir], + + [['src/network/generator/test-network-generator.c', + 'src/network/generator/network-generator.c', + 'src/network/generator/network-generator.h']], +] diff --git a/src/oom/meson.build b/src/oom/meson.build index 1cb66bc477..4e1c8543c8 100644 --- a/src/oom/meson.build +++ b/src/oom/meson.build @@ -15,12 +15,6 @@ oomctl_sources = files(''' '''.split()) if conf.get('ENABLE_OOMD') == 1 - tests += [ - [['src/oom/test-oomd-util.c', - 'src/oom/oomd-util.c', - 'src/oom/oomd-util.h']], - ] - install_data('org.freedesktop.oom1.conf', install_dir : dbuspolicydir) @@ -32,3 +26,9 @@ if conf.get('ENABLE_OOMD') == 1 install_dir : pkgsysconfdir) endif endif + +tests += [ + [['src/oom/test-oomd-util.c', + 'src/oom/oomd-util.c', + 'src/oom/oomd-util.h']], +] diff --git a/src/resolve/meson.build b/src/resolve/meson.build index 5c23fe43ce..2ed67a86ad 100644 --- a/src/resolve/meson.build +++ b/src/resolve/meson.build @@ -167,22 +167,19 @@ if conf.get('ENABLE_RESOLVE') == 1 endif tests += [ - [['src/resolve/test-resolve-tables.c', - 'src/shared/test-tables.h'], + [['src/resolve/test-resolve-tables.c'], [libsystemd_resolve_core, libshared], [libgcrypt, libgpg_error, - libm], - [], 'ENABLE_RESOLVE'], + libm]], [['src/resolve/test-dns-packet.c'], [libsystemd_resolve_core, libshared], [libgcrypt, libgpg_error, - libm], - [], 'ENABLE_RESOLVE'], + libm]], [['src/resolve/test-resolved-etc-hosts.c', 'src/resolve/resolved-etc-hosts.c', @@ -191,26 +188,23 @@ tests += [ libshared], [libgcrypt, libgpg_error, - libm], - [], 'ENABLE_RESOLVE'], + libm]], [['src/resolve/test-resolved-packet.c'], [libsystemd_resolve_core, libshared], [libgcrypt, libgpg_error, - libm], - [], 'ENABLE_RESOLVE'], + libm]], [['src/resolve/test-dnssec.c'], [libsystemd_resolve_core, libshared], [libgcrypt, libgpg_error, - libm], - [], 'ENABLE_RESOLVE'], + libm]], [['src/resolve/test-dnssec-complex.c', 'src/resolve/dns-type.c'], - [], [], [], 'ENABLE_RESOLVE', 'manual'], + [], [], [], '', 'manual'], ] diff --git a/src/timesync/meson.build b/src/timesync/meson.build index 6b486cd1c4..9096ef1076 100644 --- a/src/timesync/meson.build +++ b/src/timesync/meson.build @@ -50,6 +50,5 @@ tests += [ 'src/timesync/timesyncd-server.h', timesyncd_gperf_c], [], - [libm], - [], 'ENABLE_TIMESYNCD'], + [libm]], ] From f5a5284ea11ab5696fb56fec765d12ca68c1a447 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 4 Jan 2021 20:09:06 +0900 Subject: [PATCH 24/45] meson: introduce libtimesyncd_core library --- meson.build | 12 ++------- src/timesync/meson.build | 53 +++++++++++++++++++++++----------------- 2 files changed, 32 insertions(+), 33 deletions(-) diff --git a/meson.build b/meson.build index c22aa59cad..82da1a463a 100644 --- a/meson.build +++ b/meson.build @@ -2610,19 +2610,11 @@ if conf.get('ENABLE_TIMEDATECTL') == 1 endif if conf.get('ENABLE_TIMESYNCD') == 1 - if get_option('link-timesyncd-shared') - timesyncd_link_with = [libshared] - else - timesyncd_link_with = [libsystemd_static, - libshared_static, - libbasic_gcrypt] - endif - executable( 'systemd-timesyncd', systemd_timesyncd_sources, include_directories : includes, - link_with : [timesyncd_link_with], + link_with : [libtimesyncd_core], dependencies : [threads, libm], install_rpath : rootlibexecdir, @@ -2633,7 +2625,7 @@ if conf.get('ENABLE_TIMESYNCD') == 1 'systemd-time-wait-sync', 'src/timesync/wait-sync.c', include_directories : includes, - link_with : [timesyncd_link_with], + link_with : [libtimesyncd_core], install_rpath : rootlibexecdir, install : true, install_dir : rootlibexecdir) diff --git a/src/timesync/meson.build b/src/timesync/meson.build index 9096ef1076..30d2a0caee 100644 --- a/src/timesync/meson.build +++ b/src/timesync/meson.build @@ -1,25 +1,38 @@ # SPDX-License-Identifier: LGPL-2.1-or-later -systemd_timesyncd_sources = files(''' - timesyncd.c - timesyncd-bus.c - timesyncd-bus.h - timesyncd-conf.c - timesyncd-conf.h - timesyncd-manager.c - timesyncd-manager.h - timesyncd-ntp-message.h - timesyncd-server.c - timesyncd-server.h -'''.split()) +sources = files( + 'timesyncd-conf.c', + 'timesyncd-conf.h', + 'timesyncd-manager.c', + 'timesyncd-manager.h', + 'timesyncd-ntp-message.h', + 'timesyncd-server.c', + 'timesyncd-server.h') -timesyncd_gperf_c = custom_target( +systemd_timesyncd_sources = files( + 'timesyncd.c', + 'timesyncd-bus.c', + 'timesyncd-bus.h') + +sources += custom_target( 'timesyncd-gperf.c', input : 'timesyncd-gperf.gperf', output : 'timesyncd-gperf.c', command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@']) -systemd_timesyncd_sources += [timesyncd_gperf_c] +if get_option('link-timesyncd-shared') + timesyncd_link_with = [libshared] +else + timesyncd_link_with = [libsystemd_static, + libshared_static, + libbasic_gcrypt] +endif + +libtimesyncd_core = static_library( + 'timesyncd-core', + sources, + include_directories : includes, + link_with : [timesyncd_link_with]) if conf.get('ENABLE_TIMESYNCD') == 1 timesyncd_conf = configure_file( @@ -41,14 +54,8 @@ endif ############################################################ tests += [ - [['src/timesync/test-timesync.c', - 'src/timesync/timesyncd-manager.c', - 'src/timesync/timesyncd-manager.h', - 'src/timesync/timesyncd-conf.c', - 'src/timesync/timesyncd-conf.h', - 'src/timesync/timesyncd-server.c', - 'src/timesync/timesyncd-server.h', - timesyncd_gperf_c], - [], + [['src/timesync/test-timesync.c'], + [libtimesyncd_core, + libshared], [libm]], ] From c35125732f0b845f256d6b48fd2577c6fe8c0b0c Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 4 Jan 2021 20:12:28 +0900 Subject: [PATCH 25/45] meson: move definition of systemctl source files --- meson.build | 83 +-------------------------------------- src/systemctl/meson.build | 83 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 85 insertions(+), 81 deletions(-) create mode 100644 src/systemctl/meson.build diff --git a/meson.build b/meson.build index 82da1a463a..5b9beebaf9 100644 --- a/meson.build +++ b/meson.build @@ -1729,6 +1729,7 @@ subdir('src/userdb') subdir('src/home') subdir('src/nspawn') subdir('src/resolve') +subdir('src/systemctl') subdir('src/timedate') subdir('src/timesync') subdir('src/tmpfiles') @@ -2142,89 +2143,9 @@ public_programs += executable( install_rpath : rootlibexecdir, install : true) -if get_option('link-systemctl-shared') - systemctl_link_with = [libshared] -else - systemctl_link_with = [libsystemd_static, - libshared_static, - libbasic_gcrypt] -endif - public_programs += executable( 'systemctl', - 'src/systemctl/systemctl-add-dependency.c', - 'src/systemctl/systemctl-add-dependency.h', - 'src/systemctl/systemctl-cancel-job.c', - 'src/systemctl/systemctl-cancel-job.h', - 'src/systemctl/systemctl-clean-or-freeze.c', - 'src/systemctl/systemctl-clean-or-freeze.h', - 'src/systemctl/systemctl-compat-halt.c', - 'src/systemctl/systemctl-compat-halt.h', - 'src/systemctl/systemctl-compat-runlevel.c', - 'src/systemctl/systemctl-compat-runlevel.h', - 'src/systemctl/systemctl-compat-shutdown.c', - 'src/systemctl/systemctl-compat-shutdown.h', - 'src/systemctl/systemctl-compat-telinit.c', - 'src/systemctl/systemctl-compat-telinit.h', - 'src/systemctl/systemctl-daemon-reload.c', - 'src/systemctl/systemctl-daemon-reload.h', - 'src/systemctl/systemctl-edit.c', - 'src/systemctl/systemctl-edit.h', - 'src/systemctl/systemctl-enable.c', - 'src/systemctl/systemctl-enable.h', - 'src/systemctl/systemctl-is-active.c', - 'src/systemctl/systemctl-is-active.h', - 'src/systemctl/systemctl-is-enabled.c', - 'src/systemctl/systemctl-is-enabled.h', - 'src/systemctl/systemctl-is-system-running.c', - 'src/systemctl/systemctl-is-system-running.h', - 'src/systemctl/systemctl-kill.c', - 'src/systemctl/systemctl-kill.h', - 'src/systemctl/systemctl-list-dependencies.c', - 'src/systemctl/systemctl-list-dependencies.h', - 'src/systemctl/systemctl-list-jobs.c', - 'src/systemctl/systemctl-list-jobs.h', - 'src/systemctl/systemctl-list-machines.c', - 'src/systemctl/systemctl-list-machines.h', - 'src/systemctl/systemctl-list-unit-files.c', - 'src/systemctl/systemctl-list-unit-files.h', - 'src/systemctl/systemctl-list-units.c', - 'src/systemctl/systemctl-list-units.h', - 'src/systemctl/systemctl-log-setting.c', - 'src/systemctl/systemctl-log-setting.h', - 'src/systemctl/systemctl-logind.c', - 'src/systemctl/systemctl-logind.h', - 'src/systemctl/systemctl-mount.c', - 'src/systemctl/systemctl-mount.h', - 'src/systemctl/systemctl-preset-all.c', - 'src/systemctl/systemctl-preset-all.h', - 'src/systemctl/systemctl-reset-failed.c', - 'src/systemctl/systemctl-reset-failed.h', - 'src/systemctl/systemctl-service-watchdogs.c', - 'src/systemctl/systemctl-service-watchdogs.h', - 'src/systemctl/systemctl-set-default.c', - 'src/systemctl/systemctl-set-default.h', - 'src/systemctl/systemctl-set-environment.c', - 'src/systemctl/systemctl-set-environment.h', - 'src/systemctl/systemctl-set-property.c', - 'src/systemctl/systemctl-set-property.h', - 'src/systemctl/systemctl-show.c', - 'src/systemctl/systemctl-show.h', - 'src/systemctl/systemctl-start-special.c', - 'src/systemctl/systemctl-start-special.h', - 'src/systemctl/systemctl-start-unit.c', - 'src/systemctl/systemctl-start-unit.h', - 'src/systemctl/systemctl-switch-root.c', - 'src/systemctl/systemctl-switch-root.h', - 'src/systemctl/systemctl-sysv-compat.c', - 'src/systemctl/systemctl-sysv-compat.h', - 'src/systemctl/systemctl-trivial-method.c', - 'src/systemctl/systemctl-trivial-method.h', - 'src/systemctl/systemctl-util.c', - 'src/systemctl/systemctl-util.c', - 'src/systemctl/systemctl-util.h', - 'src/systemctl/systemctl.c', - 'src/systemctl/systemctl.h', + systemctl_sources, include_directories : includes, link_with : systemctl_link_with, dependencies : [threads, diff --git a/src/systemctl/meson.build b/src/systemctl/meson.build new file mode 100644 index 0000000000..a6e254a14f --- /dev/null +++ b/src/systemctl/meson.build @@ -0,0 +1,83 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +systemctl_sources = files( + 'systemctl-add-dependency.c', + 'systemctl-add-dependency.h', + 'systemctl-cancel-job.c', + 'systemctl-cancel-job.h', + 'systemctl-clean-or-freeze.c', + 'systemctl-clean-or-freeze.h', + 'systemctl-compat-halt.c', + 'systemctl-compat-halt.h', + 'systemctl-compat-runlevel.c', + 'systemctl-compat-runlevel.h', + 'systemctl-compat-shutdown.c', + 'systemctl-compat-shutdown.h', + 'systemctl-compat-telinit.c', + 'systemctl-compat-telinit.h', + 'systemctl-daemon-reload.c', + 'systemctl-daemon-reload.h', + 'systemctl-edit.c', + 'systemctl-edit.h', + 'systemctl-enable.c', + 'systemctl-enable.h', + 'systemctl-is-active.c', + 'systemctl-is-active.h', + 'systemctl-is-enabled.c', + 'systemctl-is-enabled.h', + 'systemctl-is-system-running.c', + 'systemctl-is-system-running.h', + 'systemctl-kill.c', + 'systemctl-kill.h', + 'systemctl-list-dependencies.c', + 'systemctl-list-dependencies.h', + 'systemctl-list-jobs.c', + 'systemctl-list-jobs.h', + 'systemctl-list-machines.c', + 'systemctl-list-machines.h', + 'systemctl-list-unit-files.c', + 'systemctl-list-unit-files.h', + 'systemctl-list-units.c', + 'systemctl-list-units.h', + 'systemctl-log-setting.c', + 'systemctl-log-setting.h', + 'systemctl-logind.c', + 'systemctl-logind.h', + 'systemctl-mount.c', + 'systemctl-mount.h', + 'systemctl-preset-all.c', + 'systemctl-preset-all.h', + 'systemctl-reset-failed.c', + 'systemctl-reset-failed.h', + 'systemctl-service-watchdogs.c', + 'systemctl-service-watchdogs.h', + 'systemctl-set-default.c', + 'systemctl-set-default.h', + 'systemctl-set-environment.c', + 'systemctl-set-environment.h', + 'systemctl-set-property.c', + 'systemctl-set-property.h', + 'systemctl-show.c', + 'systemctl-show.h', + 'systemctl-start-special.c', + 'systemctl-start-special.h', + 'systemctl-start-unit.c', + 'systemctl-start-unit.h', + 'systemctl-switch-root.c', + 'systemctl-switch-root.h', + 'systemctl-sysv-compat.c', + 'systemctl-sysv-compat.h', + 'systemctl-trivial-method.c', + 'systemctl-trivial-method.h', + 'systemctl-util.c', + 'systemctl-util.h', + 'systemctl.c', + 'systemctl.h') + +if get_option('link-systemctl-shared') + systemctl_link_with = [libshared] +else + systemctl_link_with = [libsystemd_static, + libshared_static, + libbasic_gcrypt] +endif From cbaaf7b9dd81ae610edb0fdbf96b7f7427b5367a Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 4 Jan 2021 20:17:22 +0900 Subject: [PATCH 26/45] meson: drop redundant directory specification in additional source files --- meson.build | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/meson.build b/meson.build index 5b9beebaf9..50714d0234 100644 --- a/meson.build +++ b/meson.build @@ -1755,7 +1755,7 @@ test_dlopen = executable( build_by_default : want_tests != 'false') foreach tuple : [['myhostname', 'ENABLE_NSS_MYHOSTNAME'], - ['systemd', 'ENABLE_NSS_SYSTEMD', 'src/nss-systemd/userdb-glue.c src/nss-systemd/userdb-glue.h src/nss-systemd/nss-systemd.h'], + ['systemd', 'ENABLE_NSS_SYSTEMD', ['nss-systemd.h', 'userdb-glue.c', 'userdb-glue.h']], ['mymachines', 'ENABLE_NSS_MYMACHINES'], ['resolve', 'ENABLE_NSS_RESOLVE']] @@ -1768,7 +1768,9 @@ foreach tuple : [['myhostname', 'ENABLE_NSS_MYHOSTNAME'], sources = ['src/nss-@0@/nss-@0@.c'.format(module)] if tuple.length() > 2 - sources += tuple[2].split() + foreach s : tuple[2] + sources += ['src/nss-@0@/@1@'.format(module, s)] + endforeach endif nss = shared_library( From d33b0daa6cb7715f6977c22e955996eb12107462 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 4 Jan 2021 20:20:03 +0900 Subject: [PATCH 27/45] meson: use condition argument in test definition --- src/test/meson.build | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/src/test/meson.build b/src/test/meson.build index 6f74a4a7d4..656a33de91 100644 --- a/src/test/meson.build +++ b/src/test/meson.build @@ -545,21 +545,18 @@ tests += [ [['src/test/test-qrcode-util.c'], [], [libdl]], -] -if conf.get('ENABLE_NSCD') == 1 - tests += [ - [['src/test/test-nscd-flush.c'], - [libcore, - libshared], - [threads, - librt, - libseccomp, - libselinux, - libmount, - libblkid], - [], '', 'manual']] -endif + [['src/test/test-nscd-flush.c'], + [libcore, + libshared], + [threads, + librt, + libseccomp, + libselinux, + libmount, + libblkid], + [], 'ENABLE_NSCD', 'manual'], +] ############################################################ From 18b49798a6911754085acc10e0be55432a848893 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 4 Jan 2021 20:21:48 +0900 Subject: [PATCH 28/45] meson: show standalone-binaries setting in the summary --- meson.build | 1 + 1 file changed, 1 insertion(+) diff --git a/meson.build b/meson.build index 50714d0234..564ef6c83d 100644 --- a/meson.build +++ b/meson.build @@ -3822,6 +3822,7 @@ foreach tuple : [ ['kernel-install', get_option('kernel-install')], ['systemd-analyze', conf.get('ENABLE_ANALYZE') == 1], ['fexecve'], + ['standalone-binaries', get_option('standalone-binaries')], ] if tuple.length() >= 2 From b4d1892aacd64b091a9a3bdee7cfe7f743ac4ac1 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 4 Jan 2021 20:26:20 +0900 Subject: [PATCH 29/45] meson: move source file list for systemd-cryptsetup --- meson.build | 22 +--------------------- src/cryptsetup/meson.build | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 21 deletions(-) create mode 100644 src/cryptsetup/meson.build diff --git a/meson.build b/meson.build index 564ef6c83d..15bb9c59e3 100644 --- a/meson.build +++ b/meson.build @@ -1714,6 +1714,7 @@ subdir('src/udev') subdir('src/network') subdir('src/analyze') +subdir('src/cryptsetup') subdir('src/journal-remote') subdir('src/coredump') subdir('src/pstore') @@ -2321,27 +2322,6 @@ executable( install_dir : systemgeneratordir) if conf.get('HAVE_LIBCRYPTSETUP') == 1 - systemd_cryptsetup_sources = files(''' - src/cryptsetup/cryptsetup-fido2.h - src/cryptsetup/cryptsetup-keyfile.c - src/cryptsetup/cryptsetup-keyfile.h - src/cryptsetup/cryptsetup-pkcs11.h - src/cryptsetup/cryptsetup-tpm2.h - src/cryptsetup/cryptsetup.c -'''.split()) - - if conf.get('HAVE_P11KIT') == 1 - systemd_cryptsetup_sources += files('src/cryptsetup/cryptsetup-pkcs11.c') - endif - - if conf.get('HAVE_LIBFIDO2') == 1 - systemd_cryptsetup_sources += files('src/cryptsetup/cryptsetup-fido2.c') - endif - - if conf.get('HAVE_TPM2') == 1 - systemd_cryptsetup_sources += files('src/cryptsetup/cryptsetup-tpm2.c') - endif - executable( 'systemd-cryptsetup', systemd_cryptsetup_sources, diff --git a/src/cryptsetup/meson.build b/src/cryptsetup/meson.build new file mode 100644 index 0000000000..26267fba51 --- /dev/null +++ b/src/cryptsetup/meson.build @@ -0,0 +1,21 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +systemd_cryptsetup_sources = files( + 'cryptsetup-fido2.h', + 'cryptsetup-keyfile.c', + 'cryptsetup-keyfile.h', + 'cryptsetup-pkcs11.h', + 'cryptsetup-tpm2.h', + 'cryptsetup.c') + +if conf.get('HAVE_P11KIT') == 1 + systemd_cryptsetup_sources += files('cryptsetup-pkcs11.c') +endif + +if conf.get('HAVE_LIBFIDO2') == 1 + systemd_cryptsetup_sources += files('cryptsetup-fido2.c') +endif + +if conf.get('HAVE_TPM2') == 1 + systemd_cryptsetup_sources += files('cryptsetup-tpm2.c') +endif From 2ad279cfa4e784858b48a2896ed646689d027b27 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 4 Jan 2021 20:29:01 +0900 Subject: [PATCH 30/45] meson: move source file list for systemd-cryptenroll --- meson.build | 29 +---------------------------- src/cryptenroll/meson.build | 28 ++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 28 deletions(-) create mode 100644 src/cryptenroll/meson.build diff --git a/meson.build b/meson.build index 15bb9c59e3..dedc52f58d 100644 --- a/meson.build +++ b/meson.build @@ -1714,6 +1714,7 @@ subdir('src/udev') subdir('src/network') subdir('src/analyze') +subdir('src/cryptenroll') subdir('src/cryptsetup') subdir('src/journal-remote') subdir('src/coredump') @@ -2361,34 +2362,6 @@ if conf.get('HAVE_LIBCRYPTSETUP') == 1 install : true, install_dir : systemgeneratordir) - systemd_cryptenroll_sources = files(''' - src/cryptenroll/cryptenroll-fido2.h - src/cryptenroll/cryptenroll-list.c - src/cryptenroll/cryptenroll-list.h - src/cryptenroll/cryptenroll-password.c - src/cryptenroll/cryptenroll-password.h - src/cryptenroll/cryptenroll-pkcs11.h - src/cryptenroll/cryptenroll-recovery.c - src/cryptenroll/cryptenroll-recovery.h - src/cryptenroll/cryptenroll-tpm2.h - src/cryptenroll/cryptenroll-wipe.c - src/cryptenroll/cryptenroll-wipe.h - src/cryptenroll/cryptenroll.c - src/cryptenroll/cryptenroll.h -'''.split()) - - if conf.get('HAVE_P11KIT') == 1 and conf.get('HAVE_OPENSSL') == 1 - systemd_cryptenroll_sources += files('src/cryptenroll/cryptenroll-pkcs11.c') - endif - - if conf.get('HAVE_LIBFIDO2') == 1 - systemd_cryptenroll_sources += files('src/cryptenroll/cryptenroll-fido2.c') - endif - - if conf.get('HAVE_TPM2') == 1 - systemd_cryptenroll_sources += files('src/cryptenroll/cryptenroll-tpm2.c') - endif - executable( 'systemd-cryptenroll', systemd_cryptenroll_sources, diff --git a/src/cryptenroll/meson.build b/src/cryptenroll/meson.build new file mode 100644 index 0000000000..0a795934e2 --- /dev/null +++ b/src/cryptenroll/meson.build @@ -0,0 +1,28 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +systemd_cryptenroll_sources = files( + 'cryptenroll-fido2.h', + 'cryptenroll-list.c', + 'cryptenroll-list.h', + 'cryptenroll-password.c', + 'cryptenroll-password.h', + 'cryptenroll-pkcs11.h', + 'cryptenroll-recovery.c', + 'cryptenroll-recovery.h', + 'cryptenroll-tpm2.h', + 'cryptenroll-wipe.c', + 'cryptenroll-wipe.h', + 'cryptenroll.c', + 'cryptenroll.h') + +if conf.get('HAVE_P11KIT') == 1 and conf.get('HAVE_OPENSSL') == 1 + systemd_cryptenroll_sources += files('cryptenroll-pkcs11.c') +endif + +if conf.get('HAVE_LIBFIDO2') == 1 + systemd_cryptenroll_sources += files('cryptenroll-fido2.c') +endif + +if conf.get('HAVE_TPM2') == 1 + systemd_cryptenroll_sources += files('cryptenroll-tpm2.c') +endif From f98df767e19bd655f5e0c089f1fe7bd2b1d3af28 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 4 Jan 2021 20:35:33 +0900 Subject: [PATCH 31/45] meson: move source file list for busctl --- meson.build | 5 ++--- src/busctl/meson.build | 6 ++++++ 2 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 src/busctl/meson.build diff --git a/meson.build b/meson.build index dedc52f58d..ec3bb605f2 100644 --- a/meson.build +++ b/meson.build @@ -1714,6 +1714,7 @@ subdir('src/udev') subdir('src/network') subdir('src/analyze') +subdir('src/busctl') subdir('src/cryptenroll') subdir('src/cryptsetup') subdir('src/journal-remote') @@ -3015,9 +3016,7 @@ public_programs += executable( public_programs += executable( 'busctl', - 'src/busctl/busctl.c', - 'src/busctl/busctl-introspect.c', - 'src/busctl/busctl-introspect.h', + busctl_sources, include_directories : includes, link_with : [libshared], install_rpath : rootlibexecdir, diff --git a/src/busctl/meson.build b/src/busctl/meson.build new file mode 100644 index 0000000000..aacd0b270d --- /dev/null +++ b/src/busctl/meson.build @@ -0,0 +1,6 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +busctl_sources = files( + 'busctl-introspect.c', + 'busctl-introspect.h', + 'busctl.c') From 0275e918afd184d297c3da4f6f64ad16f7dead71 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 4 Jan 2021 20:41:37 +0900 Subject: [PATCH 32/45] meson: move source file list for systemd-xdg-autostart-generator and its tests --- meson.build | 4 ++-- src/fuzz/meson.build | 4 ---- src/test/meson.build | 8 -------- src/xdg-autostart-generator/meson.build | 18 ++++++++++++++++++ 4 files changed, 20 insertions(+), 14 deletions(-) create mode 100644 src/xdg-autostart-generator/meson.build diff --git a/meson.build b/meson.build index ec3bb605f2..7396c943c0 100644 --- a/meson.build +++ b/meson.build @@ -1738,6 +1738,7 @@ subdir('src/timesync') subdir('src/tmpfiles') subdir('src/vconsole') subdir('src/boot/efi') +subdir('src/xdg-autostart-generator') subdir('src/test') subdir('src/fuzz') @@ -2400,8 +2401,7 @@ endif if conf.get('ENABLE_XDG_AUTOSTART') == 1 executable( 'systemd-xdg-autostart-generator', - 'src/xdg-autostart-generator/xdg-autostart-generator.c', - 'src/xdg-autostart-generator/xdg-autostart-service.c', + systemd_xdg_autostart_generator_sources, include_directories : includes, link_with : [libshared], install_rpath : rootlibexecdir, diff --git a/src/fuzz/meson.build b/src/fuzz/meson.build index 46307375a4..7a62527321 100644 --- a/src/fuzz/meson.build +++ b/src/fuzz/meson.build @@ -109,9 +109,5 @@ fuzzers += [ [['src/fuzz/fuzz-time-util.c']], - [['src/xdg-autostart-generator/fuzz-xdg-desktop.c', - 'src/xdg-autostart-generator/xdg-autostart-service.h', - 'src/xdg-autostart-generator/xdg-autostart-service.c']], - [['src/udev/fuzz-udev-rule-parse-value.c']], ] diff --git a/src/test/meson.build b/src/test/meson.build index 656a33de91..6f2542c4d6 100644 --- a/src/test/meson.build +++ b/src/test/meson.build @@ -871,11 +871,3 @@ tests += [ libshared], [threads]], ] - -############################################################ - -tests += [ - [['src/xdg-autostart-generator/test-xdg-autostart.c', - 'src/xdg-autostart-generator/xdg-autostart-service.c', - 'src/xdg-autostart-generator/xdg-autostart-service.h']], -] diff --git a/src/xdg-autostart-generator/meson.build b/src/xdg-autostart-generator/meson.build new file mode 100644 index 0000000000..aa722f7f3c --- /dev/null +++ b/src/xdg-autostart-generator/meson.build @@ -0,0 +1,18 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +systemd_xdg_autostart_generator_sources = files( + 'xdg-autostart-generator.c', + 'xdg-autostart-service.c', + 'xdg-autostart-service.h') + +tests += [ + [['src/xdg-autostart-generator/test-xdg-autostart.c', + 'src/xdg-autostart-generator/xdg-autostart-service.c', + 'src/xdg-autostart-generator/xdg-autostart-service.h']], +] + +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']], +] From 73e994f291c45442969b75671bd0fba2656102ab Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 4 Jan 2021 20:43:44 +0900 Subject: [PATCH 33/45] meson: drop redundant source files in executable() --- meson.build | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/meson.build b/meson.build index 7396c943c0..70dc7bd104 100644 --- a/meson.build +++ b/meson.build @@ -1965,7 +1965,6 @@ if conf.get('HAVE_BLKID') == 1 executable( 'systemd-gpt-auto-generator', 'src/gpt-auto-generator/gpt-auto-generator.c', - 'src/shared/blkid-util.h', include_directories : includes, link_with : [libshared], dependencies : libblkid, @@ -3102,7 +3101,6 @@ if conf.get('ENABLE_HWDB') == 1 public_programs += executable( 'systemd-hwdb', 'src/hwdb/hwdb.c', - 'src/libsystemd/sd-hwdb/hwdb-internal.h', include_directories : includes, link_with : udev_link_with, install_rpath : udev_rpath, @@ -3258,7 +3256,7 @@ endif executable( 'systemd-sulogin-shell', - ['src/sulogin-shell/sulogin-shell.c'], + 'src/sulogin-shell/sulogin-shell.c', include_directories : includes, link_with : [libshared], install_rpath : rootlibexecdir, From f6fe732ff3cdaedfc6a0aed127ded9ddb562cc1a Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 4 Jan 2021 20:47:00 +0900 Subject: [PATCH 34/45] meson: move and gather find_program() --- meson.build | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/meson.build b/meson.build index 70dc7bd104..c018cd60f8 100644 --- a/meson.build +++ b/meson.build @@ -1589,13 +1589,28 @@ else endif conf.set10('ENABLE_EFI', have) +############################################################ + +autosuspend_update_sh = find_program('tools/autosuspend-update.sh') +hwdb_update_sh = find_program('tools/hwdb-update.sh') +make_autosuspend_rules_py = find_program('tools/make-autosuspend-rules.py') +make_directive_index_py = find_program('tools/make-directive-index.py') +make_man_index_py = find_program('tools/make-man-index.py') +syscall_table_update_sh = find_program('tools/syscall-table-update.sh') +xml_helper_py = find_program('tools/xml_helper.py') +update_dbus_docs_py = find_program('tools/update-dbus-docs.py') +meson_apply_m4 = find_program('tools/meson-apply-m4.sh') +generate_gperfs = find_program('tools/generate-gperfs.py') + ##################################################################### config_h = configure_file( output : 'config.h', configuration : conf) -meson_apply_m4 = find_program('tools/meson-apply-m4.sh') +add_project_arguments('-include', 'config.h', language : 'c') + +############################################################ includes = include_directories('src/basic', 'src/boot', @@ -1624,20 +1639,6 @@ includes = include_directories('src/basic', 'src/xdg-autostart-generator', '.') -add_project_arguments('-include', 'config.h', language : 'c') - -generate_gperfs = find_program('tools/generate-gperfs.py') -autosuspend_update_sh = find_program('tools/autosuspend-update.sh') -hwdb_update_sh = find_program('tools/hwdb-update.sh') -make_autosuspend_rules_py = find_program('tools/make-autosuspend-rules.py') -make_directive_index_py = find_program('tools/make-directive-index.py') -make_man_index_py = find_program('tools/make-man-index.py') -syscall_table_update_sh = find_program('tools/syscall-table-update.sh') -xml_helper_py = find_program('tools/xml_helper.py') -update_dbus_docs_py = find_program('tools/update-dbus-docs.py') - -############################################################ - subdir('po') subdir('catalog') subdir('src/libudev') From 3976f372ae91e1cbe5ff9873aadfc2c43400452e Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 4 Jan 2021 21:13:30 +0900 Subject: [PATCH 35/45] meson: move libudev related definitions to src/libudev/meson.build Also, this makes libudev.so built in build directory. --- meson.build | 39 ++++++++++++++++++++++++++++++---- src/libudev/meson.build | 47 ++++++++++++++++++++++++++++------------- src/udev/meson.build | 46 ---------------------------------------- 3 files changed, 67 insertions(+), 65 deletions(-) diff --git a/meson.build b/meson.build index c018cd60f8..bea4d56155 100644 --- a/meson.build +++ b/meson.build @@ -1641,13 +1641,14 @@ includes = include_directories('src/basic', subdir('po') subdir('catalog') -subdir('src/libudev') -subdir('src/systemd') subdir('src/basic') subdir('src/libsystemd') subdir('src/libsystemd-network') subdir('src/journal') subdir('src/login') +subdir('src/shared') +subdir('src/udev') +subdir('src/libudev') libjournal_core = static_library( 'journal-core', @@ -1702,16 +1703,44 @@ install_libsystemd_static = static_library( libgcrypt], c_args : libsystemd_c_args + (static_libsystemd_pic ? [] : ['-fno-PIC'])) +libudev = shared_library( + 'udev', + disable_mempool_c, + version : libudev_version, + include_directories : includes, + link_args : ['-shared', + '-Wl,--version-script=' + libudev_sym_path], + link_with : [libsystemd_static, libshared_static], + link_whole : libudev_basic, + dependencies : [threads], + link_depends : libudev_sym, + install : true, + install_dir : rootlibdir) + +install_libudev_static = static_library( + 'udev', + basic_sources, + shared_sources, + libsystemd_sources, + libudev_sources, + disable_mempool_c, + include_directories : includes, + build_by_default : static_libudev != 'false', + install : static_libudev != 'false', + install_dir : rootlibdir, + link_depends : libudev_sym, + dependencies : libshared_deps + [libmount], + c_args : static_libudev_pic ? [] : ['-fno-PIC'], + pic : static_libudev_pic) + ############################################################ # binaries that have --help and are intended for use by humans, # usually, but not always, installed in /bin. public_programs = [] -subdir('src/shared') subdir('src/core') subdir('src/shutdown') -subdir('src/udev') subdir('src/network') subdir('src/analyze') @@ -1741,6 +1770,8 @@ subdir('src/vconsole') subdir('src/boot/efi') subdir('src/xdg-autostart-generator') +subdir('src/systemd') + subdir('src/test') subdir('src/fuzz') subdir('rules.d') diff --git a/src/libudev/meson.build b/src/libudev/meson.build index 3bd00ff4cc..61153baffc 100644 --- a/src/libudev/meson.build +++ b/src/libudev/meson.build @@ -1,26 +1,43 @@ # SPDX-License-Identifier: LGPL-2.1-or-later -libudev_sources = files(''' - libudev.c - libudev-device.c - libudev-device-internal.h - libudev-enumerate.c - libudev-hwdb.c - libudev-list.c - libudev-list-internal.h - libudev-monitor.c - libudev-queue.c - libudev-util.c - libudev-util.h -'''.split()) +libudev_sources = files( + 'libudev-device.c', + 'libudev-device-internal.h', + 'libudev-enumerate.c', + 'libudev-hwdb.c', + 'libudev-list.c', + 'libudev-list-internal.h', + 'libudev-monitor.c', + 'libudev-queue.c', + 'libudev-util.c', + 'libudev-util.h', + 'libudev.c', + 'libudev.h') ############################################################ +libudev_includes = [includes, include_directories('.')] + libudev_sym = files('libudev.sym') -libudev_sym_path = meson.current_source_dir() + '/libudev.sym' +libudev_sym_path = join_paths(meson.current_source_dir(), 'libudev.sym') install_headers('libudev.h') -libudev_h_path = '@0@/libudev.h'.format(meson.current_source_dir()) +libudev_h_path = join_paths(meson.current_source_dir(), 'libudev.h') + +libudev_basic = static_library( + 'udev-basic', + libudev_sources, + include_directories : includes, + c_args : ['-fvisibility=default']) + +libudev_static = static_library( + 'udev_static', + include_directories : includes, + link_with : udev_link_with, + link_whole : libudev_basic) + +static_libudev = get_option('static-libudev') +static_libudev_pic = static_libudev == 'true' or static_libudev == 'pic' configure_file( input : 'libudev.pc.in', diff --git a/src/udev/meson.build b/src/udev/meson.build index fb510cf9b1..d84aea2004 100644 --- a/src/udev/meson.build +++ b/src/udev/meson.build @@ -103,52 +103,6 @@ else udev_rpath = '' endif -libudev_includes = [includes, include_directories('../libudev')] - -libudev_basic = static_library( - 'udev-basic', - libudev_sources, - include_directories : libudev_includes, - c_args : ['-fvisibility=default']) - -libudev_static = static_library( - 'udev_static', - include_directories : libudev_includes, - link_with : udev_link_with, - link_whole : libudev_basic) - -static_libudev = get_option('static-libudev') -static_libudev_pic = static_libudev == 'true' or static_libudev == 'pic' -install_libudev_static = static_library( - 'udev', - basic_sources, - shared_sources, - libsystemd_sources, - libudev_sources, - disable_mempool_c, - include_directories : libudev_includes, - build_by_default : static_libudev != 'false', - install : static_libudev != 'false', - install_dir : rootlibdir, - link_depends : libudev_sym, - dependencies : libshared_deps + [libmount], - c_args : static_libudev_pic ? [] : ['-fno-PIC'], - pic : static_libudev_pic) - -libudev = shared_library( - 'udev', - disable_mempool_c, - version : libudev_version, - include_directories : libudev_includes, - link_args : ['-shared', - '-Wl,--version-script=' + libudev_sym_path], - link_with : [libsystemd_static, libshared_static], - link_whole : libudev_basic, - dependencies : [threads], - link_depends : libudev_sym, - install : true, - install_dir : rootlibdir) - ############################################################ libudevd_core_includes = [includes, include_directories('net')] From 529642936be63dbf226be8ce81a5b502f148c891 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 4 Jan 2021 21:16:15 +0900 Subject: [PATCH 36/45] meson: move libjournal_core definition to src/journal/meson.build --- meson.build | 7 ------- src/journal/meson.build | 20 +++++++++++++------- 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/meson.build b/meson.build index bea4d56155..f6ce4df056 100644 --- a/meson.build +++ b/meson.build @@ -1650,13 +1650,6 @@ subdir('src/shared') subdir('src/udev') subdir('src/libudev') -libjournal_core = static_library( - 'journal-core', - libjournal_core_sources, - journald_gperf_c, - include_directories : includes, - install : false) - libsystemd_sym_path = '@0@/@1@'.format(project_source_root, libsystemd_sym) libsystemd = shared_library( 'systemd', diff --git a/src/journal/meson.build b/src/journal/meson.build index 59da7aa7e0..177eb33047 100644 --- a/src/journal/meson.build +++ b/src/journal/meson.build @@ -1,6 +1,6 @@ # SPDX-License-Identifier: LGPL-2.1-or-later -libjournal_core_sources = files(''' +sources = files(''' journald-audit.c journald-audit.h journald-console.c @@ -23,17 +23,23 @@ libjournal_core_sources = files(''' journald-wall.h '''.split()) -systemd_journald_sources = files(''' - journald.c - journald-server.h -'''.split()) - -journald_gperf_c = custom_target( +sources += custom_target( 'journald-gperf.c', input : 'journald-gperf.gperf', output : 'journald-gperf.c', command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@']) +libjournal_core = static_library( + 'journal-core', + sources, + include_directories : includes, + install : false) + +systemd_journald_sources = files(''' + journald.c + journald-server.h +'''.split()) + systemd_cat_sources = files('cat.c') journalctl_sources = files(''' From b61016f207114b2705eb414b5dba58543716e806 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 4 Jan 2021 21:27:00 +0900 Subject: [PATCH 37/45] meson: sort inclusion of meson.build files in subdirectories --- meson.build | 45 ++++++++++++++++++++++++--------------------- 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/meson.build b/meson.build index f6ce4df056..85daca2c61 100644 --- a/meson.build +++ b/meson.build @@ -1553,9 +1553,6 @@ conf.set10('ENABLE_NSS', enable_nss) conf.set10('ENABLE_TIMEDATECTL', get_option('timedated') or get_option('timesyncd')) -tests = [] -fuzzers = [] - conf.set10('SYSTEMD_SLOW_TESTS_DEFAULT', slow_tests) ##################################################################### @@ -1612,6 +1609,13 @@ add_project_arguments('-include', 'config.h', language : 'c') ############################################################ +# binaries that have --help and are intended for use by humans, +# usually, but not always, installed in /bin. +public_programs = [] + +tests = [] +fuzzers = [] + includes = include_directories('src/basic', 'src/boot', 'src/core', @@ -1643,9 +1647,6 @@ subdir('po') subdir('catalog') subdir('src/basic') subdir('src/libsystemd') -subdir('src/libsystemd-network') -subdir('src/journal') -subdir('src/login') subdir('src/shared') subdir('src/udev') subdir('src/libudev') @@ -1728,39 +1729,41 @@ install_libudev_static = static_library( ############################################################ -# binaries that have --help and are intended for use by humans, -# usually, but not always, installed in /bin. -public_programs = [] - +# systemd-analyze requires 'libcore' subdir('src/core') -subdir('src/shutdown') -subdir('src/network') +# systemd-journal-remote requires 'libjournal_core' +subdir('src/journal') +# systemd-networkd requires 'libsystemd_network' +subdir('src/libsystemd-network') subdir('src/analyze') +subdir('src/boot/efi') subdir('src/busctl') +subdir('src/coredump') subdir('src/cryptenroll') subdir('src/cryptsetup') -subdir('src/journal-remote') -subdir('src/coredump') -subdir('src/pstore') -subdir('src/oom') +subdir('src/home') subdir('src/hostname') subdir('src/import') -subdir('src/partition') +subdir('src/journal-remote') subdir('src/kernel-install') subdir('src/locale') +subdir('src/login') subdir('src/machine') -subdir('src/portable') -subdir('src/userdb') -subdir('src/home') +subdir('src/network') subdir('src/nspawn') +subdir('src/oom') +subdir('src/partition') +subdir('src/portable') +subdir('src/pstore') subdir('src/resolve') +subdir('src/shutdown') subdir('src/systemctl') subdir('src/timedate') subdir('src/timesync') subdir('src/tmpfiles') +subdir('src/userdb') subdir('src/vconsole') -subdir('src/boot/efi') subdir('src/xdg-autostart-generator') subdir('src/systemd') From 8d40961c3c64cbeebe8ca5b47693f277c6763e28 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 4 Jan 2021 23:36:00 +0900 Subject: [PATCH 38/45] meson: slightly disentangle code dependencies But, still sd-id128 is used in src/basic. --- meson.build | 66 ++++++++++------------- src/basic/meson.build | 4 +- src/core/meson.build | 2 + src/home/meson.build | 2 + src/journal-remote/meson.build | 2 +- src/journal/meson.build | 2 + src/libsystemd-network/meson.build | 2 + src/libsystemd/meson.build | 2 +- src/network/meson.build | 14 ++--- src/resolve/meson.build | 4 +- src/test/meson.build | 87 ++++++++++++++++-------------- src/udev/meson.build | 7 +-- 12 files changed, 103 insertions(+), 91 deletions(-) diff --git a/meson.build b/meson.build index 85daca2c61..f2884a3d45 100644 --- a/meson.build +++ b/meson.build @@ -1616,32 +1616,23 @@ public_programs = [] tests = [] fuzzers = [] -includes = include_directories('src/basic', - 'src/boot', - 'src/core', - 'src/home', - 'src/journal', - 'src/journal-remote', - 'src/libsystemd-network', - 'src/libsystemd/sd-bus', - 'src/libsystemd/sd-device', - 'src/libsystemd/sd-event', - 'src/libsystemd/sd-hwdb', - 'src/libsystemd/sd-id128', - 'src/libsystemd/sd-journal', - 'src/libsystemd/sd-netlink', - 'src/libsystemd/sd-network', - 'src/libsystemd/sd-resolve', - 'src/login', - 'src/nspawn', - 'src/resolve', - 'src/shared', - 'src/shutdown', - 'src/systemd', - 'src/timesync', - 'src/udev', - 'src/xdg-autostart-generator', - '.') +basic_includes = include_directories( + 'src/basic', + 'src/systemd', + '.') + +libsystemd_includes = [basic_includes, include_directories( + 'src/libsystemd/sd-bus', + 'src/libsystemd/sd-device', + 'src/libsystemd/sd-event', + 'src/libsystemd/sd-hwdb', + 'src/libsystemd/sd-id128', + 'src/libsystemd/sd-journal', + 'src/libsystemd/sd-netlink', + 'src/libsystemd/sd-network', + 'src/libsystemd/sd-resolve')] + +includes = [libsystemd_includes, include_directories('src/shared')] subdir('po') subdir('catalog') @@ -1656,7 +1647,7 @@ libsystemd = shared_library( 'systemd', disable_mempool_c, version : libsystemd_version, - include_directories : includes, + include_directories : libsystemd_includes, link_args : ['-shared', '-Wl,--version-script=' + libsystemd_sym_path], link_with : [libbasic, @@ -1680,7 +1671,7 @@ install_libsystemd_static = static_library( basic_sources, basic_gcrypt_sources, disable_mempool_c, - include_directories : includes, + include_directories : libsystemd_includes, build_by_default : static_libsystemd != 'false', install : static_libsystemd != 'false', install_dir : rootlibdir, @@ -1789,7 +1780,7 @@ test_dlopen = executable( foreach tuple : [['myhostname', 'ENABLE_NSS_MYHOSTNAME'], ['systemd', 'ENABLE_NSS_SYSTEMD', ['nss-systemd.h', 'userdb-glue.c', 'userdb-glue.h']], ['mymachines', 'ENABLE_NSS_MYMACHINES'], - ['resolve', 'ENABLE_NSS_RESOLVE']] + ['resolve', 'ENABLE_NSS_RESOLVE', [], resolve_includes]] condition = tuple[1] == '' or conf.get(tuple[1]) == 1 if condition @@ -1805,12 +1796,14 @@ foreach tuple : [['myhostname', 'ENABLE_NSS_MYHOSTNAME'], endforeach endif + incs = tuple.length() > 3 ? tuple[3] : includes + nss = shared_library( 'nss_' + module, sources, disable_mempool_c, version : '2', - include_directories : includes, + include_directories : incs, # Note that we link NSS modules with '-z nodelete' so that mempools never get orphaned link_args : ['-Wl,-z,nodelete', '-shared', @@ -1865,7 +1858,7 @@ meson.add_install_script(meson_make_symlink, public_programs += executable( 'systemd-analyze', systemd_analyze_sources, - include_directories : includes, + include_directories : core_includes, link_with : [libcore, libshared], dependencies : [versiondep, @@ -2013,7 +2006,7 @@ if conf.get('ENABLE_RESOLVE') == 1 executable( 'systemd-resolved', systemd_resolved_sources, - include_directories : includes, + include_directories : resolve_includes, link_with : [libshared, libbasic_gcrypt, libsystemd_resolve_core], @@ -2265,7 +2258,7 @@ if conf.get('ENABLE_HOMED') == 1 executable( 'systemd-homed', systemd_homed_sources, - include_directories : includes, + include_directories : home_includes, link_with : [libshared], dependencies : [threads, libcrypt, @@ -3236,7 +3229,7 @@ if conf.get('ENABLE_NETWORKD') == 1 executable( 'systemd-networkd', systemd_networkd_sources, - include_directories : network_include_dir, + include_directories : network_includes, link_with : [libnetworkd_core, libsystemd_network, networkd_link_with], @@ -3249,8 +3242,7 @@ if conf.get('ENABLE_NETWORKD') == 1 'systemd-networkd-wait-online', systemd_networkd_wait_online_sources, include_directories : includes, - link_with : [libnetworkd_core, - networkd_link_with], + link_with : [networkd_link_with], install_rpath : rootlibexecdir, install : true, install_dir : rootlibexecdir) @@ -3258,7 +3250,7 @@ if conf.get('ENABLE_NETWORKD') == 1 public_programs += executable( 'networkctl', networkctl_sources, - include_directories : includes, + include_directories : libsystemd_network_includes, link_with : [libsystemd_network, networkd_link_with], install_rpath : rootlibexecdir, diff --git a/src/basic/meson.build b/src/basic/meson.build index 9b3366c5e9..c801251e30 100644 --- a/src/basic/meson.build +++ b/src/basic/meson.build @@ -381,7 +381,7 @@ run_target( libbasic = static_library( 'basic', basic_sources, - include_directories : includes, + include_directories : basic_includes, dependencies : [versiondep, threads, libcap, @@ -403,6 +403,6 @@ basic_gcrypt_sources = files( libbasic_gcrypt = static_library( 'basic-gcrypt', basic_gcrypt_sources, - include_directories : includes, + include_directories : basic_includes, dependencies : [libgcrypt], c_args : ['-fvisibility=default']) diff --git a/src/core/meson.build b/src/core/meson.build index 1aaf7cd929..a33b2d0ac9 100644 --- a/src/core/meson.build +++ b/src/core/meson.build @@ -158,6 +158,8 @@ libcore = static_library( libmount, libacl]) +core_includes = [includes, include_directories('.')] + systemd_sources = files('main.c') in_files = [['macros.systemd', rpmmacrosdir], diff --git a/src/home/meson.build b/src/home/meson.build index 61f1e08a8a..53a387fd97 100644 --- a/src/home/meson.build +++ b/src/home/meson.build @@ -1,5 +1,7 @@ # SPDX-License-Identifier: LGPL-2.1-or-later +home_includes = [includes, include_directories('.')] + systemd_homework_sources = files(''' home-util.c home-util.h diff --git a/src/journal-remote/meson.build b/src/journal-remote/meson.build index 67828c95fe..748dc23b83 100644 --- a/src/journal-remote/meson.build +++ b/src/journal-remote/meson.build @@ -24,7 +24,7 @@ endif libsystemd_journal_remote = static_library( 'systemd-journal-remote', libsystemd_journal_remote_sources, - include_directories : includes, + include_directories : journal_includes, dependencies : [threads, libmicrohttpd, libgnutls, diff --git a/src/journal/meson.build b/src/journal/meson.build index 177eb33047..a36de18077 100644 --- a/src/journal/meson.build +++ b/src/journal/meson.build @@ -35,6 +35,8 @@ libjournal_core = static_library( include_directories : includes, install : false) +journal_includes = [includes, include_directories('.')] + systemd_journald_sources = files(''' journald.c journald-server.h diff --git a/src/libsystemd-network/meson.build b/src/libsystemd-network/meson.build index 8c68d74c82..b36dc83d79 100644 --- a/src/libsystemd-network/meson.build +++ b/src/libsystemd-network/meson.build @@ -47,3 +47,5 @@ libsystemd_network = static_library( 'systemd-network', sources, include_directories : includes) + +libsystemd_network_includes = [includes, include_directories('.')] diff --git a/src/libsystemd/meson.build b/src/libsystemd/meson.build index 4d2e5e54e6..42322bff2f 100644 --- a/src/libsystemd/meson.build +++ b/src/libsystemd/meson.build @@ -164,7 +164,7 @@ libsystemd_static = static_library( 'systemd_static', libsystemd_sources, install : false, - include_directories : includes, + include_directories : libsystemd_includes, link_with : libbasic, dependencies : [threads, librt], diff --git a/src/network/meson.build b/src/network/meson.build index 606c93ca45..5993db8d06 100644 --- a/src/network/meson.build +++ b/src/network/meson.build @@ -207,12 +207,12 @@ else libbasic_gcrypt] endif -network_include_dir = [includes, include_directories(['.', 'netdev', 'tc'])] +network_includes = [libsystemd_network_includes, include_directories(['.', 'netdev', 'tc'])] libnetworkd_core = static_library( 'networkd-core', sources, - include_directories : network_include_dir, + include_directories : network_includes, link_with : [networkd_link_with]) if conf.get('ENABLE_NETWORKD') == 1 @@ -243,14 +243,14 @@ fuzzers += [ libsystemd_network, networkd_link_with], [threads], - network_include_dir], + network_includes], [['src/network/fuzz-network-parser.c'], [libnetworkd_core, libsystemd_network, networkd_link_with], [threads], - network_include_dir], + network_includes], ] tests += [ @@ -258,19 +258,19 @@ tests += [ [libnetworkd_core, libsystemd_network], [], - network_include_dir], + network_includes], [['src/network/test-network.c'], [libnetworkd_core, libsystemd_network], [threads], - network_include_dir], + network_includes], [['src/network/test-network-tables.c'], [libnetworkd_core, libsystemd_network], [threads], - network_include_dir], + network_includes], [['src/network/generator/test-network-generator.c', 'src/network/generator/network-generator.c', diff --git a/src/resolve/meson.build b/src/resolve/meson.build index 2ed67a86ad..11c003a207 100644 --- a/src/resolve/meson.build +++ b/src/resolve/meson.build @@ -1,5 +1,7 @@ # SPDX-License-Identifier: LGPL-2.1-or-later +resolve_includes = [includes, include_directories('.')] + basic_dns_sources = files(''' resolved-dns-dnssec.c resolved-dns-dnssec.h @@ -206,5 +208,5 @@ tests += [ [['src/resolve/test-dnssec-complex.c', 'src/resolve/dns-type.c'], - [], [], [], '', 'manual'], + [], [], resolve_includes, '', 'manual'], ] diff --git a/src/test/meson.build b/src/test/meson.build index 6f2542c4d6..0c5652a52b 100644 --- a/src/test/meson.build +++ b/src/test/meson.build @@ -52,15 +52,20 @@ tests += [ libseccomp, libselinux, libmount, - libblkid]], + libblkid], + core_includes], [['src/test/test-emergency-action.c'], [libcore, - libshared]], + libshared], + [], + core_includes], [['src/test/test-chown-rec.c'], [libcore, - libshared]], + libshared], + [], + core_includes], [['src/test/test-dlopen-so.c']], @@ -72,7 +77,8 @@ tests += [ libseccomp, libselinux, libmount, - libblkid]], + libblkid], + core_includes], [['src/test/test-ns.c'], [libcore, @@ -83,7 +89,7 @@ tests += [ libselinux, libmount, libblkid], - [], '', 'manual'], + core_includes, '', 'manual'], [['src/test/test-loopback.c'], [libcore, @@ -93,11 +99,10 @@ tests += [ libseccomp, libselinux, libmount, - libblkid]], + libblkid], + core_includes], - [['src/test/test-dns-domain.c'], - [libcore, - libshared]], + [['src/test/test-dns-domain.c']], [['src/test/test-boot-timestamps.c'], [], [], [], 'ENABLE_EFI'], @@ -112,7 +117,8 @@ tests += [ libseccomp, libselinux, libmount, - libblkid]], + libblkid], + core_includes], [['src/test/test-load-fragment.c'], [libcore, @@ -122,7 +128,8 @@ tests += [ libseccomp, libselinux, libmount, - libblkid]], + libblkid], + core_includes], [['src/test/test-serialize.c']], @@ -258,7 +265,8 @@ tests += [ [libcore, libshared], [threads, - libblkid]], + libblkid], + core_includes], [['src/test/test-verbs.c']], @@ -284,7 +292,7 @@ tests += [ libshared], [threads, libblkid], - [], '', '', [], false], + core_includes, '', '', [], false], [['src/test/test-selinux.c']], @@ -299,7 +307,8 @@ tests += [ librt, libseccomp, libselinux, - libblkid]], + libblkid], + core_includes], [['src/test/test-bpf-firewall.c'], [libcore, @@ -309,7 +318,8 @@ tests += [ librt, libseccomp, libselinux, - libblkid]], + libblkid], + core_includes], [['src/test/test-watch-pid.c'], [libcore, @@ -319,7 +329,8 @@ tests += [ librt, libseccomp, libselinux, - libblkid]], + libblkid], + core_includes], [['src/test/test-hashmap.c', 'src/test/test-hashmap-plain.c', @@ -345,10 +356,7 @@ tests += [ [['src/test/test-unaligned.c']], - [['src/test/test-tables.c', - 'src/shared/test-tables.h', - 'src/journal/journald-server.c', - 'src/journal/journald-server.h'], + [['src/test/test-tables.c'], [libcore, libjournal_core, libudevd_core, @@ -359,7 +367,7 @@ tests += [ libxz, liblz4, libblkid], - libudevd_core_includes], + [core_includes, journal_includes, udev_includes]], [['src/test/test-prioq.c']], @@ -406,11 +414,15 @@ tests += [ [['src/test/test-cgroup-cpu.c'], [libcore, - libshared]], + libshared], + [], + core_includes], [['src/test/test-cgroup-unit-default.c'], [libcore, - libshared]], + libshared], + [], + core_includes], [['src/test/test-cgroup-mask.c'], [libcore, @@ -420,7 +432,8 @@ tests += [ libseccomp, libselinux, libmount, - libblkid]], + libblkid], + core_includes], [['src/test/test-varlink.c'], [], @@ -454,7 +467,7 @@ tests += [ libselinux, libmount, libblkid], - [], '', 'timeout=120'], + core_includes, '', 'timeout=120'], [['src/test/test-execute.c'], [libcore, @@ -465,7 +478,7 @@ tests += [ libselinux, libmount, libblkid], - [], '', 'timeout=360'], + core_includes, '', 'timeout=360'], [['src/test/test-siphash24.c']], @@ -474,7 +487,8 @@ tests += [ [['src/test/test-install.c'], [libcore, libshared], - [], [], '', 'manual'], + [], + core_includes, '', 'manual'], [['src/test/test-watchdog.c']], @@ -486,7 +500,8 @@ tests += [ libseccomp, libselinux, libmount, - libblkid]], + libblkid], + core_includes], [['src/test/test-conf-files.c']], @@ -516,7 +531,7 @@ tests += [ libkmod, libacl, libselinux], - [], '', 'manual', '-DLOG_REALM=LOG_REALM_UDEV'], + udev_includes, '', 'manual', '-DLOG_REALM=LOG_REALM_UDEV'], [['src/test/test-udev-util.c']], @@ -547,15 +562,7 @@ tests += [ [libdl]], [['src/test/test-nscd-flush.c'], - [libcore, - libshared], - [threads, - librt, - libseccomp, - libselinux, - libmount, - libblkid], - [], 'ENABLE_NSCD', 'manual'], + [], [], [], 'ENABLE_NSCD', 'manual'], ] ############################################################ @@ -861,7 +868,9 @@ tests += [ [['src/analyze/test-verify.c', 'src/analyze/analyze-verify.c', 'src/analyze/analyze-verify.h'], [libcore, - libshared]], + libshared], + [], + core_includes], [['src/login/test-inhibit.c'], [], [], [], '', 'manual'], diff --git a/src/udev/meson.build b/src/udev/meson.build index d84aea2004..83f28eb3fc 100644 --- a/src/udev/meson.build +++ b/src/udev/meson.build @@ -105,13 +105,13 @@ endif ############################################################ -libudevd_core_includes = [includes, include_directories('net')] +udev_includes = [includes, include_directories('net', '.')] libudevd_core = static_library( 'udev-core', libudevd_core_sources, link_config_gperf_c, keyboard_keys_from_name_h, - include_directories : libudevd_core_includes, + include_directories : udev_includes, c_args : ['-DLOG_REALM=LOG_REALM_UDEV'], link_with : udev_link_with, dependencies : [libblkid, libkmod]) @@ -177,7 +177,8 @@ fuzzers += [ [libudevd_core, libshared], [threads, - libacl]], + libacl], + udev_includes], [['src/udev/fido_id/fuzz-fido-id-desc.c', 'src/udev/fido_id/fido_id_desc.c']], From 74b28f2b3682dfbe9988e7c03568294211d586bb Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 4 Jan 2021 23:48:10 +0900 Subject: [PATCH 39/45] meson: drop unnecessary libraries from journal related tests --- src/fuzz/meson.build | 4 +- src/test/meson.build | 89 +++++++------------------------------------- 2 files changed, 15 insertions(+), 78 deletions(-) diff --git a/src/fuzz/meson.build b/src/fuzz/meson.build index 7a62527321..56a8b48c7a 100644 --- a/src/fuzz/meson.build +++ b/src/fuzz/meson.build @@ -3,9 +3,7 @@ fuzzers += [ [['src/fuzz/fuzz-bus-message.c']], - [['src/fuzz/fuzz-catalog.c'], - [libjournal_core, - libshared]], + [['src/fuzz/fuzz-catalog.c']], [['src/resolve/fuzz-dns-packet.c'], [libsystemd_resolve_core, diff --git a/src/test/meson.build b/src/test/meson.build index 0c5652a52b..6c1abd6f59 100644 --- a/src/test/meson.build +++ b/src/test/meson.build @@ -570,19 +570,9 @@ tests += [ # define some tests here, because the link_with deps were not defined earlier tests += [ - [['src/libsystemd/sd-journal/test-journal.c'], - [libjournal_core, - libshared], - [threads, - libxz, - liblz4]], + [['src/libsystemd/sd-journal/test-journal.c']], - [['src/libsystemd/sd-journal/test-journal-send.c'], - [libjournal_core, - libshared], - [threads, - libxz, - liblz4]], + [['src/libsystemd/sd-journal/test-journal-send.c']], [['src/journal/test-journal-syslog.c'], [libjournal_core, @@ -592,41 +582,16 @@ tests += [ liblz4, libselinux]], - [['src/libsystemd/sd-journal/test-journal-match.c'], - [libjournal_core, - libshared], - [threads, - libxz, - liblz4]], + [['src/libsystemd/sd-journal/test-journal-match.c']], [['src/libsystemd/sd-journal/test-journal-enum.c'], - [libjournal_core, - libshared], - [threads, - libxz, - liblz4], - [], '', 'timeout=360'], + [], [], [], '', 'timeout=360'], - [['src/libsystemd/sd-journal/test-journal-stream.c'], - [libjournal_core, - libshared], - [threads, - libxz, - liblz4]], + [['src/libsystemd/sd-journal/test-journal-stream.c']], - [['src/libsystemd/sd-journal/test-journal-flush.c'], - [libjournal_core, - libshared], - [threads, - libxz, - liblz4]], + [['src/libsystemd/sd-journal/test-journal-flush.c']], - [['src/libsystemd/sd-journal/test-journal-init.c'], - [libjournal_core, - libshared], - [threads, - libxz, - liblz4]], + [['src/libsystemd/sd-journal/test-journal-init.c']], [['src/journal/test-journal-config.c'], [libjournal_core, @@ -635,54 +600,28 @@ tests += [ liblz4, libselinux]], - [['src/libsystemd/sd-journal/test-journal-verify.c'], - [libjournal_core, - libshared], - [threads, - libxz, - liblz4]], + [['src/libsystemd/sd-journal/test-journal-verify.c']], - [['src/libsystemd/sd-journal/test-journal-interleaving.c'], - [libjournal_core, - libshared], - [threads, - libxz, - liblz4]], + [['src/libsystemd/sd-journal/test-journal-interleaving.c']], - [['src/libsystemd/sd-journal/test-mmap-cache.c'], - [libjournal_core, - libshared], - [threads, - libxz, - liblz4]], + [['src/libsystemd/sd-journal/test-mmap-cache.c']], - [['src/libsystemd/sd-journal/test-catalog.c'], - [libjournal_core, - libshared], - [threads, - libxz, - liblz4]], + [['src/libsystemd/sd-journal/test-catalog.c']], [['src/libsystemd/sd-journal/test-compress.c'], - [libjournal_core, - libshared], + [], [liblz4, libzstd, libxz]], [['src/libsystemd/sd-journal/test-compress-benchmark.c'], - [libjournal_core, - libshared], + [], [liblz4, libzstd, libxz], [], '', 'timeout=90'], - [['src/libsystemd/sd-journal/test-audit-type.c'], - [libjournal_core, - libshared], - [liblz4, - libxz]], + [['src/libsystemd/sd-journal/test-audit-type.c']], ] ############################################################ From 04e7ada0d7bc1a49bf90f5d124df452f4988a311 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 4 Jan 2021 23:54:46 +0900 Subject: [PATCH 40/45] meson: drop unnecessary files from test definitions --- src/test/meson.build | 39 +++++++++------------------------------ 1 file changed, 9 insertions(+), 30 deletions(-) diff --git a/src/test/meson.build b/src/test/meson.build index 6c1abd6f59..6e64f6122a 100644 --- a/src/test/meson.build +++ b/src/test/meson.build @@ -732,21 +732,15 @@ endif ############################################################ tests += [ - [['src/libsystemd-network/test-dhcp-option.c', - 'src/libsystemd-network/dhcp-protocol.h', - 'src/libsystemd-network/dhcp-internal.h'], + [['src/libsystemd-network/test-dhcp-option.c'], [libshared, libsystemd_network]], - [['src/libsystemd-network/test-sd-dhcp-lease.c', - 'src/libsystemd-network/dhcp-lease-internal.h'], + [['src/libsystemd-network/test-sd-dhcp-lease.c'], [libshared, libsystemd_network]], - [['src/libsystemd-network/test-dhcp-client.c', - 'src/libsystemd-network/dhcp-protocol.h', - 'src/libsystemd-network/dhcp-internal.h', - 'src/systemd/sd-dhcp-client.h'], + [['src/libsystemd-network/test-dhcp-client.c'], [libshared, libsystemd_network]], @@ -754,44 +748,29 @@ tests += [ [libshared, libsystemd_network]], - [['src/libsystemd-network/test-ipv4ll.c', - 'src/libsystemd-network/arp-util.h', - 'src/systemd/sd-ipv4ll.h'], + [['src/libsystemd-network/test-ipv4ll.c'], [libshared, libsystemd_network]], - [['src/libsystemd-network/test-ipv4ll-manual.c', - 'src/systemd/sd-ipv4ll.h'], + [['src/libsystemd-network/test-ipv4ll-manual.c'], [libshared, libsystemd_network], [], [], '', 'manual'], - [['src/libsystemd-network/test-acd.c', - 'src/systemd/sd-ipv4acd.h'], + [['src/libsystemd-network/test-acd.c'], [libshared, libsystemd_network], [], [], '', 'manual'], - [['src/libsystemd-network/test-ndisc-rs.c', - 'src/libsystemd-network/dhcp-identifier.h', - 'src/libsystemd-network/dhcp-identifier.c', - 'src/libsystemd-network/icmp6-util.h', - 'src/systemd/sd-dhcp6-client.h', - 'src/systemd/sd-ndisc.h'], + [['src/libsystemd-network/test-ndisc-rs.c'], [libshared, libsystemd_network]], - [['src/libsystemd-network/test-ndisc-ra.c', - 'src/libsystemd-network/icmp6-util.h', - 'src/systemd/sd-ndisc.h'], + [['src/libsystemd-network/test-ndisc-ra.c'], [libshared, libsystemd_network]], - [['src/libsystemd-network/test-dhcp6-client.c', - 'src/libsystemd-network/dhcp-identifier.h', - 'src/libsystemd-network/dhcp-identifier.c', - 'src/libsystemd-network/dhcp6-internal.h', - 'src/systemd/sd-dhcp6-client.h'], + [['src/libsystemd-network/test-dhcp6-client.c'], [libshared, libsystemd_network]], From b5c34d6bf18b2b0433d28c8124eb75d64db6867a Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 4 Jan 2021 23:57:52 +0900 Subject: [PATCH 41/45] meson: drop unused variable --- src/shared/meson.build | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/shared/meson.build b/src/shared/meson.build index dd2e82c0bc..0f50522b6a 100644 --- a/src/shared/meson.build +++ b/src/shared/meson.build @@ -281,12 +281,13 @@ shared_sources = files(''' '''.split()) if get_option('tests') != 'false' - shared_sources += files('tests.c', 'tests.h') + shared_sources += files(''' + test-tables.h + tests.c + tests.h + '''.split()) endif -test_tables_h = files('test-tables.h') -shared_sources += test_tables_h - generate_syscall_list = find_program('generate-syscall-list.py') fname = 'syscall-list.h' syscall_list_h = custom_target( From e025c9dfe36b54ce9df893c64689c5477a440fac Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Tue, 5 Jan 2021 00:08:42 +0900 Subject: [PATCH 42/45] meson: move test or fuzzer definitions to relevant meson.build in subdirectories --- src/analyze/meson.build | 10 ++ src/core/meson.build | 9 ++ src/fuzz/meson.build | 86 ----------- src/journal-remote/meson.build | 8 ++ src/journal/meson.build | 57 ++++++++ src/libsystemd-network/meson.build | 68 +++++++++ src/libsystemd/meson.build | 134 +++++++++++++++++ src/libudev/meson.build | 8 ++ src/login/meson.build | 14 ++ src/nspawn/meson.build | 14 ++ src/resolve/meson.build | 11 ++ src/test/meson.build | 222 +---------------------------- src/udev/meson.build | 8 ++ 13 files changed, 342 insertions(+), 307 deletions(-) diff --git a/src/analyze/meson.build b/src/analyze/meson.build index 9e4d95b036..f796629cc2 100644 --- a/src/analyze/meson.build +++ b/src/analyze/meson.build @@ -9,3 +9,13 @@ systemd_analyze_sources = files(''' analyze-security.c analyze-security.h '''.split()) + +tests += [ + [['src/analyze/test-verify.c', + 'src/analyze/analyze-verify.c', + 'src/analyze/analyze-verify.h'], + [libcore, + libshared], + [], + core_includes], +] diff --git a/src/core/meson.build b/src/core/meson.build index a33b2d0ac9..edfc73e627 100644 --- a/src/core/meson.build +++ b/src/core/meson.build @@ -203,3 +203,12 @@ if install_sysconfdir meson.add_install_script('sh', '-c', mkdir_p.format(join_paths(pkgsysconfdir, 'user'))) meson.add_install_script('sh', '-c', mkdir_p.format(join_paths(sysconfdir, 'xdg/systemd'))) endif + +############################################################ + +fuzzers += [ + [['src/core/fuzz-unit-file.c'], + [libcore, + libshared], + [libmount]], +] diff --git a/src/fuzz/meson.build b/src/fuzz/meson.build index 56a8b48c7a..96528a191d 100644 --- a/src/fuzz/meson.build +++ b/src/fuzz/meson.build @@ -5,86 +5,12 @@ fuzzers += [ [['src/fuzz/fuzz-catalog.c']], - [['src/resolve/fuzz-dns-packet.c'], - [libsystemd_resolve_core, - libshared], - [libgcrypt, - libgpg_error, - libm]], - - [['src/libsystemd-network/fuzz-dhcp6-client.c'], - [libshared, - libsystemd_network]], - - [['src/libsystemd-network/fuzz-dhcp-server.c'], - [libsystemd_network, - libshared]], - - [['src/libsystemd-network/fuzz-lldp.c'], - [libshared, - libsystemd_network]], - - [['src/libsystemd-network/fuzz-ndisc-rs.c'], - [libshared, - libsystemd_network]], - [['src/fuzz/fuzz-json.c']], [['src/fuzz/fuzz-varlink.c']], - [['src/core/fuzz-unit-file.c'], - [libcore, - libshared], - [libmount]], - - [['src/journal/fuzz-journald-audit.c', - 'src/journal/fuzz-journald.c'], - [libjournal_core, - libshared], - [libselinux]], - - [['src/journal/fuzz-journald-kmsg.c', - 'src/journal/fuzz-journald.c'], - [libjournal_core, - libshared], - [libselinux]], - - [['src/journal/fuzz-journald-native.c', - 'src/journal/fuzz-journald.c'], - [libjournal_core, - libshared], - [libselinux]], - - [['src/journal/fuzz-journald-native-fd.c', - 'src/journal/fuzz-journald.c'], - [libjournal_core, - libshared], - [libselinux]], - - [['src/journal/fuzz-journald-stream.c', - 'src/journal/fuzz-journald.c'], - [libjournal_core, - libshared], - [libselinux]], - - [['src/journal/fuzz-journald-syslog.c', - 'src/journal/fuzz-journald.c'], - [libjournal_core, - libshared], - [libselinux]], - - [['src/journal-remote/fuzz-journal-remote.c'], - [libsystemd_journal_remote, - libshared]], - [['src/fuzz/fuzz-udev-database.c']], - [['src/udev/fuzz-udev-rules.c'], - [libudevd_core, - libshared], - [threads, - libacl]], - [['src/fuzz/fuzz-compress.c']], [['src/fuzz/fuzz-bus-label.c']], @@ -93,19 +19,7 @@ fuzzers += [ [['src/fuzz/fuzz-hostname-setup.c']], - [['src/nspawn/fuzz-nspawn-settings.c'], - [libshared, - libnspawn_core], - [libseccomp]], - - [['src/nspawn/fuzz-nspawn-oci.c'], - [libshared, - libnspawn_core], - [libseccomp]], - [['src/fuzz/fuzz-calendarspec.c']], [['src/fuzz/fuzz-time-util.c']], - - [['src/udev/fuzz-udev-rule-parse-value.c']], ] diff --git a/src/journal-remote/meson.build b/src/journal-remote/meson.build index 748dc23b83..c42d85bc4b 100644 --- a/src/journal-remote/meson.build +++ b/src/journal-remote/meson.build @@ -74,3 +74,11 @@ if conf.get('ENABLE_REMOTE') == 1 and conf.get('HAVE_MICROHTTPD') == 1 chmod 755 $DESTDIR/var/log/journal/remote || :''') endif endif + +############################################################ + +fuzzers += [ + [['src/journal-remote/fuzz-journal-remote.c'], + [libsystemd_journal_remote, + libshared]], +] diff --git a/src/journal/meson.build b/src/journal/meson.build index a36de18077..171e276736 100644 --- a/src/journal/meson.build +++ b/src/journal/meson.build @@ -74,3 +74,60 @@ if get_option('create-log-dirs') 'setfacl -nm g:wheel:rx,d:g:wheel:rx $DESTDIR/var/log/journal || :') endif endif + +############################################################ + +tests += [ + [['src/journal/test-journal-syslog.c'], + [libjournal_core, + libshared], + [threads, + libxz, + liblz4, + libselinux]], + + [['src/journal/test-journal-config.c'], + [libjournal_core, + libshared], + [libxz, + liblz4, + libselinux]], +] + +fuzzers += [ + [['src/journal/fuzz-journald-audit.c', + 'src/journal/fuzz-journald.c'], + [libjournal_core, + libshared], + [libselinux]], + + [['src/journal/fuzz-journald-kmsg.c', + 'src/journal/fuzz-journald.c'], + [libjournal_core, + libshared], + [libselinux]], + + [['src/journal/fuzz-journald-native.c', + 'src/journal/fuzz-journald.c'], + [libjournal_core, + libshared], + [libselinux]], + + [['src/journal/fuzz-journald-native-fd.c', + 'src/journal/fuzz-journald.c'], + [libjournal_core, + libshared], + [libselinux]], + + [['src/journal/fuzz-journald-stream.c', + 'src/journal/fuzz-journald.c'], + [libjournal_core, + libshared], + [libselinux]], + + [['src/journal/fuzz-journald-syslog.c', + 'src/journal/fuzz-journald.c'], + [libjournal_core, + libshared], + [libselinux]], +] diff --git a/src/libsystemd-network/meson.build b/src/libsystemd-network/meson.build index b36dc83d79..6bc4a3f54b 100644 --- a/src/libsystemd-network/meson.build +++ b/src/libsystemd-network/meson.build @@ -49,3 +49,71 @@ libsystemd_network = static_library( include_directories : includes) libsystemd_network_includes = [includes, include_directories('.')] + +############################################################ + +tests += [ + [['src/libsystemd-network/test-dhcp-option.c'], + [libshared, + libsystemd_network]], + + [['src/libsystemd-network/test-sd-dhcp-lease.c'], + [libshared, + libsystemd_network]], + + [['src/libsystemd-network/test-dhcp-client.c'], + [libshared, + libsystemd_network]], + + [['src/libsystemd-network/test-dhcp-server.c'], + [libshared, + libsystemd_network]], + + [['src/libsystemd-network/test-ipv4ll.c'], + [libshared, + libsystemd_network]], + + [['src/libsystemd-network/test-ipv4ll-manual.c'], + [libshared, + libsystemd_network], + [], [], '', 'manual'], + + [['src/libsystemd-network/test-acd.c'], + [libshared, + libsystemd_network], + [], [], '', 'manual'], + + [['src/libsystemd-network/test-ndisc-rs.c'], + [libshared, + libsystemd_network]], + + [['src/libsystemd-network/test-ndisc-ra.c'], + [libshared, + libsystemd_network]], + + [['src/libsystemd-network/test-dhcp6-client.c'], + [libshared, + libsystemd_network]], + + [['src/libsystemd-network/test-lldp.c'], + [libshared, + libsystemd_network]], +] + +fuzzers += [ + [['src/libsystemd-network/fuzz-dhcp6-client.c'], + [libshared, + libsystemd_network]], + + [['src/libsystemd-network/fuzz-dhcp-server.c'], + [libsystemd_network, + libshared]], + + [['src/libsystemd-network/fuzz-lldp.c'], + [libshared, + libsystemd_network]], + + [['src/libsystemd-network/fuzz-ndisc-rs.c'], + [libshared, + libsystemd_network]], +] diff --git a/src/libsystemd/meson.build b/src/libsystemd/meson.build index 42322bff2f..3843c2aae0 100644 --- a/src/libsystemd/meson.build +++ b/src/libsystemd/meson.build @@ -177,3 +177,137 @@ configure_file( output : 'libsystemd.pc', configuration : substs, install_dir : pkgconfiglibdir == 'no' ? '' : pkgconfiglibdir) + +############################################################ + +tests += [ + [['src/libsystemd/sd-journal/test-journal.c']], + + [['src/libsystemd/sd-journal/test-journal-send.c']], + + [['src/libsystemd/sd-journal/test-journal-match.c']], + + [['src/libsystemd/sd-journal/test-journal-enum.c'], + [], [], [], '', 'timeout=360'], + + [['src/libsystemd/sd-journal/test-journal-stream.c']], + + [['src/libsystemd/sd-journal/test-journal-flush.c']], + + [['src/libsystemd/sd-journal/test-journal-init.c']], + + [['src/libsystemd/sd-journal/test-journal-verify.c']], + + [['src/libsystemd/sd-journal/test-journal-interleaving.c']], + + [['src/libsystemd/sd-journal/test-mmap-cache.c']], + + [['src/libsystemd/sd-journal/test-catalog.c']], + + [['src/libsystemd/sd-journal/test-compress.c'], + [], + [liblz4, + libzstd, + libxz]], + + [['src/libsystemd/sd-journal/test-compress-benchmark.c'], + [], + [liblz4, + libzstd, + libxz], + [], '', 'timeout=90'], + + [['src/libsystemd/sd-journal/test-audit-type.c']], +] + +############################################################ + +tests += [ + [['src/libsystemd/sd-bus/test-bus-address.c'], + [], + [threads]], + + [['src/libsystemd/sd-bus/test-bus-marshal.c'], + [], + [threads, + libglib, + libgobject, + libgio, + libdbus]], + + [['src/libsystemd/sd-bus/test-bus-signature.c'], + [], + [threads]], + + [['src/libsystemd/sd-bus/test-bus-queue-ref-cycle.c'], + [], + [threads]], + + [['src/libsystemd/sd-bus/test-bus-watch-bind.c'], + [], + [threads], + [], '', 'timeout=120'], + + [['src/libsystemd/sd-bus/test-bus-chat.c'], + [], + [threads]], + + [['src/libsystemd/sd-bus/test-bus-cleanup.c'], + [], + [threads, + libseccomp]], + + [['src/libsystemd/sd-bus/test-bus-track.c'], + [], + [libseccomp]], + + [['src/libsystemd/sd-bus/test-bus-server.c'], + [], + [threads]], + + [['src/libsystemd/sd-bus/test-bus-objects.c'], + [], + [threads]], + + [['src/libsystemd/sd-bus/test-bus-vtable.c', + 'src/libsystemd/sd-bus/test-vtable-data.h']], + + [['src/libsystemd/sd-bus/test-bus-gvariant.c'], + [], + [libglib, + libgobject, + libgio]], + + [['src/libsystemd/sd-bus/test-bus-creds.c']], + + [['src/libsystemd/sd-bus/test-bus-match.c']], + + [['src/libsystemd/sd-bus/test-bus-benchmark.c'], + [], + [threads], + [], '', 'manual'], + + [['src/libsystemd/sd-bus/test-bus-introspect.c', + 'src/libsystemd/sd-bus/test-vtable-data.h']], + + [['src/libsystemd/sd-event/test-event.c']], + + [['src/libsystemd/sd-netlink/test-netlink.c']], + + [['src/libsystemd/sd-resolve/test-resolve.c'], + [], + [threads], + [], '', 'timeout=120'], + + [['src/libsystemd/sd-login/test-login.c']], + + [['src/libsystemd/sd-device/test-sd-device.c']], + + [['src/libsystemd/sd-device/test-sd-device-monitor.c']], +] + +if cxx_cmd != '' + tests += [ + [['src/libsystemd/sd-bus/test-bus-vtable-cc.cc']], + ] +endif diff --git a/src/libudev/meson.build b/src/libudev/meson.build index 61153baffc..b3ffb8b10a 100644 --- a/src/libudev/meson.build +++ b/src/libudev/meson.build @@ -44,3 +44,11 @@ configure_file( output : 'libudev.pc', configuration : substs, install_dir : pkgconfiglibdir == 'no' ? '' : pkgconfiglibdir) + +############################################################ + +tests += [ + [['src/libudev/test-libudev.c'], + [libshared, + libudev_static]], +] diff --git a/src/login/meson.build b/src/login/meson.build index 22f9ce18d5..ca64492383 100644 --- a/src/login/meson.build +++ b/src/login/meson.build @@ -116,3 +116,17 @@ if conf.get('ENABLE_LOGIND') == 1 install : pamconfdir != 'no', install_dir : pamconfdir) endif + +############################################################ + +tests += [ + [['src/login/test-login-shared.c']], + + [['src/login/test-inhibit.c'], + [], [], [], '', 'manual'], + + [['src/login/test-login-tables.c'], + [liblogind_core, + libshared], + [threads]], +] diff --git a/src/nspawn/meson.build b/src/nspawn/meson.build index 6206a2c08a..172ded43c1 100644 --- a/src/nspawn/meson.build +++ b/src/nspawn/meson.build @@ -46,6 +46,8 @@ libnspawn_core = static_library( systemd_nspawn_sources = files('nspawn.c') +############################################################ + tests += [ [['src/nspawn/test-nspawn-tables.c'], [libnspawn_core, @@ -58,3 +60,15 @@ tests += [ [libacl], [], '', 'manual'], ] + +fuzzers += [ + [['src/nspawn/fuzz-nspawn-settings.c'], + [libshared, + libnspawn_core], + [libseccomp]], + + [['src/nspawn/fuzz-nspawn-oci.c'], + [libshared, + libnspawn_core], + [libseccomp]], +] diff --git a/src/resolve/meson.build b/src/resolve/meson.build index 11c003a207..f34e7ac680 100644 --- a/src/resolve/meson.build +++ b/src/resolve/meson.build @@ -168,6 +168,8 @@ if conf.get('ENABLE_RESOLVE') == 1 install_dir : rootlibexecdir) endif +############################################################ + tests += [ [['src/resolve/test-resolve-tables.c'], [libsystemd_resolve_core, @@ -210,3 +212,12 @@ tests += [ 'src/resolve/dns-type.c'], [], [], resolve_includes, '', 'manual'], ] + +fuzzers += [ + [['src/resolve/fuzz-dns-packet.c'], + [libsystemd_resolve_core, + libshared], + [libgcrypt, + libgpg_error, + libm]], +] diff --git a/src/test/meson.build b/src/test/meson.build index 6e64f6122a..81c1335045 100644 --- a/src/test/meson.build +++ b/src/test/meson.build @@ -518,10 +518,6 @@ tests += [ [['src/test/test-journal-importer.c']], - [['src/libudev/test-libudev.c'], - [libshared, - libudev_static]], - [['src/test/test-udev.c'], [libudevd_core, libshared], @@ -570,147 +566,9 @@ tests += [ # define some tests here, because the link_with deps were not defined earlier tests += [ - [['src/libsystemd/sd-journal/test-journal.c']], - - [['src/libsystemd/sd-journal/test-journal-send.c']], - - [['src/journal/test-journal-syslog.c'], - [libjournal_core, - libshared], - [threads, - libxz, - liblz4, - libselinux]], - - [['src/libsystemd/sd-journal/test-journal-match.c']], - - [['src/libsystemd/sd-journal/test-journal-enum.c'], - [], [], [], '', 'timeout=360'], - - [['src/libsystemd/sd-journal/test-journal-stream.c']], - - [['src/libsystemd/sd-journal/test-journal-flush.c']], - - [['src/libsystemd/sd-journal/test-journal-init.c']], - - [['src/journal/test-journal-config.c'], - [libjournal_core, - libshared], - [libxz, - liblz4, - libselinux]], - - [['src/libsystemd/sd-journal/test-journal-verify.c']], - - [['src/libsystemd/sd-journal/test-journal-interleaving.c']], - - [['src/libsystemd/sd-journal/test-mmap-cache.c']], - - [['src/libsystemd/sd-journal/test-catalog.c']], - - [['src/libsystemd/sd-journal/test-compress.c'], - [], - [liblz4, - libzstd, - libxz]], - - [['src/libsystemd/sd-journal/test-compress-benchmark.c'], - [], - [liblz4, - libzstd, - libxz], - [], '', 'timeout=90'], - - [['src/libsystemd/sd-journal/test-audit-type.c']], -] - -############################################################ - -tests += [ - [['src/libsystemd/sd-bus/test-bus-address.c'], - [], - [threads]], - - [['src/libsystemd/sd-bus/test-bus-marshal.c'], - [], - [threads, - libglib, - libgobject, - libgio, - libdbus]], - - [['src/libsystemd/sd-bus/test-bus-signature.c'], - [], - [threads]], - - [['src/libsystemd/sd-bus/test-bus-queue-ref-cycle.c'], - [], - [threads]], - - [['src/libsystemd/sd-bus/test-bus-watch-bind.c'], - [], - [threads], - [], '', 'timeout=120'], - - [['src/libsystemd/sd-bus/test-bus-chat.c'], - [], - [threads]], - - [['src/libsystemd/sd-bus/test-bus-cleanup.c'], - [], - [threads, - libseccomp]], - [['src/libsystemd/sd-bus/test-bus-error.c'], [libshared_static, - libsystemd_static], - []], - - [['src/libsystemd/sd-bus/test-bus-track.c'], - [], - [libseccomp]], - - [['src/libsystemd/sd-bus/test-bus-server.c'], - [], - [threads]], - - [['src/libsystemd/sd-bus/test-bus-objects.c'], - [], - [threads]], - - [['src/libsystemd/sd-bus/test-bus-vtable.c', - 'src/libsystemd/sd-bus/test-vtable-data.h']], - - [['src/libsystemd/sd-bus/test-bus-gvariant.c'], - [], - [libglib, - libgobject, - libgio]], - - [['src/libsystemd/sd-bus/test-bus-creds.c']], - - [['src/libsystemd/sd-bus/test-bus-match.c']], - - [['src/libsystemd/sd-bus/test-bus-benchmark.c'], - [], - [threads], - [], '', 'manual'], - - [['src/libsystemd/sd-bus/test-bus-introspect.c', - 'src/libsystemd/sd-bus/test-vtable-data.h']], - - [['src/libsystemd/sd-event/test-event.c']], - - [['src/libsystemd/sd-netlink/test-netlink.c']], - - [['src/libsystemd/sd-resolve/test-resolve.c'], - [], - [threads], - [], '', 'timeout=120'], - - [['src/libsystemd/sd-login/test-login.c']], - - [['src/libsystemd/sd-device/test-sd-device.c']], + libsystemd_static]], [['src/libsystemd/sd-device/test-sd-device-thread.c'], [libsystemd], @@ -719,82 +577,4 @@ tests += [ [['src/libudev/test-udev-device-thread.c'], [libudev], [threads]], - - [['src/libsystemd/sd-device/test-sd-device-monitor.c']], -] - -if cxx_cmd != '' - tests += [ - [['src/libsystemd/sd-bus/test-bus-vtable-cc.cc']], - ] -endif - -############################################################ - -tests += [ - [['src/libsystemd-network/test-dhcp-option.c'], - [libshared, - libsystemd_network]], - - [['src/libsystemd-network/test-sd-dhcp-lease.c'], - [libshared, - libsystemd_network]], - - [['src/libsystemd-network/test-dhcp-client.c'], - [libshared, - libsystemd_network]], - - [['src/libsystemd-network/test-dhcp-server.c'], - [libshared, - libsystemd_network]], - - [['src/libsystemd-network/test-ipv4ll.c'], - [libshared, - libsystemd_network]], - - [['src/libsystemd-network/test-ipv4ll-manual.c'], - [libshared, - libsystemd_network], - [], [], '', 'manual'], - - [['src/libsystemd-network/test-acd.c'], - [libshared, - libsystemd_network], - [], [], '', 'manual'], - - [['src/libsystemd-network/test-ndisc-rs.c'], - [libshared, - libsystemd_network]], - - [['src/libsystemd-network/test-ndisc-ra.c'], - [libshared, - libsystemd_network]], - - [['src/libsystemd-network/test-dhcp6-client.c'], - [libshared, - libsystemd_network]], - - [['src/libsystemd-network/test-lldp.c'], - [libshared, - libsystemd_network]], -] - -############################################################ - -tests += [ - [['src/login/test-login-shared.c']], - - [['src/analyze/test-verify.c', 'src/analyze/analyze-verify.c', 'src/analyze/analyze-verify.h'], - [libcore, - libshared], - [], - core_includes], - - [['src/login/test-inhibit.c'], - [], [], [], '', 'manual'], - - [['src/login/test-login-tables.c'], - [liblogind_core, - libshared], - [threads]], ] diff --git a/src/udev/meson.build b/src/udev/meson.build index 83f28eb3fc..68b4a67e94 100644 --- a/src/udev/meson.build +++ b/src/udev/meson.build @@ -180,6 +180,14 @@ fuzzers += [ libacl], udev_includes], + [['src/udev/fuzz-udev-rules.c'], + [libudevd_core, + libshared], + [threads, + libacl]], + + [['src/udev/fuzz-udev-rule-parse-value.c']], + [['src/udev/fido_id/fuzz-fido-id-desc.c', 'src/udev/fido_id/fido_id_desc.c']], ] From a0e150b2f4933ae7546fce9a2773b0208b2dc269 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Tue, 5 Jan 2021 12:55:10 +0900 Subject: [PATCH 43/45] meson: add missing license header --- man/rules/meson.build | 2 ++ src/shutdown/meson.build | 2 ++ tools/update-man-rules.py | 2 ++ 3 files changed, 6 insertions(+) diff --git a/man/rules/meson.build b/man/rules/meson.build index 19238ec033..b8cb96ac22 100644 --- a/man/rules/meson.build +++ b/man/rules/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + # Do not edit. Generated by update-man-rules.py. # Update with: # ninja -C build man/update-man-rules diff --git a/src/shutdown/meson.build b/src/shutdown/meson.build index a6462529ae..e1348d95d4 100644 --- a/src/shutdown/meson.build +++ b/src/shutdown/meson.build @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + systemd_shutdown_sources = files(''' shutdown.c umount.c diff --git a/tools/update-man-rules.py b/tools/update-man-rules.py index 9e1660c123..8221a37d9a 100755 --- a/tools/update-man-rules.py +++ b/tools/update-man-rules.py @@ -47,6 +47,8 @@ def mjoin(files): return ' \\\n\t'.join(sorted(files) or '#') MESON_HEADER = '''\ +# SPDX-License-Identifier: LGPL-2.1-or-later + # Do not edit. Generated by update-man-rules.py. # Update with: # ninja -C build man/update-man-rules From 40dbce36df1d70e32800545b06d5e08996f8e33f Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Tue, 5 Jan 2021 14:51:17 +0900 Subject: [PATCH 44/45] meson: use static_libsystemd_pic --- meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson.build b/meson.build index f2884a3d45..40604b9f01 100644 --- a/meson.build +++ b/meson.build @@ -1675,7 +1675,7 @@ install_libsystemd_static = static_library( build_by_default : static_libsystemd != 'false', install : static_libsystemd != 'false', install_dir : rootlibdir, - pic : static_libsystemd == 'true' or static_libsystemd == 'pic', + pic : static_libsystemd_pic, dependencies : [threads, librt, libxz, From 024e9084c1eee8d5485bbdf7c80291eb0fed692e Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Tue, 5 Jan 2021 15:03:39 +0900 Subject: [PATCH 45/45] meson: move several definitions related libsystemd to src/libsystemd/meson.build --- meson.build | 4 ---- src/libsystemd/meson.build | 6 +++++- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/meson.build b/meson.build index 40604b9f01..c12b399b5f 100644 --- a/meson.build +++ b/meson.build @@ -1642,7 +1642,6 @@ subdir('src/shared') subdir('src/udev') subdir('src/libudev') -libsystemd_sym_path = '@0@/@1@'.format(project_source_root, libsystemd_sym) libsystemd = shared_library( 'systemd', disable_mempool_c, @@ -1662,9 +1661,6 @@ libsystemd = shared_library( install : true, install_dir : rootlibdir) -static_libsystemd = get_option('static-libsystemd') -static_libsystemd_pic = static_libsystemd == 'true' or static_libsystemd == 'pic' - install_libsystemd_static = static_library( 'systemd', libsystemd_sources, diff --git a/src/libsystemd/meson.build b/src/libsystemd/meson.build index 3843c2aae0..b8a9bbe222 100644 --- a/src/libsystemd/meson.build +++ b/src/libsystemd/meson.build @@ -170,7 +170,11 @@ libsystemd_static = static_library( librt], c_args : libsystemd_c_args) -libsystemd_sym = 'src/libsystemd/libsystemd.sym' +libsystemd_sym = files('libsystemd.sym') +libsystemd_sym_path = join_paths(meson.current_source_dir(), 'libsystemd.sym') + +static_libsystemd = get_option('static-libsystemd') +static_libsystemd_pic = static_libsystemd == 'true' or static_libsystemd == 'pic' configure_file( input : 'libsystemd.pc.in',