system-update-cleanup.service 1.4 KB

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