instmods: factor out egrep of "FATAL: Module .* not found"
parent
0024702fe7
commit
f9708da223
|
|
@ -820,7 +820,7 @@ install_kmod_with_fw() {
|
|||
for_each_kmod_dep() {
|
||||
local _func=$1 _kmod=$2 _cmd _modpath _options _found=0
|
||||
shift 2
|
||||
modprobe "$@" --ignore-install --show-depends $_kmod 2>"$initdir/modprobe.err" | (
|
||||
modprobe "$@" --ignore-install --show-depends $_kmod 2>&$modprobe_stderr | (
|
||||
while read _cmd _modpath _options; do
|
||||
[[ $_cmd = insmod ]] || continue
|
||||
$_func ${_modpath} || exit $?
|
||||
|
|
@ -829,9 +829,6 @@ for_each_kmod_dep() {
|
|||
[[ $_found -eq 0 ]] && exit 1
|
||||
exit 0
|
||||
)
|
||||
egrep -v 'FATAL: Module .* not found.' "$initdir/modprobe.err" | derror
|
||||
rm -f "$initdir/modprobe.err"
|
||||
return $?
|
||||
}
|
||||
|
||||
# filter kernel modules to install certain modules that meet specific
|
||||
|
|
@ -934,16 +931,23 @@ instmods() {
|
|||
esac
|
||||
}
|
||||
|
||||
local _mpargs _ret=0
|
||||
function instmods_1() {
|
||||
local _ret=0 _mod _mpargs
|
||||
if (($# == 0)); then # filenames from stdin
|
||||
local _mod
|
||||
while read _mod; do
|
||||
inst1mod "${_mod%.ko*}"
|
||||
done
|
||||
fi
|
||||
while (($# > 0)); do # filenames as args
|
||||
while (($# > 0)); do # filenames as arguments
|
||||
inst1mod ${1%.ko*}
|
||||
shift
|
||||
done
|
||||
return $_ret
|
||||
}
|
||||
|
||||
# Capture all stderr from modprobe onto a new fd $modprobe_stderr,
|
||||
# and pipe it into egrep. See REDIRECTION in bash manpage.
|
||||
( instmods_1 "$@" ) {modprobe_stderr}>&1 \
|
||||
| egrep -v 'FATAL: Module .* not found.' | derror
|
||||
return $?
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue