[PATCH] dracut-gencmdline: fix regex quoting in findstoragedriver()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On my LVM system this changes the relevant output from "rd_NO_LVM" to
"rd_LVM_VG=alan-desktop.Linux"

Note that on my newer system, it now reaches moduledep() and complains.
I don't know enough awk to tell whose fault it is :).
   awk: line 2: function gensub never defined
   awk: line 2: function gensub never defined
   rd_NO_MD rd_NO_LVM rd_NO_LUKS LANG=en_GB.UTF-8 root=/dev/sda2

Both my systems (old ubuntu and debian unstable) agree that bash
regexes should not be quoted:

   $ [[ 'a' =~ a ]] && echo match
   match
   $ [[ 'a' =~ ^a$ ]] && echo match
   match
   $ [[ 'a' =~ '^a$' ]] && echo match
   $

(and yes, it is safe against globbing)

   $ touch 9
   $ echo [0-9]
   9
   $ [[ 1 =~ [0-9] ]] && echo match
   match

diff --git a/dracut-gencmdline b/dracut-gencmdline
index 978f5a2..02509dd 100755
--- a/dracut-gencmdline
+++ b/dracut-gencmdline
@@ -212,7 +215,7 @@ findstoragedriverinsys () {
        sysfs=$(freadlink ${sysfs%/*})
    fi

-    if [[ ! "$sysfs" =~ '^/sys/.*block/.*$' ]]; then
+    if [[ ! "$sysfs" =~ ^/sys/.*block/.*$ ]]; then
        #error "WARNING: $sysfs is a not a block sysfs path, skipping"
        return
    fi
@@ -223,12 +226,12 @@ findstoragedriverinsys () {
        *) handleddevices="$handleddevices $sysfs" ;;
    esac

-    if [[ "$sysfs" =~ '^/sys/.*block/md[0-9]+$' ]]; then
+    if [[ "$sysfs" =~ ^/sys/.*block/md[0-9]+$ ]]; then
        local raid=${sysfs##*/}
        vecho "Found MDRAID component $raid"
        handleraid $raid
    fi
-    if [[ "$sysfs" =~ '^/sys/.*block/dm-[0-9]+$' ]]; then
+    if [[ "$sysfs" =~ ^/sys/.*block/dm-[0-9]+$ ]]; then
        vecho "Found DeviceMapper component ${sysfs##*/}"
        handledm $(cat $sysfs/dev |cut -d : -f 1) $(cat $sysfs/dev |cut -d : -f 2)
    fi


--
To unsubscribe from this list: send the line "unsubscribe initramfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux