udev: Attempt to install any programs used by udev rules.
parent
54f1a77fb6
commit
62073c3048
|
@ -516,6 +516,27 @@ inst_symlink() {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# attempt to install any programs specified in a udev rule
|
||||||
|
inst_rule_programs() {
|
||||||
|
local _prog _bin
|
||||||
|
|
||||||
|
if grep -qE 'PROGRAM==?"[^ "]+' "$1"; then
|
||||||
|
for _prog in $(grep -E 'PROGRAM==?"[^ "]+' "$1" | sed -r 's/.*PROGRAM==?"([^ "]+).*/\1/'); do
|
||||||
|
if [ -x /lib/udev/$_prog ]; then
|
||||||
|
_bin=/lib/udev/$_prog
|
||||||
|
else
|
||||||
|
_bin=$(find_binary "$_prog") || {
|
||||||
|
dinfo "Skipping program $_prog using in udev rule $(basename $1) as it cannot be found"
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
|
||||||
|
#dinfo "Installing $_bin due to it's use in the udev rule $(basename $1)"
|
||||||
|
dracut_install "$_bin"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
# udev rules always get installed in the same place, so
|
# udev rules always get installed in the same place, so
|
||||||
# create a function to install them to make life simpler.
|
# create a function to install them to make life simpler.
|
||||||
inst_rules() {
|
inst_rules() {
|
||||||
|
@ -529,6 +550,7 @@ inst_rules() {
|
||||||
if [[ -f $r/$_rule ]]; then
|
if [[ -f $r/$_rule ]]; then
|
||||||
_found="$r/$_rule"
|
_found="$r/$_rule"
|
||||||
inst_simple "$_found"
|
inst_simple "$_found"
|
||||||
|
inst_rule_programs "$_found"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
@ -536,6 +558,7 @@ inst_rules() {
|
||||||
if [[ -f ${r}$_rule ]]; then
|
if [[ -f ${r}$_rule ]]; then
|
||||||
_found="${r}$_rule"
|
_found="${r}$_rule"
|
||||||
inst_simple "$_found" "$_target/${_found##*/}"
|
inst_simple "$_found" "$_target/${_found##*/}"
|
||||||
|
inst_rule_programs "$_found"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
[[ $_found ]] || dinfo "Skipping udev rule: $_rule"
|
[[ $_found ]] || dinfo "Skipping udev rule: $_rule"
|
||||||
|
|
Loading…
Reference in New Issue