summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Jenkins <alan-jenkins@tuffmail.co.uk>2009-10-29 11:25:53 +0000
committerHarald Hoyer <harald@redhat.com>2009-11-03 17:47:38 +0100
commit13425eb243a80907e863d3a63fab11c2e7f0d720 (patch)
tree1d61c5df433f33c190b6fe43a462972c907d5f87
parent5bde13f927935f6c480534d98c17966e46ed2845 (diff)
dracut-gencmdline: fix regex quoting in findstoragedriver()
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
-rwxr-xr-xdracut-gencmdline6
1 files changed, 3 insertions, 3 deletions
diff --git a/dracut-gencmdline b/dracut-gencmdline
index 689f49e..7359f4a 100755
--- a/dracut-gencmdline
+++ b/dracut-gencmdline
@@ -212,7 +212,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 +223,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