redhat-i18n: search also in /usr/lib

we have kbd data in /usr/lib, so this patch will
search for /lib/kbd and /usr/lib/kbd and use the existing one
master
Luca Berra 2010-01-13 15:50:02 +01:00 committed by Harald Hoyer
parent 9799e0ad8e
commit 636fa8bea8
1 changed files with 13 additions and 9 deletions

View File

@ -3,7 +3,7 @@
findkeymap () { findkeymap () {
local MAP=$1 local MAP=$1
[[ ! -f $MAP ]] && \ [[ ! -f $MAP ]] && \
MAP=$(find /lib/kbd/keymaps -type f -name $MAP -o -name $MAP.\* | head -n1) MAP=$(find ${kbddir}/keymaps -type f -name $MAP -o -name $MAP.\* | head -n1)
[[ " $KEYMAPS " = *" $MAP "* ]] && return [[ " $KEYMAPS " = *" $MAP "* ]] && return
KEYMAPS="$KEYMAPS $MAP" KEYMAPS="$KEYMAPS $MAP"
case $MAP in case $MAP in
@ -13,7 +13,7 @@ findkeymap () {
esac esac


for INCL in $($cmd "^include " $MAP | cut -d' ' -f2 | tr -d '"'); do for INCL in $($cmd "^include " $MAP | cut -d' ' -f2 | tr -d '"'); do
for FN in $(find /lib/kbd/keymaps -type f -name $INCL\*); do for FN in $(find ${kbddir}/keymaps -type f -name $INCL\*); do
findkeymap $FN findkeymap $FN
done done
done done
@ -27,7 +27,7 @@ install_local()
KEYMAP=/etc/sysconfig/console/default.kmap KEYMAP=/etc/sysconfig/console/default.kmap
else else
. /etc/sysconfig/keyboard . /etc/sysconfig/keyboard
[[ $KEYTABLE && -d /lib/kbd/keymaps ]] && KEYMAP="$KEYTABLE.map" [[ $KEYTABLE && -d ${kbddir}/keymaps ]] && KEYMAP="$KEYTABLE.map"
fi fi
if [[ $KEYMAP ]]; then if [[ $KEYMAP ]]; then
[ -f /etc/sysconfig/keyboard ] && inst /etc/sysconfig/keyboard [ -f /etc/sysconfig/keyboard ] && inst /etc/sysconfig/keyboard
@ -58,27 +58,31 @@ install_local()
[[ $SYSFONT ]] || SYSFONT=latarcyrheb-sun16 [[ $SYSFONT ]] || SYSFONT=latarcyrheb-sun16
inst setfont inst setfont


for FN in /lib/kbd/consolefonts/$SYSFONT.* ; do for FN in ${kbddir}/consolefonts/$SYSFONT.* ; do
inst "$FN" inst "$FN"
case $FN in case $FN in
*.gz) gzip -d "$initdir$FN" ;; *.gz) gzip -d "$initdir$FN" ;;
*.bz2) bzip2 -d "$initdir$FN" ;; *.bz2) bzip2 -d "$initdir$FN" ;;
esac esac
done done
[[ $SYSFONTACM ]] && inst /lib/kbd/consoletrans/$SYSFONTACM [[ $SYSFONTACM ]] && inst ${kbddir}/consoletrans/$SYSFONTACM
[[ $UNIMAP ]] && inst /lib/kbd/unimaps/$UNIMAP [[ $UNIMAP ]] && inst ${kbddir}/unimaps/$UNIMAP
fi fi
} }


for kbddir in /usr/lib/kbd /lib/kbd; do
[[ -d ${kbddir} ]] && break
done

if [[ $hostonly ]]; then if [[ $hostonly ]]; then
install_local install_local
else else
for i in $(find /lib/kbd -type f -print); do for i in $(find ${kbddir} -type f -print); do
dracut_install $i dracut_install $i
done done
# remove unnecessary files # remove unnecessary files
rm -f "$initdir/lib/kbd/consoletrans/utflist" 2>/dev/null rm -f "$initdir${kbddir}/consoletrans/utflist" 2>/dev/null
find "$initdir/lib/kbd/" -name README\* -exec rm -f '{}' \; find "$initdir${kbddir}/" -name README\* -exec rm -f '{}' \;
dracut_install gzip bzip2 dracut_install gzip bzip2
fi fi