Skip boot flag check when installing to directory
authorMichael Prokop <mika@grml.org>
Sat, 6 Jun 2020 10:26:15 +0000 (12:26 +0200)
committerMichael Prokop <mika@grml.org>
Sat, 6 Jun 2020 10:34:08 +0000 (12:34 +0200)
In commit 8b59cb0b5c0cfa the check_boot_flag was moved from
install_grml() to main(), though inside install_grml() we
had the special casing whether the target is a directory or not.

To avoid having to add this check before any possible check_boot_flag()
invocation (and possibly forget about it), add this check to the
implementation of check_boot_flag().

Fixes:

| % sudo grml2usb --tmpdir=/tmp/grml2iso.tmp grml64-small_2020.06-rc1.iso grml32-small_2020.06-rc1.iso /tmp/grml2iso.tmp/cddir
| Executing grml2usb version 0.18.1
| Checking for boot flag
| Fatal: /tmp/grml2iso.tmp/cddir: unrecognised disk label

grml2usb

index 6a8ada2..749fcd1 100755 (executable)
--- a/grml2usb
+++ b/grml2usb
@@ -503,6 +503,12 @@ def get_partition_for_path(path):
 
 
 def check_boot_flag(device):
+    if os.path.isdir(device):
+        logging.debug(
+            "Device %s is a directory, skipping check for boot flag." % device
+        )
+        return
+
     boot_dev, x = get_device_from_partition(device)
 
     logging.info("Checking for boot flag")