base-files: upgrade: Fix export_partdevice() quoting
authorBrian Norris <computersforpeace@gmail.com>
Wed, 21 Dec 2022 06:21:46 +0000 (22:21 -0800)
committerHauke Mehrtens <hauke@hauke-m.de>
Fri, 3 Feb 2023 13:09:46 +0000 (14:09 +0100)
$BOOTDEV_MAJOR may be empty for many of the uevents parsed in this
function. This condition thus tends to fail benignly (we just skip to
the next device), but it can really clutter the stage2 sysupgrade
stderr, since it looks like the "=" operand doesn't have an appropriate
left-hand argument.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
package/base-files/files/lib/upgrade/common.sh

index 53b8865a57887d6ac75fa2d7a13fd68a7914be3b..af1182cb16a383afb978138434f80ceac57f41d9 100644 (file)
@@ -232,7 +232,7 @@ export_partdevice() {
                while read line; do
                        export -n "$line"
                done < "$uevent"
-               if [ $BOOTDEV_MAJOR = $MAJOR -a $(($BOOTDEV_MINOR + $offset)) = $MINOR -a -b "/dev/$DEVNAME" ]; then
+               if [ "$BOOTDEV_MAJOR" = "$MAJOR" -a $(($BOOTDEV_MINOR + $offset)) = "$MINOR" -a -b "/dev/$DEVNAME" ]; then
                        export "$var=$DEVNAME"
                        return 0
                fi