1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
# SPDX-License-Identifier: LGPL-2.1-or-later
systemctl_sources = files(
'systemctl-add-dependency.c',
'systemctl-cancel-job.c',
'systemctl-clean-or-freeze.c',
'systemctl-compat-halt.c',
'systemctl-compat-runlevel.c',
'systemctl-compat-shutdown.c',
'systemctl-compat-telinit.c',
'systemctl-daemon-reload.c',
'systemctl-edit.c',
'systemctl-enable.c',
'systemctl-is-active.c',
'systemctl-is-enabled.c',
'systemctl-is-system-running.c',
'systemctl-kill.c',
'systemctl-list-dependencies.c',
'systemctl-list-jobs.c',
'systemctl-list-machines.c',
'systemctl-list-unit-files.c',
'systemctl-list-units.c',
'systemctl-log-setting.c',
'systemctl-logind.c',
'systemctl-mount.c',
'systemctl-preset-all.c',
'systemctl-reset-failed.c',
'systemctl-service-watchdogs.c',
'systemctl-set-default.c',
'systemctl-set-environment.c',
'systemctl-set-property.c',
'systemctl-show.c',
'systemctl-start-special.c',
'systemctl-start-unit.c',
'systemctl-switch-root.c',
'systemctl-sysv-compat.c',
'systemctl-trivial-method.c',
'systemctl-util.c',
'systemctl-whoami.c',
'systemctl.c',
)
if get_option('link-systemctl-shared')
systemctl_link_with = [libshared]
else
systemctl_link_with = [libsystemd_static,
libshared_static,
libbasic_gcrypt]
endif
executables += [
executable_template + {
'name' : 'systemctl',
'public' : true,
'sources' : systemctl_sources,
'link_with' : systemctl_link_with,
'dependencies' : [
libcap,
liblz4,
libselinux,
libxz,
libzstd,
threads,
],
},
fuzz_template + {
'sources' : [
files('fuzz-systemctl-parse-argv.c'),
systemctl_sources,
],
'link_with' : systemctl_link_with,
'c_args' : ['-DFUZZ_SYSTEMCTL_PARSE_ARGV'],
},
]
foreach alias : (['halt', 'poweroff', 'reboot', 'shutdown'] +
(conf.get('HAVE_SYSV_COMPAT') == 1 ? ['runlevel', 'telinit'] : []))
install_emptydir(sbindir)
meson.add_install_script(sh, '-c',
ln_s.format(bindir / 'systemctl',
sbindir / alias))
endforeach
|