Lennart Poettering
c45e5fb877
systemctl: replace switch statement by table of structures
2019-03-27 12:37:37 +01:00
Zbigniew Jędrzejewski-Szmek
ca78ad1de9
headers: remove unneeded includes from util.h
...
This means we need to include many more headers in various files that simply
included util.h before, but it seems cleaner to do it this way.
2019-03-27 11:53:12 +01:00
Zbigniew Jędrzejewski-Szmek
2771aaf571
systemctl: define less stuff when !HAVE_SYSV_COMPAT
...
We'd translate our action to sysv runlevel action, only to discard the result
in talk_initctl(). Let's just ifdef the whole thing away.
Fixes #12103 .
2019-03-26 19:06:48 +01:00
Lennart Poettering
1d52a931c6
systemctl: move --failed close to --state= in help text
2019-03-25 15:25:58 +01:00
Lennart Poettering
8e54300425
systemctl: underline sections in help text
...
Taking inspiration from the recent commit that added that to nspawn's
help text.
2019-03-25 15:25:58 +01:00
Lennart Poettering
3bfa8668b0
systemctl: use structured initialization
2019-03-25 15:25:57 +01:00
Lennart Poettering
2f50e59f2b
systemctl: use SYNTHETIC_ERRNO everywhere
2019-03-25 15:23:08 +01:00
Lennart Poettering
63a3b3cb70
systemctl: split out some SysV compat stuff into its own C file
...
systemctl.c is way to large already. Let's split out some stuff out that
is easy to split out.
2019-03-25 15:23:08 +01:00
Lennart Poettering
16b4623620
Merge pull request #11602 from vesajaaskelainen/dbus-reboot-with-parameters
...
dbus-manager: Add RebootWithParameters d-bus method
2019-03-22 21:07:47 +01:00
Vesa Jääskeläinen
77defcf538
systemctl: restore "systemctl reboot ARG" functionality
...
Commit d85515edcf changed logic how reboot is
executed. That commit changed behavior to use emergency action reboot code path
to perform the reboot.
This inadvertently broke rebooting with argument:
$ systemctl reboot custom-reason
Restore original behavior so that if reboot service unit similar to
systemd-reboot.service is executed it is possible to override reboot reason
with "systemctl reboot ARG".
When "systemctl reboot ARG" is executed ARG is placed in file
/run/systemd/reboot-param and reboot is issued using logind's Reboot
dbus-service.
If RebootArgument is specified in systemd-reboot.service it takes precedence
over what systemctl sets.
Fixes : #11828
2019-03-22 17:38:54 +02:00
Lennart Poettering
8d1ee64829
systemctl: make a copy of the "verb" from argv[] before forking off a child
2019-03-21 18:10:06 +01:00
Lennart Poettering
290cb8e883
systemctl: tiny optimization
2019-03-21 18:10:06 +01:00
Lennart Poettering
b1dffbb91b
systemctl: add missing OOM check
2019-03-21 18:10:06 +01:00
Lennart Poettering
3483460cb8
systemctl: document argv[] array
2019-03-21 18:10:06 +01:00
Lennart Poettering
d86e4c979a
systemctl: use saved_argv where we can
...
No need to have another variable where we keep the original argv[].
Let's juse reuse the one DEFINE_MAIN_FUNCTION() stores for us anyway.
2019-03-21 18:10:06 +01:00
Zbigniew Jędrzejewski-Szmek
9dd6ccf7c0
Merge pull request #12014 from poettering/systemctl-exit-fix
...
systemctl fallback error propagation fix
2019-03-21 17:37:09 +01:00
Lennart Poettering
2e13c0c354
systemctl: start_unit() returns > 0 on error, let's catch that properly
...
Let's make sure we fall back correctly to initctl when start_unit()
returns an error > 0.
Fixes : #11546
2019-03-20 15:05:27 +01:00
Lennart Poettering
9dccc6d3ae
systemctl: use strv_consume() where we can
2019-03-20 14:53:07 +01:00
Lennart Poettering
61ff45db95
systemctl: port to static destructors
2019-03-20 14:53:07 +01:00
Lennart Poettering
25b1d72dcc
bus-unit-util: split out code that shows a unit's process tree
...
The code is complex enough to deserve its own .c file. Let's split this
out.
2019-03-13 17:41:41 +01:00
Lennart Poettering
e45c81b8bc
shared: split out code to wait for jobs to complet into its own source file
...
It's complex enough and quite a few functions. Let's hence split this
out.
No code change, just some rearranging of source files.
2019-03-13 17:39:24 +01:00
Lennart Poettering
aee7082fbd
systemctl: drop unnecessary {}
2019-03-13 17:38:43 +01:00
Lennart Poettering
96e895efaf
systemctl: use strv_consume() where appropriate
2019-03-13 17:38:43 +01:00
Lennart Poettering
fb1ac50e4e
systemctl: minimize scope of 'p'
2019-03-13 17:38:43 +01:00
Lennart Poettering
9a1996455e
systemctl: refactor code to watch unit ActiveState a bit
...
let's split out one function, to make this reusable
2019-03-13 17:38:43 +01:00
Lennart Poettering
cc5957dca0
bootspec: don't log in boot_entries_load_config_auto() about no ESP
...
Let's do it in the caller instead. That way, logind can stay silent
about it.
Fixes : #11950
2019-03-13 17:06:24 +01:00
Lennart Poettering
760877e90c
util: split out sorting related calls to new sort-util.[ch]
2019-03-13 12:16:43 +01:00
Lennart Poettering
0a9707187b
util: split out memcmp()/memset() related calls into memory-util.[ch]
...
Just some source rearranging.
2019-03-13 12:16:43 +01:00
Lennart Poettering
97af80c5a7
systemctl: add support for booting into boot menu/entry
...
(This also removes support for booting into the EFI firmware setup
without logind. That's because otherwise the non-EFI fallback logind
implements can't work.)
Fixes : #9896
2019-03-05 16:52:46 +01:00
Lennart Poettering
38bd74d67e
bootspec: get rid of find_default_boot_entry() entirely
...
Now only two operations are left. Let's just move this into the caller,
since it should make things simpler, clearer and shorter, in particular
as there's only a single user for this.
2019-03-05 16:50:58 +01:00
Lennart Poettering
5b1da1ba6d
bootspec: simplify find_default_boot_entry()
...
If the only caller passes NULL for the two paths, let's remove the
parameter altogether.
2019-03-05 16:50:58 +01:00
Lennart Poettering
c943e95f89
systemctl: let's FORK_WAIT where we can
2019-03-05 16:50:58 +01:00
Lennart Poettering
0f88d82979
systemctl: when something is not supported use EOPNOTSUPP
2019-03-05 16:50:58 +01:00
Lennart Poettering
78c38fe79c
systemctl: be careful with boot loader entries lacking a 'linux' line
...
A boot loader entry might not have a 'linux' line, but an 'efi' line or
something else. Let's handle that case nicely.
2019-03-05 16:50:58 +01:00
Lennart Poettering
7800322ca5
bootspec: move log msg from systemctl.c to bootspec.c
...
find_default_boot_entry() is only used by systemctl.c, and currently
handles one log message in the caller instead of the callee. Let's
simplify that and move it over, too
2019-03-05 16:50:58 +01:00
Yu Watanabe
305a285092
systemctl: format LogExtraFields= in 'show' command
2019-03-04 23:45:07 +09:00
Yu Watanabe
4c787df72f
systemctl: format BindPaths= or TemporaryFileSystems= in 'show' command
2019-03-04 23:45:07 +09:00
Yu Watanabe
04749e4003
systemctl: print RestrictAddressFamilies= in 'show' command
2019-03-04 23:45:07 +09:00
Yu Watanabe
48d3358db1
systemctl: show nothing if no LoadError=
2019-03-04 23:45:07 +09:00
Yu Watanabe
9c1f946566
systemctl: show IPAddressAllow= and IPAddressDeny= in 'show' command
2019-03-04 23:45:07 +09:00
Yu Watanabe
4a22071201
systemctl: show SuccessExitStatus= and friends
2019-03-04 23:35:56 +09:00
Yu Watanabe
8e066ef316
systemctl: use streq() if arguments must be non-NULL
2019-03-04 23:35:56 +09:00
Yu Watanabe
a3ddd4571d
systemctl: do not show negative values in {Success,Failure}ActionExitStatus=
2019-03-04 23:35:56 +09:00
Yu Watanabe
102b021460
bus-util: drop unnecessary re-formatting
2019-03-04 23:35:46 +09:00
INSUN PYO
c7bb2fec78
systemctl: show SELinuxContext=, AppArmorProfile= and SmackProcessLabel=
...
Run: systemctl show -a dbus.service | grep -E "SELinuxContext|AppArmorProfile|SmackProcessLabel"
Before patch:
SELinuxContext=[unprintable]
AppArmorProfile=[unprintable]
SmackProcessLabel=[unprintable]
After patch:
SELinuxContext=[""|"value of context"]
AppArmorProfile=[""|"value of context"]
SmackProcessLabel=[""|"value of context"]
2019-03-04 15:27:30 +01:00
Lennart Poettering
a2f8664e9a
bootspec: load entries from both the ESP and XBOOTLDR partitions
...
Let's simply search in both.
2019-03-01 12:41:32 +01:00
Lennart Poettering
9fc32cd9b3
systemctl: add missing OOM checks
2019-03-01 12:41:32 +01:00
Lennart Poettering
8a1ef3bf8d
systemctl: use SYNTHETIC_ERRNO() where appropriate
2019-03-01 12:41:32 +01:00
Lennart Poettering
947fbaea8b
systemctl: drop arg_esp_path variable from systemctl
...
It's not set ever (and there's no real need to make it settable, since
users can as well set $SYSTEMD_ESP_PATH to configure this.
2019-03-01 12:41:32 +01:00
Lennart Poettering
43b736a84b
bootspec: store 'root' field in each bootspec entry we load
...
This 'root' field contains the root path of the partition we found the
snippet in. The 'kernel', 'initrd', 'efi', … fields are relative to this
path.
This becomes particularly useful later when we add support for loading
snippets from both the ESP and XBOOTLDR, but already simplifies the code
for us a bit in systemctl.
2019-03-01 12:41:32 +01:00