systemd/units/system-update-cleanup.service
Eric Curtin b9dac41837 Support /etc/system-update for OSTree systems
This is required when / is immutable and cannot be written at runtime.

Co-authored-by: Richard Hughes <richard@hughsie.com>
2023-04-25 17:40:41 +02:00

38 lines
1.5 KiB
Desktop File

# SPDX-License-Identifier: LGPL-2.1-or-later
#
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
[Unit]
Description=Remove the Offline System Updates Symlink
Documentation=man:systemd.special(7) man:systemd.offline-updates(7)
After=system-update.target
DefaultDependencies=no
Conflicts=shutdown.target
Before=shutdown.target
SuccessAction=reboot
# system-update-generator uses laccess("/system-update"), while a plain
# ConditionPathExists=/system-update uses access("/system-update"), so
# we need an alternate condition to cover the case of a dangling symlink.
#
# This service is only invoked if /system-update exists, i.e. if the
# condition tested by system-update-generator remains true and the system
# would be diverted into system-update.target again after reboot. This way
# we guard against being diverted into system-update.target again, which
# works as a safety measure, but we will not step on the toes of the
# update script if it successfully removed the symlink and scheduled a
# reboot or some other action on its own.
ConditionPathExists=|/system-update
ConditionPathIsSymbolicLink=|/system-update
ConditionPathExists=|/etc/system-update
ConditionPathIsSymbolicLink=|/etc/system-update
[Service]
Type=oneshot
ExecStart=rm -fv /system-update /etc/system-update