]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
bootctl: suppress output of empty partition info if we also have no idea about EFI...
authorLennart Poettering <lennart@poettering.net>
Sun, 9 Feb 2025 22:23:38 +0000 (23:23 +0100)
committerLennart Poettering <lennart@poettering.net>
Sun, 9 Feb 2025 22:23:38 +0000 (23:23 +0100)
So far we'd output both the partition and the binary path always, even
if we didn't know either (but in that case show empty information).
Let's address this, and show partition info only if we know it, or if we
know the EFI binary path, but suppress both if we know neither.

Note that we'll show the partition info if we don't know it still if we
know the EFI binary path used for boot, since it is relative to the
partition of course, and hence it's really strange to know one but not
the other, hence it deserves some mentioning in the output.

src/bootctl/bootctl-status.c

index 9d32bdb95f2b17faf29f9fc556f780ebd194d2f5..a9fc43e417906133a1f4f33acd194fb1640aa5ae 100644 (file)
@@ -494,9 +494,11 @@ int verb_status(int argc, char *argv[], void *userdata) {
 
                                 printf("    Partition: /dev/disk/by-partuuid/" SD_ID128_UUID_FORMAT_STR "\n",
                                        SD_ID128_FORMAT_VAL(loader_partition_uuid));
-                        } else
+                        } else if (loader_path)
                                 printf("    Partition: n/a\n");
-                        printf("       Loader: %s%s\n", special_glyph(SPECIAL_GLYPH_TREE_RIGHT), strna(loader_path));
+
+                        if (loader_path)
+                                printf("       Loader: %s%s\n", special_glyph(SPECIAL_GLYPH_TREE_RIGHT), strna(loader_path));
                         printf("\n");
                 }
 
@@ -518,9 +520,11 @@ int verb_status(int argc, char *argv[], void *userdata) {
 
                                 printf("    Partition: /dev/disk/by-partuuid/" SD_ID128_UUID_FORMAT_STR "\n",
                                        SD_ID128_FORMAT_VAL(stub_partition_uuid));
-                        } else
+                        } else if (stub_path)
                                 printf("    Partition: n/a\n");
-                        printf("         Stub: %s%s\n", special_glyph(SPECIAL_GLYPH_TREE_RIGHT), strna(stub_path));
+
+                        if (stub_path)
+                                printf("         Stub: %s%s\n", special_glyph(SPECIAL_GLYPH_TREE_RIGHT), strna(stub_path));
                         printf("\n");
                 }