systemd/units/system-update-cleanup.service

36 lines
1.4 KiB
SYSTEMD

# 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
[Service]
Type=oneshot
ExecStart=/bin/rm -fv /system-update