Skip to content

Commit 494140f

Browse files
say-paulcursoragent
andcommitted
feat: trigger rollback at update-time via ostree-finalize-staged
Change greenboot-set-rollback-trigger.service to run when bootc update or rpm-ostree upgrade stages a deployment, instead of at next boot. The service is now RequiredBy=ostree-finalize-staged.service and ordered Before= it, matching the pattern used by the original bash greenboot's greenboot-grub2-set-counter.service. This means the rollback trigger and fallback grub variables are set immediately when an update is staged, not deferred to the next boot. Removed: ConditionNeedsUpdate, boot-time ordering (sysinit.target, systemd-update-done.service), WantedBy boot targets. Added: ConditionPathExists=/run/ostree-booted, RequiresMountsFor=/boot, PrivateMounts=yes, RemainAfterExit=yes. Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 24d834f commit 494140f

1 file changed

Lines changed: 6 additions & 8 deletions

File tree

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,15 @@
11
[Unit]
22
Description=Greenboot Rollback trigger
33
DefaultDependencies=no
4-
After=local-fs.target
5-
Before=systemd-update-done.service greenboot-healthcheck.service
6-
Before=sysinit.target shutdown.target
7-
Conflicts=shutdown.target
8-
ConditionNeedsUpdate=|/etc
9-
ConditionNeedsUpdate=|/var
4+
Before=ostree-finalize-staged.service
5+
RequiresMountsFor=/boot
6+
ConditionPathExists=/run/ostree-booted
107

118
[Service]
129
Type=oneshot
13-
Restart=no
10+
RemainAfterExit=yes
1411
ExecStart=/usr/libexec/greenboot/greenboot set-rollback-trigger
12+
PrivateMounts=yes
1513

1614
[Install]
17-
WantedBy=systemd-update-done.service greenboot-healthcheck.service
15+
RequiredBy=ostree-finalize-staged.service

0 commit comments

Comments
 (0)