]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
portablectl: fix using --force when no --extension is passed 28049/head
authorLuca Boccassi <bluca@debian.org>
Fri, 16 Jun 2023 11:31:37 +0000 (12:31 +0100)
committerLuca Boccassi <bluca@debian.org>
Fri, 16 Jun 2023 11:31:56 +0000 (12:31 +0100)
The 'force' flag applies whether or not extensions are present

src/portable/portablectl.c

index 39f17a8de7b0c15576d442fefac8bd1dce70dcac..8744ba75fe412e44ea7736c3977c6db68bcfdaba 100644 (file)
@@ -264,7 +264,7 @@ static int get_image_metadata(sd_bus *bus, const char *image, char **matches, sd
         assert(bus);
         assert(reply);
 
-        method = strv_isempty(arg_extension_images) ? "GetImageMetadata" : "GetImageMetadataWithExtensions";
+        method = strv_isempty(arg_extension_images) && !arg_force ? "GetImageMetadata" : "GetImageMetadataWithExtensions";
 
         r = bus_message_new_method_call(bus, &m, bus_portable_mgr, method);
         if (r < 0)
@@ -907,11 +907,11 @@ static int attach_reattach_image(int argc, char *argv[], const char *method) {
 }
 
 static int attach_image(int argc, char *argv[], void *userdata) {
-        return attach_reattach_image(argc, argv, strv_isempty(arg_extension_images) ? "AttachImage" : "AttachImageWithExtensions");
+        return attach_reattach_image(argc, argv, strv_isempty(arg_extension_images) && !arg_force ? "AttachImage" : "AttachImageWithExtensions");
 }
 
 static int reattach_image(int argc, char *argv[], void *userdata) {
-        return attach_reattach_image(argc, argv, strv_isempty(arg_extension_images) ? "ReattachImage" : "ReattachImageWithExtensions");
+        return attach_reattach_image(argc, argv, strv_isempty(arg_extension_images) && !arg_force ? "ReattachImage" : "ReattachImageWithExtensions");
 }
 
 static int detach_image(int argc, char *argv[], void *userdata) {
@@ -934,7 +934,7 @@ static int detach_image(int argc, char *argv[], void *userdata) {
 
         (void) maybe_stop_disable(bus, image, argv);
 
-        method = strv_isempty(arg_extension_images) ? "DetachImage" : "DetachImageWithExtensions";
+        method = strv_isempty(arg_extension_images) && !arg_force ? "DetachImage" : "DetachImageWithExtensions";
 
         r = bus_message_new_method_call(bus, &m, bus_portable_mgr, method);
         if (r < 0)