STRV_FOREACH(p, extensions) {
_cleanup_free_ char *resolved_extension_image = NULL;
- r = determine_image(*p, false, &resolved_extension_image);
+ r = determine_image(
+ *p,
+ startswith_strv(method, STRV_MAKE("Get", "Detach")),
+ &resolved_extension_image);
if (r < 0)
return r;
portablectl inspect --force --cat --extension /tmp/app10.raw /usr/share/minimal_0.raw app0 | grep -q -F "Extension Release: /tmp/app10.raw"
-portablectl detach --force --now --runtime --extension /tmp/app10.raw /usr/share/minimal_0.raw app0
+# Ensure that we can detach even when an image has been deleted already (stop the unit manually as
+# portablectl won't find it)
+rm -f /tmp/app10.raw
+systemctl stop app0.service
+portablectl detach --force --runtime --extension /tmp/app10.raw /usr/share/minimal_0.raw app0
# portablectl also accepts confexts
portablectl "${ARGS[@]}" attach --now --runtime --extension /usr/share/app0.raw --extension /usr/share/conf0.raw /usr/share/minimal_0.raw app0