base-files: sysupgrade stage2: fix losetup detection
authorDaniel Golle <daniel@makrotopia.org>
Mon, 2 Aug 2021 18:51:58 +0000 (20:51 +0200)
committerDaniel Golle <daniel@makrotopia.org>
Tue, 3 Aug 2021 17:28:44 +0000 (18:28 +0100)
If the busybox applet losetup was selected, `command -v` selects that
during sysupgrade. As this applet is in another path and doesn't cover
the '-D' option which is used to make sure user-defined loop devices
are no longer active during sysupgrade.
Detect losetup at the path of the full utility to avoid error messages
in case of the busybox applet being selected.

Reported-by: fda77 <fda77@users.noreply.github.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
package/base-files/files/lib/upgrade/stage2

index 13c3622f382dd07e3a425fdf2e91aee09dfe73ed..30ad19f7f1b3e64f044eafaceda90745093789a3 100755 (executable)
@@ -33,7 +33,7 @@ supivot() { # <new_root> <old_root>
 }
 
 switch_to_ramfs() {
-       RAMFS_COPY_LOSETUP="$(command -v losetup)"
+       RAMFS_COPY_LOSETUP="$(command -v /usr/sbin/losetup)"
        RAMFS_COPY_LVM="$(command -v lvm)"
 
        for binary in \