dracut-functions.sh: inst_rules_program() skip udev vars ${}

master
Harald Hoyer 2012-10-08 15:39:23 +02:00
parent fdf2b152e5
commit 76d5c79e9c
1 changed files with 9 additions and 9 deletions

View File

@ -827,47 +827,47 @@ inst_rule_programs() {


if grep -qE 'PROGRAM==?"[^ "]+' "$1"; then if grep -qE 'PROGRAM==?"[^ "]+' "$1"; then
for _prog in $(grep -E 'PROGRAM==?"[^ "]+' "$1" | sed -r 's/.*PROGRAM==?"([^ "]+).*/\1/'); do for _prog in $(grep -E 'PROGRAM==?"[^ "]+' "$1" | sed -r 's/.*PROGRAM==?"([^ "]+).*/\1/'); do
_bin=""
if [ -x ${udevdir}/$_prog ]; then if [ -x ${udevdir}/$_prog ]; then
_bin=${udevdir}/$_prog _bin=${udevdir}/$_prog
else elif [[ "${_prog/\$\{/}" != "$_prog" ]]; then
_bin=$(find_binary "$_prog") || { _bin=$(find_binary "$_prog") || {
dinfo "Skipping program $_prog using in udev rule ${1##*/} as it cannot be found" dinfo "Skipping program $_prog using in udev rule ${1##*/} as it cannot be found"
continue; continue;
} }
fi fi


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


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


#dinfo "Installing $_bin due to it's use in the udev rule $(${1##*/})" [[ $_bin ]] && dracut_install "$_bin"
dracut_install "$_bin"
done done
fi fi
} }