core: add IgnoreOnSoftReboot= unit option

As it says on the tin, configures the unit to survive a soft reboot.
Currently all the following options have to be set by hand:

Conflicts=reboot.target kexec.target poweroff.target halt.target
Before=reboot.target kexec.target poweroff.target halt.target
After=sysinit.target basic.target
DefaultDependencies=no
IgnoreOnIsolate=yes

This is not very user friendly. If new default dependencies are added,
or new shutdown/reboot types, they also have to be added manually.

The new option is much simpler, easy to find, and does the right thing
by default.
This commit is contained in:
Luca Boccassi
2023-07-21 18:05:41 +02:00
committed by Zbigniew Jędrzejewski-Szmek
parent 03d298e1e5
commit b80fc61e89
18 changed files with 166 additions and 52 deletions
+10
View File
@@ -979,6 +979,16 @@
ones.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>IgnoreOnSoftReboot=</varname></term>
<listitem><para>Takes a boolean argument. Defaults to <option>no</option>. If <option>yes</option>,
the unit will be configured to survive a soft reboot operation (see:
<citerefentry><refentrytitle>systemd-soft-reboot.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>).
This will ensure the unit is stopped normally during reboot or shutdown operations, but it survives
a soft reboot by not being stopped on the way down or on the way back up.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>CollectMode=</varname></term>