dracut.sh: add check for invalid configuration files
Emit a warning about possible misconfigured configuration files, where the spaces around values are missing for +="" Better report a possible source of problems. We can fix annoying false positives later.master
parent
17d62d1206
commit
dfe2247a43
14
dracut.sh
14
dracut.sh
|
@ -279,6 +279,14 @@ read_arg() {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
check_conf_file()
|
||||||
|
{
|
||||||
|
if grep -H -e '^[^#]*[+]=\("[^ ]\|.*[^ ]"\)' "$@"; then
|
||||||
|
printf '\ndracut: WARNING: <key>+=" <values> ": <values> should have surrounding white spaces!\n' >&2
|
||||||
|
printf 'dracut: WARNING: This will lead to unwanted side effects! Please fix the configuration file.\n\n' >&2
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
dropindirs_sort()
|
dropindirs_sort()
|
||||||
{
|
{
|
||||||
local suffix=$1; shift
|
local suffix=$1; shift
|
||||||
|
@ -703,10 +711,14 @@ if [[ ! -d $confdir ]]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# source our config file
|
# source our config file
|
||||||
[[ -f $conffile ]] && . "$conffile"
|
if [[ -f $conffile ]]; then
|
||||||
|
check_conf_file "$conffile"
|
||||||
|
. "$conffile"
|
||||||
|
fi
|
||||||
|
|
||||||
# source our config dir
|
# source our config dir
|
||||||
for f in $(dropindirs_sort ".conf" "$confdir" "$dracutbasedir/dracut.conf.d"); do
|
for f in $(dropindirs_sort ".conf" "$confdir" "$dracutbasedir/dracut.conf.d"); do
|
||||||
|
check_conf_file "$f"
|
||||||
[[ -e $f ]] && . "$f"
|
[[ -e $f ]] && . "$f"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue