Procházet zdrojové kódy

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.

(From OE-Core rev: a5327fc16b76db28dd1da37463a046e69713dbac)

Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Daniel McGregor před 3 týdny
rodič
revize
2423dc098c
1 změnil soubory, kde provedl 2 přidání a 1 odebrání
  1. 2 1
      meta/classes-recipe/systemd.bbclass

+ 2 - 1
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
 }