76 lines
2.7 KiB
Diff
76 lines
2.7 KiB
Diff
From 5387ed24c8b33da1214232d57ab1831e117aaba0 Mon Sep 17 00:00:00 2001
|
|
From: Harald Hoyer <harald@redhat.com>
|
|
Date: Tue, 16 Feb 2021 15:16:41 +0100
|
|
Subject: [PATCH] fix(i18n): get rid of `eval` calls
|
|
|
|
By changing KBDSUBDIRS to a bash array, all kinds of `eval` quirks are
|
|
avoided.
|
|
|
|
Conflict:NA
|
|
Reference:https://github.com/dracutdevs/dracut/commit/5387ed24c8b33da1214232d57ab1831e117aaba0
|
|
---
|
|
modules.d/10i18n/module-setup.sh | 26 ++++++++++++--------------
|
|
1 file changed, 12 insertions(+), 14 deletions(-)
|
|
|
|
diff --git a/modules.d/10i18n/module-setup.sh b/modules.d/10i18n/module-setup.sh
|
|
index b55804ea..d6688b47 100755
|
|
--- a/modules.d/10i18n/module-setup.sh
|
|
+++ b/modules.d/10i18n/module-setup.sh
|
|
@@ -22,7 +22,7 @@ install() {
|
|
[[ -f "$dracutsysrootdir"/etc/vconsole.conf ]] && . "$dracutsysrootdir"/etc/vconsole.conf
|
|
fi
|
|
|
|
- KBDSUBDIRS=consolefonts,consoletrans,keymaps,unimaps
|
|
+ KBDSUBDIRS=(consolefonts consoletrans keymaps unimaps)
|
|
DEFAULT_FONT="${i18n_default_font:-eurlatgr}"
|
|
I18N_CONF="/etc/locale.conf"
|
|
VCONFIG_CONF="/etc/vconsole.conf"
|
|
@@ -110,7 +110,7 @@ install() {
|
|
|
|
if [[ ${kbddir} != "/usr/share" ]]; then
|
|
inst_dir /usr/share
|
|
- for _src in $(eval echo "{${KBDSUBDIRS}}"); do
|
|
+ for _src in "${KBDSUBDIRS[@]}"; do
|
|
[ ! -e "${initdir}/usr/share/${_src}" ] && ln -s "${kbddir}/${_src}" "${initdir}/usr/share/${_src}"
|
|
done
|
|
fi
|
|
@@ -119,10 +119,9 @@ install() {
|
|
install_all_kbd() {
|
|
local rel f
|
|
|
|
- for __src in $(eval echo $dracutsysrootdir${kbddir}/{${KBDSUBDIRS}}); do
|
|
- _src=${__src#$dracutsysrootdir}
|
|
- inst_dir "$_src"
|
|
- $DRACUT_CP -L -t "${initdir}/${_src}" "$__src"/*
|
|
+ for _src in "${KBDSUBDIRS[@]}"; do
|
|
+ inst_dir "${kbddir}/$_src"
|
|
+ $DRACUT_CP -L -t "${initdir}/${kbddir}/$_src" "${dracutsysrootdir}${kbddir}/$_src"/*
|
|
done
|
|
|
|
# remove unnecessary files
|
|
@@ -242,14 +241,13 @@ install() {
|
|
}
|
|
|
|
checks() {
|
|
- for kbddir in ${kbddir} /usr/lib/kbd /lib/kbd /usr/share /usr/share/kbd
|
|
- do
|
|
- [[ -d "$dracutsysrootdir${kbddir}" ]] && \
|
|
- for dir in ${KBDSUBDIRS//,/ }
|
|
- do
|
|
- [[ -d "$dracutsysrootdir${kbddir}/${dir}" ]] && continue
|
|
- false
|
|
- done && break
|
|
+ for kbddir in ${kbddir} /usr/lib/kbd /lib/kbd /usr/share /usr/share/kbd; do
|
|
+ if [[ -d "$dracutsysrootdir${kbddir}" ]]; then
|
|
+ for dir in "${KBDSUBDIRS[@]}"; do
|
|
+ [[ -d "$dracutsysrootdir${kbddir}/${dir}" ]] && continue
|
|
+ false
|
|
+ done && break
|
|
+ fi
|
|
kbddir=''
|
|
done
|
|
|
|
--
|
|
2.19.1
|
|
|