If you don't need the mark good service, because your descision if it is
good does not translate to systemd-target, but you handle it in your
application, you don't want the mark-good.service to run.

Signed-off-by: Fabian Pflug <[email protected]>
---
 rules/rauc.in   | 10 ++++++++++
 rules/rauc.make |  2 ++
 2 files changed, 12 insertions(+)

diff --git a/rules/rauc.in b/rules/rauc.in
index ed951db02..7f260984d 100644
--- a/rules/rauc.in
+++ b/rules/rauc.in
@@ -47,6 +47,16 @@ config RAUC_SERVICE
          that communicate with each other via D-Bus interface.
          Only deactivate this if you have a system that does not provide D-Bus!
 
+config RAUC_MARK_GOOD
+       bool
+       prompt "Enable the rauc-mark-good systemd service"
+       depends on RAUC_SERVICE && INITMETHOD_SYSTEMD
+       default y
+       help
+         The service will start after boot-complete target has been reached and
+         mark the currently booted slot as good. If your application does this
+         after some additional checks, disable this.
+
 config RAUC_NETWORK
        bool
        prompt "Enable network support"
diff --git a/rules/rauc.make b/rules/rauc.make
index a3a5071e5..2f4aedcad 100644
--- a/rules/rauc.make
+++ b/rules/rauc.make
@@ -97,10 +97,12 @@ ifdef PTXCONF_INITMETHOD_SYSTEMD
        @$(call install_alternative, rauc, 0, 0, 0644, \
                /usr/lib/systemd/system/rauc.service)
 
+ifdef PTXCONF_RAUC_MARK_GOOD
        @$(call install_alternative, rauc, 0, 0, 0644, \
                /usr/lib/systemd/system/rauc-mark-good.service)
        @$(call install_link, rauc, ../rauc-mark-good.service, \
                
/usr/lib/systemd/system/multi-user.target.wants/rauc-mark-good.service)
+endif
 else
        @$(call install_copy, rauc, 0, 0, 0755, -, \
                /usr/libexec/rauc-service.sh)
-- 
2.47.2


Reply via email to