From cb9356254aeaa5777d527b036d75fa3d4bbe973b Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 26 Jun 2023 03:18:38 +0900 Subject: [PATCH 1/8] meson: move declarations of ask-password and friends --- meson.build | 31 +++----------------------- src/ask-password/meson.build | 9 ++++++++ src/reply-password/meson.build | 8 +++++++ src/tty-ask-password-agent/meson.build | 9 ++++++++ 4 files changed, 29 insertions(+), 28 deletions(-) create mode 100644 src/ask-password/meson.build create mode 100644 src/reply-password/meson.build create mode 100644 src/tty-ask-password-agent/meson.build diff --git a/meson.build b/meson.build index acab81df4c..014eaeef1b 100644 --- a/meson.build +++ b/meson.build @@ -2372,6 +2372,7 @@ subdir('src/libsystemd-network') subdir('src/ac-power') subdir('src/analyze') +subdir('src/ask-password') subdir('src/backlight') subdir('src/battery-check') subdir('src/binfmt') @@ -2421,6 +2422,7 @@ subdir('src/pstore') subdir('src/random-seed') subdir('src/rc-local-generator') subdir('src/remount-fs') +subdir('src/reply-password') subdir('src/resolve') subdir('src/rfkill') subdir('src/rpm') @@ -2437,6 +2439,7 @@ subdir('src/sysv-generator') subdir('src/timedate') subdir('src/timesync') subdir('src/tmpfiles') +subdir('src/tty-ask-password-agent') subdir('src/user-sessions') subdir('src/userdb') subdir('src/vconsole') @@ -2611,34 +2614,6 @@ if want_tests != 'false' systemd_id128.full_path()]) endif -public_programs += executable( - 'systemd-ask-password', - 'src/ask-password/ask-password.c', - include_directories : includes, - link_with : [libshared], - dependencies : [userspace], - install_rpath : pkglibdir, - install : true) - -executable( - 'systemd-reply-password', - 'src/reply-password/reply-password.c', - include_directories : includes, - link_with : [libshared], - dependencies : userspace, - install_rpath : pkglibdir, - install : true, - install_dir : libexecdir) - -public_programs += executable( - 'systemd-tty-ask-password-agent', - 'src/tty-ask-password-agent/tty-ask-password-agent.c', - include_directories : includes, - link_with : [libshared], - dependencies : [userspace], - install_rpath : pkglibdir, - install : true) - public_programs += executable( 'systemd-cgls', 'src/cgls/cgls.c', diff --git a/src/ask-password/meson.build b/src/ask-password/meson.build new file mode 100644 index 0000000000..3197112ebc --- /dev/null +++ b/src/ask-password/meson.build @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +executables += [ + executable_template + { + 'name' : 'systemd-ask-password', + 'public' : true, + 'sources' : files('ask-password.c'), + }, +] diff --git a/src/reply-password/meson.build b/src/reply-password/meson.build new file mode 100644 index 0000000000..ace112c946 --- /dev/null +++ b/src/reply-password/meson.build @@ -0,0 +1,8 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +executables += [ + libexec_template + { + 'name' : 'systemd-reply-password', + 'sources' : files('reply-password.c'), + }, +] diff --git a/src/tty-ask-password-agent/meson.build b/src/tty-ask-password-agent/meson.build new file mode 100644 index 0000000000..ad0c73bc4e --- /dev/null +++ b/src/tty-ask-password-agent/meson.build @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +executables += [ + executable_template + { + 'name' : 'systemd-tty-ask-password-agent', + 'public' : true, + 'sources' : files('tty-ask-password-agent.c'), + }, +] From 9f907d305f04983c2257f821b11edcdbff81bf17 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 26 Jun 2023 03:21:42 +0900 Subject: [PATCH 2/8] meson: move declarations of cgls, cgtop, initctl, and systemd-mount --- meson.build | 45 ++++------------------------------------- src/cgls/meson.build | 9 +++++++++ src/cgtop/meson.build | 9 +++++++++ src/initctl/meson.build | 9 +++++++++ src/mount/meson.build | 13 ++++++++++++ 5 files changed, 44 insertions(+), 41 deletions(-) create mode 100644 src/cgls/meson.build create mode 100644 src/cgtop/meson.build create mode 100644 src/initctl/meson.build create mode 100644 src/mount/meson.build diff --git a/meson.build b/meson.build index 014eaeef1b..ba048b598c 100644 --- a/meson.build +++ b/meson.build @@ -2379,7 +2379,9 @@ subdir('src/binfmt') subdir('src/boot') subdir('src/boot/efi') subdir('src/busctl') +subdir('src/cgls') subdir('src/cgroups-agent') +subdir('src/cgtop') subdir('src/coredump') subdir('src/creds') subdir('src/cryptenroll') @@ -2400,6 +2402,7 @@ subdir('src/home') subdir('src/hostname') subdir('src/id128') subdir('src/import') +subdir('src/initctl') subdir('src/integritysetup') subdir('src/journal-remote') subdir('src/kernel-install') @@ -2407,6 +2410,7 @@ subdir('src/locale') subdir('src/login') subdir('src/machine') subdir('src/machine-id-setup') +subdir('src/mount') subdir('src/network') subdir('src/notify') subdir('src/nspawn') @@ -2614,47 +2618,6 @@ if want_tests != 'false' systemd_id128.full_path()]) endif -public_programs += executable( - 'systemd-cgls', - 'src/cgls/cgls.c', - include_directories : includes, - link_with : [libshared], - dependencies : [userspace], - install_rpath : pkglibdir, - install : true) - -public_programs += executable( - 'systemd-cgtop', - 'src/cgtop/cgtop.c', - include_directories : includes, - link_with : [libshared], - dependencies : [userspace], - install_rpath : pkglibdir, - install : true) - -executable( - 'systemd-initctl', - 'src/initctl/initctl.c', - include_directories : includes, - link_with : [libshared], - dependencies : userspace, - install_rpath : pkglibdir, - install : (conf.get('HAVE_SYSV_COMPAT') == 1), - install_dir : libexecdir) - -public_programs += executable( - 'systemd-mount', - 'src/mount/mount-tool.c', - include_directories : includes, - link_with : [libshared], - dependencies: [libmount, - userspace], - install_rpath : pkglibdir, - install : true) - -meson.add_install_script(meson_make_symlink, - 'systemd-mount', bindir / 'systemd-umount') - public_programs += executable( 'systemd-run', 'src/run/run.c', diff --git a/src/cgls/meson.build b/src/cgls/meson.build new file mode 100644 index 0000000000..f7eea5b9d9 --- /dev/null +++ b/src/cgls/meson.build @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +executables += [ + executable_template + { + 'name' : 'systemd-cgls', + 'public' : true, + 'sources' : files('cgls.c'), + }, +] diff --git a/src/cgtop/meson.build b/src/cgtop/meson.build new file mode 100644 index 0000000000..afe6a33933 --- /dev/null +++ b/src/cgtop/meson.build @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +executables += [ + executable_template + { + 'name' : 'systemd-cgtop', + 'public' : true, + 'sources' : files('cgtop.c'), + }, +] diff --git a/src/initctl/meson.build b/src/initctl/meson.build new file mode 100644 index 0000000000..c9fddc9903 --- /dev/null +++ b/src/initctl/meson.build @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +executables += [ + libexec_template + { + 'name' : 'systemd-initctl', + 'conditions' : ['HAVE_SYSV_COMPAT'], + 'sources' : files('initctl.c'), + }, +] diff --git a/src/mount/meson.build b/src/mount/meson.build new file mode 100644 index 0000000000..7b1af9ea57 --- /dev/null +++ b/src/mount/meson.build @@ -0,0 +1,13 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +executables += [ + executable_template + { + 'name' : 'systemd-mount', + 'public' : true, + 'sources' : files('mount-tool.c'), + 'dependencies' : libmount, + }, +] + +meson.add_install_script(meson_make_symlink, + 'systemd-mount', bindir / 'systemd-umount') From 5c707c8cdb624f5f02cee735ff2e3f7469c0aeb7 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 26 Jun 2023 03:23:59 +0900 Subject: [PATCH 3/8] meson: move declarations of busctl, stdio-bridge, and run --- meson.build | 29 ++--------------------------- src/busctl/meson.build | 8 ++++++++ src/run/meson.build | 9 +++++++++ src/stdio-bridge/meson.build | 9 +++++++++ 4 files changed, 28 insertions(+), 27 deletions(-) create mode 100644 src/run/meson.build create mode 100644 src/stdio-bridge/meson.build diff --git a/meson.build b/meson.build index ba048b598c..9be67028dc 100644 --- a/meson.build +++ b/meson.build @@ -2430,10 +2430,12 @@ subdir('src/reply-password') subdir('src/resolve') subdir('src/rfkill') subdir('src/rpm') +subdir('src/run') subdir('src/run-generator') subdir('src/shutdown') subdir('src/sleep') subdir('src/socket-activate') +subdir('src/stdio-bridge') subdir('src/sysctl') subdir('src/sysext') subdir('src/system-update-generator') @@ -2618,33 +2620,6 @@ if want_tests != 'false' systemd_id128.full_path()]) endif -public_programs += executable( - 'systemd-run', - 'src/run/run.c', - include_directories : includes, - link_with : [libshared], - dependencies : [userspace], - install_rpath : pkglibdir, - install : true) - -public_programs += executable( - 'systemd-stdio-bridge', - 'src/stdio-bridge/stdio-bridge.c', - include_directories : includes, - link_with : [libshared], - dependencies : [userspace], - install_rpath : pkglibdir, - install : true) - -public_programs += executable( - 'busctl', - busctl_sources, - include_directories : includes, - link_with : [libshared], - dependencies : [userspace], - install_rpath : pkglibdir, - install : true) - if enable_sysusers exe = executable( 'systemd-sysusers', diff --git a/src/busctl/meson.build b/src/busctl/meson.build index dce0224c39..012d58c3a8 100644 --- a/src/busctl/meson.build +++ b/src/busctl/meson.build @@ -5,6 +5,14 @@ busctl_sources = files( 'busctl.c', ) +executables += [ + executable_template + { + 'name' : 'busctl', + 'public' : true, + 'sources' : busctl_sources, + }, +] + tests += [ { 'sources' : files( diff --git a/src/run/meson.build b/src/run/meson.build new file mode 100644 index 0000000000..597a25abeb --- /dev/null +++ b/src/run/meson.build @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +executables += [ + executable_template + { + 'name' : 'systemd-run', + 'public' : true, + 'sources' : files('run.c'), + }, +] diff --git a/src/stdio-bridge/meson.build b/src/stdio-bridge/meson.build new file mode 100644 index 0000000000..99662b122e --- /dev/null +++ b/src/stdio-bridge/meson.build @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +executables += [ + executable_template + { + 'name' : 'systemd-stdio-bridge', + 'public' : true, + 'sources' : files('stdio-bridge.c'), + }, +] From 6fab49e4ff0dff684b60e8ec0bd3544f9cb38f41 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 26 Jun 2023 03:28:32 +0900 Subject: [PATCH 4/8] meson: move declarations of hwdb, sysusers, and tmpfiles --- meson.build | 69 +++++----------------------------------- src/hwdb/meson.build | 12 +++++++ src/sysusers/meson.build | 25 +++++++++++++++ src/tmpfiles/meson.build | 26 +++++++++++++++ 4 files changed, 71 insertions(+), 61 deletions(-) create mode 100644 src/hwdb/meson.build create mode 100644 src/sysusers/meson.build diff --git a/meson.build b/meson.build index 9be67028dc..afcdb20f02 100644 --- a/meson.build +++ b/meson.build @@ -2400,6 +2400,7 @@ subdir('src/gpt-auto-generator') subdir('src/hibernate-resume') subdir('src/home') subdir('src/hostname') +subdir('src/hwdb') subdir('src/id128') subdir('src/import') subdir('src/initctl') @@ -2441,6 +2442,7 @@ subdir('src/sysext') subdir('src/system-update-generator') subdir('src/systemctl') subdir('src/sysupdate') +subdir('src/sysusers') subdir('src/sysv-generator') subdir('src/timedate') subdir('src/timesync') @@ -2621,39 +2623,17 @@ if want_tests != 'false' endif if enable_sysusers - exe = executable( - 'systemd-sysusers', - 'src/sysusers/sysusers.c', - include_directories : includes, - link_with : [libshared], - dependencies : [userspace], - install_rpath : pkglibdir, - install : true) - public_programs += exe - if want_tests != 'false' + exe = executables_by_name.get('systemd-sysusers') test('test-sysusers', test_sysusers_sh, # https://github.com/mesonbuild/meson/issues/2681 args : exe.full_path()) endif - exe = executable( - 'systemd-sysusers.standalone', - 'src/sysusers/sysusers.c', - include_directories : includes, - c_args : '-DSTANDALONE', - link_with : [libshared_static, - libbasic, - libbasic_gcrypt, - libsystemd_static], - dependencies : [userspace], - build_by_default: have_standalone_binaries, - install : have_standalone_binaries) if have_standalone_binaries - public_programs += exe - if want_tests != 'false' + exe = executables_by_name.get('systemd-sysusers.standalone') test('test-sysusers.standalone', test_sysusers_sh, # https://github.com/mesonbuild/meson/issues/2681 @@ -2663,41 +2643,17 @@ if enable_sysusers endif if conf.get('ENABLE_TMPFILES') == 1 - exe = executable( - 'systemd-tmpfiles', - systemd_tmpfiles_sources, - include_directories : includes, - link_with : [libshared], - dependencies : [libacl, - userspace], - install_rpath : pkglibdir, - install : true) - public_programs += exe - if want_tests != 'false' + exe = executables_by_name.get('systemd-tmpfiles') test('test-systemd-tmpfiles', test_systemd_tmpfiles_py, # https://github.com/mesonbuild/meson/issues/2681 args : exe.full_path()) endif - exe = executable( - 'systemd-tmpfiles.standalone', - systemd_tmpfiles_sources, - include_directories : includes, - c_args : '-DSTANDALONE', - link_with : [libshared_static, - libbasic, - libbasic_gcrypt, - libsystemd_static], - dependencies : [libacl, - userspace], - build_by_default: have_standalone_binaries, - install : have_standalone_binaries) if have_standalone_binaries - public_programs += exe - if want_tests != 'false' + exe = executables_by_name.get('systemd-tmpfiles.standalone') test('test-systemd-tmpfiles.standalone', test_systemd_tmpfiles_py, # https://github.com/mesonbuild/meson/issues/2681 @@ -2707,21 +2663,12 @@ if conf.get('ENABLE_TMPFILES') == 1 endif if conf.get('ENABLE_HWDB') == 1 - systemd_hwdb = executable( - 'systemd-hwdb', - 'src/hwdb/hwdb.c', - include_directories : includes, - link_with : udev_link_with, - dependencies : [userspace], - install_rpath : udev_rpath, - install : true) - public_programs += systemd_hwdb - if want_tests != 'false' + exe = executables_by_name.get('systemd-hwdb') test('hwdb-test', hwdb_test_sh, suite : 'dist', - args : [systemd_hwdb.full_path()], + args : exe.full_path(), timeout : 90) endif endif diff --git a/src/hwdb/meson.build b/src/hwdb/meson.build new file mode 100644 index 0000000000..385ed854d6 --- /dev/null +++ b/src/hwdb/meson.build @@ -0,0 +1,12 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +executables += [ + executable_template + { + 'name' : 'systemd-hwdb', + 'public' : true, + 'conditions' : ['ENABLE_HWDB'], + 'sources' : files('hwdb.c'), + 'link_with' : udev_link_with, + 'install_rpath' : udev_rpath, + }, +] diff --git a/src/sysusers/meson.build b/src/sysusers/meson.build new file mode 100644 index 0000000000..fcb291d02c --- /dev/null +++ b/src/sysusers/meson.build @@ -0,0 +1,25 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +executables += [ + executable_template + { + 'name' : 'systemd-sysusers', + 'public' : true, + 'conditions' : ['ENABLE_SYSUSERS'], + 'sources' : files('sysusers.c'), + }, + executable_template + { + 'name' : 'systemd-sysusers.standalone', + 'public' : have_standalone_binaries, + 'conditions' : ['ENABLE_SYSUSERS'], + 'sources' : files('sysusers.c'), + 'c_args' : '-DSTANDALONE', + 'link_with' : [ + libbasic, + libbasic_gcrypt, + libshared_static, + libsystemd_static, + ], + 'build_by_default' : have_standalone_binaries, + 'install' : have_standalone_binaries, + }, +] diff --git a/src/tmpfiles/meson.build b/src/tmpfiles/meson.build index d0a1359501..892c09b168 100644 --- a/src/tmpfiles/meson.build +++ b/src/tmpfiles/meson.build @@ -5,6 +5,32 @@ systemd_tmpfiles_sources = files( 'offline-passwd.c', ) +executables += [ + executable_template + { + 'name' : 'systemd-tmpfiles', + 'public' : true, + 'conditions' : ['ENABLE_TMPFILES'], + 'sources' : systemd_tmpfiles_sources, + 'dependencies' : libacl, + }, + executable_template + { + 'name' : 'systemd-tmpfiles.standalone', + 'public' : have_standalone_binaries, + 'conditions' : ['ENABLE_TMPFILES'], + 'sources' : systemd_tmpfiles_sources, + 'c_args' : '-DSTANDALONE', + 'link_with' : [ + libbasic, + libbasic_gcrypt, + libshared_static, + libsystemd_static, + ], + 'dependencies' : libacl, + 'build_by_default' : have_standalone_binaries, + 'install' : have_standalone_binaries, + }, +] + tests += [ { 'sources' : files( From 5371c269335f9d7013d9f25ebe12d036e2bf5d0f Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 26 Jun 2023 03:35:47 +0900 Subject: [PATCH 5/8] meson: move declarations of socket-proxy, udevadm, quotacheck, and shutdown --- meson.build | 76 +++--------------------------------- src/quotacheck/meson.build | 9 +++++ src/shutdown/meson.build | 21 ++++++++++ src/socket-proxy/meson.build | 10 +++++ src/udev/meson.build | 21 ++++++++++ 5 files changed, 67 insertions(+), 70 deletions(-) create mode 100644 src/quotacheck/meson.build create mode 100644 src/socket-proxy/meson.build diff --git a/meson.build b/meson.build index afcdb20f02..94555ba91b 100644 --- a/meson.build +++ b/meson.build @@ -2213,7 +2213,6 @@ subdir('src/fundamental') subdir('src/basic') subdir('src/libsystemd') subdir('src/shared') -subdir('src/udev') subdir('src/libudev') libsystemd = shared_library( @@ -2369,6 +2368,8 @@ subdir('src/core') subdir('src/journal') # systemd-networkd requires 'libsystemd_network' subdir('src/libsystemd-network') +# hwdb requires 'udev_link_with' and 'udev_rpath' +subdir('src/udev') subdir('src/ac-power') subdir('src/analyze') @@ -2424,6 +2425,7 @@ subdir('src/partition') subdir('src/path') subdir('src/portable') subdir('src/pstore') +subdir('src/quotacheck') subdir('src/random-seed') subdir('src/rc-local-generator') subdir('src/remount-fs') @@ -2436,6 +2438,7 @@ subdir('src/run-generator') subdir('src/shutdown') subdir('src/sleep') subdir('src/socket-activate') +subdir('src/socket-proxy') subdir('src/stdio-bridge') subdir('src/sysctl') subdir('src/sysext') @@ -2608,10 +2611,6 @@ if conf.get('HAVE_BLKID') == 1 and conf.get('ENABLE_BOOTLOADER') == 1 endif endif -meson.add_install_script(meson_make_symlink, - bindir / 'udevadm', - libexecdir / 'systemd-udevd') - if want_tests != 'false' systemctl = executables_by_name.get('systemctl') systemd_id128 = executables_by_name.get('systemd-id128') @@ -2673,77 +2672,14 @@ if conf.get('ENABLE_HWDB') == 1 endif endif -if conf.get('ENABLE_QUOTACHECK') == 1 - executable( - 'systemd-quotacheck', - 'src/quotacheck/quotacheck.c', - include_directories : includes, - link_with : [libshared], - dependencies : userspace, - install_rpath : pkglibdir, - install : true, - install_dir : libexecdir) -endif - -public_programs += executable( - 'systemd-socket-proxyd', - 'src/socket-proxy/socket-proxyd.c', - include_directories : includes, - link_with : [libshared], - dependencies : [threads, - userspace], - install_rpath : pkglibdir, - install : true, - install_dir : libexecdir) - -udevadm = executable( - 'udevadm', - udevadm_sources, - include_directories : includes, - link_with : [libudevd_core], - dependencies : [libacl, - libblkid, - libidn, - libkmod, - threads, - userspace], - install_rpath : udev_rpath, - install : true) -public_programs += udevadm - if want_tests != 'false' + exe = executables_by_name.get('udevadm') test('udev-rules-check', - udevadm, + exe, suite : 'dist', args : ['verify', '--resolve-names=never', all_rules]) endif -executable( - 'systemd-shutdown', - systemd_shutdown_sources, - include_directories : includes, - link_with : [libshared], - dependencies : [libmount, - userspace], - install_rpath : pkglibdir, - install : true, - install_dir : libexecdir) - -executable( - 'systemd-shutdown.standalone', - systemd_shutdown_sources, - include_directories : includes, - c_args : '-DSTANDALONE', - link_with : [libshared_static, - libbasic, - libsystemd_static], - dependencies : [libmount, - userspace], - build_by_default: have_standalone_binaries, - install_rpath : pkglibdir, - install : have_standalone_binaries, - install_dir : libexecdir) - executable( 'systemd-update-done', 'src/update-done/update-done.c', diff --git a/src/quotacheck/meson.build b/src/quotacheck/meson.build new file mode 100644 index 0000000000..0a3c3e366e --- /dev/null +++ b/src/quotacheck/meson.build @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +executables += [ + libexec_template + { + 'name' : 'systemd-quotacheck', + 'conditions' : ['ENABLE_QUOTACHECK'], + 'sources' : files('quotacheck.c'), + }, +] diff --git a/src/shutdown/meson.build b/src/shutdown/meson.build index 6538882692..ca7ea3840d 100644 --- a/src/shutdown/meson.build +++ b/src/shutdown/meson.build @@ -9,6 +9,27 @@ systemd_shutdown_sources = files( 'umount.c', ) +executables += [ + libexec_template + { + 'name' : 'systemd-shutdown', + 'sources' : systemd_shutdown_sources, + 'dependencies' : libmount, + }, + libexec_template + { + 'name' : 'systemd-shutdown.standalone', + 'sources' : systemd_shutdown_sources, + 'c_args' : '-DSTANDALONE', + 'link_with' : [ + libbasic, + libshared_static, + libsystemd_static, + ], + 'dependencies' : libmount, + 'build_by_default' : have_standalone_binaries, + 'install' : have_standalone_binaries, + }, +] + tests += [ { 'sources' : files( diff --git a/src/socket-proxy/meson.build b/src/socket-proxy/meson.build new file mode 100644 index 0000000000..52d63a8440 --- /dev/null +++ b/src/socket-proxy/meson.build @@ -0,0 +1,10 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +executables += [ + libexec_template + { + 'name' : 'systemd-socket-proxyd', + 'public' : true, + 'sources' : files('socket-proxyd.c'), + 'dependencies' : threads, + }, +] diff --git a/src/udev/meson.build b/src/udev/meson.build index baedcaa2fe..932a718651 100644 --- a/src/udev/meson.build +++ b/src/udev/meson.build @@ -116,6 +116,23 @@ libudevd_core = static_library( userspace], build_by_default : false) +executables += [ + executable_template + { + 'name' : 'udevadm', + 'public' : true, + 'sources' : udevadm_sources, + 'link_with' : [libudevd_core], + 'dependencies' : [ + libacl, + libblkid, + libidn, + libkmod, + threads, + ], + 'install_rpath' : udev_rpath, + }, +] + udev_progs = [['ata_id/ata_id.c'], ['cdrom_id/cdrom_id.c'], ['fido_id/fido_id.c', @@ -150,6 +167,10 @@ foreach prog : udev_progs public_programs += exe endforeach +meson.add_install_script(meson_make_symlink, + bindir / 'udevadm', + libexecdir / 'systemd-udevd') + if install_sysconfdir_samples install_data('udev.conf', install_dir : sysconfdir / 'udev') From eb51c09d1320d458231ee6de1616d3b2f0ac505b Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 26 Jun 2023 03:38:48 +0900 Subject: [PATCH 6/8] meson: move declarations of modules-load, nspawn, update-done, and update-utmp --- meson.build | 56 ++---------------------------------- src/modules-load/meson.build | 19 ++++++++++++ src/nspawn/meson.build | 18 +++++++++++- src/update-done/meson.build | 8 ++++++ src/update-utmp/meson.build | 10 +++++++ 5 files changed, 57 insertions(+), 54 deletions(-) create mode 100644 src/modules-load/meson.build create mode 100644 src/update-done/meson.build create mode 100644 src/update-utmp/meson.build diff --git a/meson.build b/meson.build index 94555ba91b..9b943a411b 100644 --- a/meson.build +++ b/meson.build @@ -2412,6 +2412,7 @@ subdir('src/locale') subdir('src/login') subdir('src/machine') subdir('src/machine-id-setup') +subdir('src/modules-load') subdir('src/mount') subdir('src/network') subdir('src/notify') @@ -2451,6 +2452,8 @@ subdir('src/timedate') subdir('src/timesync') subdir('src/tmpfiles') subdir('src/tty-ask-password-agent') +subdir('src/update-done') +subdir('src/update-utmp') subdir('src/user-sessions') subdir('src/userdb') subdir('src/vconsole') @@ -2680,59 +2683,6 @@ if want_tests != 'false' args : ['verify', '--resolve-names=never', all_rules]) endif -executable( - 'systemd-update-done', - 'src/update-done/update-done.c', - include_directories : includes, - link_with : [libshared], - dependencies : [userspace], - install_rpath : pkglibdir, - install : true, - install_dir : libexecdir) - -executable( - 'systemd-update-utmp', - 'src/update-utmp/update-utmp.c', - include_directories : includes, - link_with : [libshared], - dependencies : [libaudit, - userspace], - install_rpath : pkglibdir, - install : (conf.get('ENABLE_UTMP') == 1), - install_dir : libexecdir) - -if conf.get('HAVE_KMOD') == 1 - executable( - 'systemd-modules-load', - 'src/modules-load/modules-load.c', - include_directories : includes, - link_with : [libshared], - dependencies : [libkmod, - userspace], - install_rpath : pkglibdir, - install : true, - install_dir : libexecdir) - - meson.add_install_script('sh', '-c', - mkdir_p.format(modulesloaddir)) - if install_sysconfdir - meson.add_install_script('sh', '-c', - mkdir_p.format(sysconfdir / 'modules-load.d')) - endif -endif - -public_programs += executable( - 'systemd-nspawn', - systemd_nspawn_sources, - include_directories : includes, - link_with : [libnspawn_core, - libshared], - dependencies : [libblkid, - libseccomp, - userspace], - install_rpath : pkglibdir, - install : true) - if conf.get('ENABLE_NETWORKD') == 1 dbus_programs += executable( 'systemd-networkd', diff --git a/src/modules-load/meson.build b/src/modules-load/meson.build new file mode 100644 index 0000000000..af5b4da384 --- /dev/null +++ b/src/modules-load/meson.build @@ -0,0 +1,19 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +executables += [ + libexec_template + { + 'name' : 'systemd-modules-load', + 'conditions' : ['HAVE_KMOD'], + 'sources' : files('modules-load.c'), + 'dependencies' : libkmod, + }, +] + +if conf.get('HAVE_KMOD') == 1 + meson.add_install_script('sh', '-c', + mkdir_p.format(modulesloaddir)) + if install_sysconfdir + meson.add_install_script('sh', '-c', + mkdir_p.format(sysconfdir / 'modules-load.d')) + endif +endif diff --git a/src/nspawn/meson.build b/src/nspawn/meson.build index 9f00e88256..024a19a66b 100644 --- a/src/nspawn/meson.build +++ b/src/nspawn/meson.build @@ -35,7 +35,23 @@ libnspawn_core = static_library( userspace], build_by_default : false) -systemd_nspawn_sources = files('nspawn.c') +nspawn_libs = [ + libnspawn_core, + libshared, +] + +executables += [ + executable_template + { + 'name' : 'systemd-nspawn', + 'public' : true, + 'sources' : files('nspawn.c'), + 'link_with' : nspawn_libs, + 'dependencies' : [ + libblkid, + libseccomp, + ], + }, +] ############################################################ diff --git a/src/update-done/meson.build b/src/update-done/meson.build new file mode 100644 index 0000000000..89a79b69d0 --- /dev/null +++ b/src/update-done/meson.build @@ -0,0 +1,8 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +executables += [ + libexec_template + { + 'name' : 'systemd-update-done', + 'sources' : files('update-done.c'), + }, +] diff --git a/src/update-utmp/meson.build b/src/update-utmp/meson.build new file mode 100644 index 0000000000..1db4445155 --- /dev/null +++ b/src/update-utmp/meson.build @@ -0,0 +1,10 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +executables += [ + libexec_template + { + 'name' : 'systemd-update-utmp', + 'conditions' : ['ENABLE_UTMP'], + 'sources' : files('update-utmp.c'), + 'dependencies' : libaudit, + }, +] From 7be6a143da14d44fbdef9c62f19fadaa1cb495cc Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 26 Jun 2023 03:40:54 +0900 Subject: [PATCH 7/8] meson: move declarations of networkd and friends --- meson.build | 46 +---------------------------------------- src/network/meson.build | 39 ++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 45 deletions(-) diff --git a/meson.build b/meson.build index 9b943a411b..94eff0cace 100644 --- a/meson.build +++ b/meson.build @@ -2683,52 +2683,8 @@ if want_tests != 'false' args : ['verify', '--resolve-names=never', all_rules]) endif -if conf.get('ENABLE_NETWORKD') == 1 - dbus_programs += executable( - 'systemd-networkd', - systemd_networkd_sources, - include_directories : network_includes, - link_with : [libnetworkd_core, - libsystemd_network, - networkd_link_with], - dependencies : [threads, - userspace], - install_rpath : pkglibdir, - install : true, - install_dir : libexecdir) - - public_programs += executable( - 'systemd-networkd-wait-online', - systemd_networkd_wait_online_sources, - include_directories : includes, - link_with : [networkd_link_with], - dependencies : [userspace], - install_rpath : pkglibdir, - install : true, - install_dir : libexecdir) - - public_programs += executable( - 'networkctl', - networkctl_sources, - include_directories : libsystemd_network_includes, - link_with : [libsystemd_network, - networkd_link_with], - dependencies : [userspace], - install_rpath : pkglibdir, - install : true) -endif - -exe = executable( - 'systemd-network-generator', - network_generator_sources, - include_directories : includes, - link_with : [networkd_link_with], - dependencies : [userspace], - install_rpath : pkglibdir, - install : true, - install_dir : libexecdir) - if want_tests != 'false' + exe = executables_by_name.get('systemd-network-generator') test('test-network-generator-conversion', test_network_generator_conversion_sh, # https://github.com/mesonbuild/meson/issues/2681 diff --git a/src/network/meson.build b/src/network/meson.build index dab77a0d22..23d9cefc26 100644 --- a/src/network/meson.build +++ b/src/network/meson.build @@ -150,6 +150,45 @@ libnetworkd_core = static_library( link_with : networkd_link_with, build_by_default : false) +executables += [ + libexec_template + { + 'name' : 'systemd-networkd', + 'dbus' : true, + 'conditions' : ['ENABLE_NETWORKD'], + 'sources' : systemd_networkd_sources, + 'include_directories' : network_includes, + 'link_with' : [ + libnetworkd_core, + libsystemd_network, + networkd_link_with, + ], + 'dependencies' : threads, + }, + libexec_template + { + 'name' : 'systemd-networkd-wait-online', + 'public' : true, + 'conditions' : ['ENABLE_NETWORKD'], + 'sources' : systemd_networkd_wait_online_sources, + 'link_with' : networkd_link_with, + }, + executable_template + { + 'name' : 'networkctl', + 'public' : true, + 'conditions' : ['ENABLE_NETWORKD'], + 'sources' : networkctl_sources, + 'include_directories' : libsystemd_network_includes, + 'link_with' : [ + libsystemd_network, + networkd_link_with, + ], + }, + libexec_template + { + 'name' : 'systemd-network-generator', + 'sources' : network_generator_sources, + 'link_with' : networkd_link_with, + }, +] + if conf.get('ENABLE_NETWORKD') == 1 install_data('org.freedesktop.network1.conf', install_dir : dbuspolicydir) From 87e7979de402c4e592f68ae8b7d918ad644145b5 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 26 Jun 2023 03:44:39 +0900 Subject: [PATCH 8/8] meson: move declarations of kernel-install and sulogin-shell --- meson.build | 24 +++--------------------- src/kernel-install/meson.build | 20 ++++++++++++++------ src/sulogin-shell/meson.build | 8 ++++++++ 3 files changed, 25 insertions(+), 27 deletions(-) create mode 100644 src/sulogin-shell/meson.build diff --git a/meson.build b/meson.build index 94eff0cace..eba5cf3739 100644 --- a/meson.build +++ b/meson.build @@ -2441,6 +2441,7 @@ subdir('src/sleep') subdir('src/socket-activate') subdir('src/socket-proxy') subdir('src/stdio-bridge') +subdir('src/sulogin-shell') subdir('src/sysctl') subdir('src/sysext') subdir('src/system-update-generator') @@ -2692,26 +2693,6 @@ if want_tests != 'false' depends : exe) endif -executable( - 'systemd-sulogin-shell', - 'src/sulogin-shell/sulogin-shell.c', - include_directories : includes, - link_with : [libshared], - dependencies : [userspace], - install_rpath : pkglibdir, - install : true, - install_dir : libexecdir) - -kernel_install = executable( - 'kernel-install', - 'src/kernel-install/kernel-install.c', - include_directories : includes, - link_with : [libshared], - dependencies : [userspace], - install_rpath : pkglibdir, - install : want_kernel_install) -public_programs += kernel_install - ukify = custom_target( 'ukify', input : 'src/ukify/ukify.py', @@ -2724,7 +2705,8 @@ if want_ukify public_programs += ukify endif -if want_tests != 'false' and want_kernel_install +if want_tests != 'false' and conf.get('ENABLE_KERNEL_INSTALL') == 1 + kernel_install = executables_by_name.get('kernel-install') args = [kernel_install.full_path(), loaderentry_install.full_path(), uki_copy_install] deps = [kernel_install, loaderentry_install] if want_ukify and boot_stubs.length() > 0 diff --git a/src/kernel-install/meson.build b/src/kernel-install/meson.build index 29a3d2c5f6..0fa0c37ae2 100644 --- a/src/kernel-install/meson.build +++ b/src/kernel-install/meson.build @@ -2,6 +2,15 @@ want_kernel_install = conf.get('ENABLE_KERNEL_INSTALL') == 1 +executables += [ + executable_template + { + 'name' : 'kernel-install', + 'public' : true, + 'conditions' : ['ENABLE_KERNEL_INSTALL'], + 'sources' : files('kernel-install.c'), + }, +] + ukify_install = custom_target( '60-ukify.install', input : '60-ukify.install.in', @@ -22,10 +31,9 @@ loaderentry_install = custom_target( uki_copy_install = files('90-uki-copy.install') -kernel_install_files = [ - files('50-depmod.install'), - uki_copy_install, -] +kernel_install_files = uki_copy_install + files( + '50-depmod.install', +) if want_kernel_install install_data(kernel_install_files, @@ -39,6 +47,6 @@ if want_kernel_install meson.add_install_script('sh', '-c', mkdir_p.format(sysconfdir / 'kernel/install.d')) endif - - test_kernel_install_sh = find_program('test-kernel-install.sh') endif + +test_kernel_install_sh = find_program('test-kernel-install.sh') diff --git a/src/sulogin-shell/meson.build b/src/sulogin-shell/meson.build new file mode 100644 index 0000000000..34b2b3262b --- /dev/null +++ b/src/sulogin-shell/meson.build @@ -0,0 +1,8 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +executables += [ + libexec_template + { + 'name' : 'systemd-sulogin-shell', + 'sources' : files('sulogin-shell.c'), + }, +]