From a5327fc16b76db28dd1da37463a046e69713dbac Mon Sep 17 00:00:00 2001 From: Daniel McGregor Date: Tue, 23 Sep 2025 13:01:46 -0600 Subject: [PATCH] systemd: use if..then in prerm scriptlet Using the [ test ] && foo construct in the prerm scriptlet causes the prerm scriptlet to fail if the final test condition fails, which with rpm prevents the removal of the package. Switch to using if;then;fi instead, since it doesn't cause the scriptlet to fail. Signed-off-by: Daniel McGregor Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie --- meta/classes-recipe/systemd.bbclass | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta/classes-recipe/systemd.bbclass b/meta/classes-recipe/systemd.bbclass index 4e687135f1..5a0550b287 100644 --- a/meta/classes-recipe/systemd.bbclass +++ b/meta/classes-recipe/systemd.bbclass @@ -74,8 +74,9 @@ if type systemctl >/dev/null 2>/dev/null; then fi # same as above, --global flag is not supported for stop so do disable only - [ -n "${@systemd_filter_services("${SYSTEMD_SERVICE_ESCAPED}", True, d)}" ] && \ + if [ -n "${@systemd_filter_services("${SYSTEMD_SERVICE_ESCAPED}", True, d)}" ]; then systemctl --global disable ${@systemd_filter_services("${SYSTEMD_SERVICE_ESCAPED}", True, d)} + fi fi fi } -- 2.47.3