Skip to content

Commit 5387ed2

Browse files
committed
fix(i18n): get rid of eval calls
By changing KBDSUBDIRS to a bash array, all kinds of `eval` quirks are avoided.
1 parent 9e1c7f3 commit 5387ed2

File tree

1 file changed

+12
-14
lines changed

1 file changed

+12
-14
lines changed

modules.d/10i18n/module-setup.sh

+12-14
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ install() {
2222
[[ -f "$dracutsysrootdir"/etc/vconsole.conf ]] && . "$dracutsysrootdir"/etc/vconsole.conf
2323
fi
2424

25-
KBDSUBDIRS=consolefonts,consoletrans,keymaps,unimaps
25+
KBDSUBDIRS=(consolefonts consoletrans keymaps unimaps)
2626
DEFAULT_FONT="${i18n_default_font:-eurlatgr}"
2727
I18N_CONF="/etc/locale.conf"
2828
VCONFIG_CONF="/etc/vconsole.conf"
@@ -110,7 +110,7 @@ install() {
110110
111111
if [[ ${kbddir} != "/usr/share" ]]; then
112112
inst_dir /usr/share
113-
for _src in $(eval echo "{${KBDSUBDIRS}}"); do
113+
for _src in "${KBDSUBDIRS[@]}"; do
114114
[ ! -e "${initdir}/usr/share/${_src}" ] && ln -s "${kbddir}/${_src}" "${initdir}/usr/share/${_src}"
115115
done
116116
fi
@@ -119,10 +119,9 @@ install() {
119119
install_all_kbd() {
120120
local rel f
121121
122-
for __src in $(eval echo $dracutsysrootdir${kbddir}/{${KBDSUBDIRS}}); do
123-
_src=${__src#$dracutsysrootdir}
124-
inst_dir "$_src"
125-
$DRACUT_CP -L -t "${initdir}/${_src}" "$__src"/*
122+
for _src in "${KBDSUBDIRS[@]}"; do
123+
inst_dir "${kbddir}/$_src"
124+
$DRACUT_CP -L -t "${initdir}/${kbddir}/$_src" "${dracutsysrootdir}${kbddir}/$_src"/*
126125
done
127126
128127
# remove unnecessary files
@@ -242,14 +241,13 @@ install() {
242241
}
243242
244243
checks() {
245-
for kbddir in ${kbddir} /usr/lib/kbd /lib/kbd /usr/share /usr/share/kbd
246-
do
247-
[[ -d "$dracutsysrootdir${kbddir}" ]] && \
248-
for dir in ${KBDSUBDIRS//,/ }
249-
do
250-
[[ -d "$dracutsysrootdir${kbddir}/${dir}" ]] && continue
251-
false
252-
done && break
244+
for kbddir in ${kbddir} /usr/lib/kbd /lib/kbd /usr/share /usr/share/kbd; do
245+
if [[ -d "$dracutsysrootdir${kbddir}" ]]; then
246+
for dir in "${KBDSUBDIRS[@]}"; do
247+
[[ -d "$dracutsysrootdir${kbddir}/${dir}" ]] && continue
248+
false
249+
done && break
250+
fi
253251
kbddir=''
254252
done
255253

0 commit comments

Comments
 (0)