From 76d5c79e9c559b12bae1825488e46f4961129e08 Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Mon, 8 Oct 2012 15:39:23 +0200 Subject: [PATCH] dracut-functions.sh: inst_rules_program() skip udev vars ${} --- dracut-functions.sh | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/dracut-functions.sh b/dracut-functions.sh index 990aadf3..4cba9414 100755 --- a/dracut-functions.sh +++ b/dracut-functions.sh @@ -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 }