]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
dracut-functions.sh: inst_rules_program() skip udev vars ${}
authorHarald Hoyer <harald@redhat.com>
Mon, 8 Oct 2012 13:39:23 +0000 (15:39 +0200)
committerHarald Hoyer <harald@redhat.com>
Mon, 8 Oct 2012 13:39:23 +0000 (15:39 +0200)
dracut-functions.sh

index 990aadf36e34bd993ddc72614b8d5a3c68b76d37..4cba94141b39490adc1dd806381e99f36918206a 100755 (executable)
@@ -827,47 +827,47 @@ inst_rule_programs() {
 
     if grep -qE 'PROGRAM==?"[^ "]+' "$1"; then
         for _prog in $(grep -E 'PROGRAM==?"[^ "]+' "$1" | sed -r 's/.*PROGRAM==?"([^ "]+).*/\1/'); do
+            _bin=""
             if [ -x ${udevdir}/$_prog ]; then
                 _bin=${udevdir}/$_prog
-            else
+            elif [[ "${_prog/\$\{/}" != "$_prog" ]]; then
                 _bin=$(find_binary "$_prog") || {
                     dinfo "Skipping program $_prog using in udev rule ${1##*/} as it cannot be found"
                     continue;
                 }
             fi
 
-            #dinfo "Installing $_bin due to it's use in the udev rule $(${1##*/})"
-            dracut_install "$_bin"
+            [[ $_bin ]] && dracut_install "$_bin"
         done
     fi
     if grep -qE 'RUN[+=]=?"[^ "]+' "$1"; then
         for _prog in $(grep -E 'RUN[+=]=?"[^ "]+' "$1" | sed -r 's/.*RUN[+=]=?"([^ "]+).*/\1/'); do
+            _bin=""
             if [ -x ${udevdir}/$_prog ]; then
                 _bin=${udevdir}/$_prog
-            else
+            elif [[ "${_prog/\$\{/}" != "$_prog" ]]; then
                 _bin=$(find_binary "$_prog") || {
                     dinfo "Skipping program $_prog using in udev rule ${1##*/} as it cannot be found"
                     continue;
                 }
             fi
 
-            #dinfo "Installing $_bin due to it's use in the udev rule $(${1##*/})"
-            dracut_install "$_bin"
+            [[ $_bin ]] && dracut_install "$_bin"
         done
     fi
     if grep -qE 'IMPORT\{program\}==?"[^ "]+' "$1"; then
         for _prog in $(grep -E 'IMPORT\{program\}==?"[^ "]+' "$1" | sed -r 's/.*IMPORT\{program\}==?"([^ "]+).*/\1/'); do
+            _bin=""
             if [ -x ${udevdir}/$_prog ]; then
                 _bin=${udevdir}/$_prog
-            else
+            elif [[ "${_prog/\$\{/}" != "$_prog" ]]; then
                 _bin=$(find_binary "$_prog") || {
                     dinfo "Skipping program $_prog using in udev rule ${1##*/} as it cannot be found"
                     continue;
                 }
             fi
 
-            #dinfo "Installing $_bin due to it's use in the udev rule $(${1##*/})"
-            dracut_install "$_bin"
+            [[ $_bin ]] && dracut_install "$_bin"
         done
     fi
 }