diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2017-11-22 14:18:25 +0100 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2017-12-01 18:58:54 +0100 |
commit | cd9f5b68ce08375eb1d68a4ddaa7a24a5092d7ba (patch) | |
tree | 5ad7c72490ae123366efae336dd68cfdec22c078 /units/systemd-tmpfiles-setup.service.in | |
parent | d9daae55d5d7d7cfe4edcc70fb120f28d5ba5dc5 (diff) | |
download | systemd-cd9f5b68ce08375eb1d68a4ddaa7a24a5092d7ba.tar.gz |
units: use SuccessExitStatus to ignore syntax errors in tmpfiles
This makes sense from the point of view of the whole distribution:
if there are some specific files that have syntax problems, or unknown
users or groups, or use unsupported features, failing the whole service
is not useful.
In particular, services with tmpfiles --boot should not be started after boot.
The premise of --boot is that there are actions which are only safe to do once
during boot, because the state evolves later through other means and re-running
the boot-time setup would destroy it. If services with --boot fail in the
initial transaction, they would be re-run later on when a unit which
(indirectly) depends on them is started, causing problems.
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1507501.
(If we had a mode where a service would at most run once, and would not be
started in subsequent transactions, that'd be a good additional safeguard.
Using ExecStart=-... is a bit like that, but it causes all failure to be
ignored, which is too big of a hammer.)
Diffstat (limited to 'units/systemd-tmpfiles-setup.service.in')
-rw-r--r-- | units/systemd-tmpfiles-setup.service.in | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/units/systemd-tmpfiles-setup.service.in b/units/systemd-tmpfiles-setup.service.in index ba24b8d823..0410d0bfd8 100644 --- a/units/systemd-tmpfiles-setup.service.in +++ b/units/systemd-tmpfiles-setup.service.in @@ -20,3 +20,4 @@ RefuseManualStop=yes Type=oneshot RemainAfterExit=yes ExecStart=@rootbindir@/systemd-tmpfiles --create --remove --boot --exclude-prefix=/dev +SuccessExitStatus=65 |