Browse Source

i18n: now on by default and removed redhat-i18n

master
Harald Hoyer 15 years ago
parent
commit
8442b51e20
  1. 6
      modules.d/10i18n/check
  2. 2
      modules.d/10redhat-i18n/10-console.rules
  3. 2
      modules.d/10redhat-i18n/check
  4. 100
      modules.d/10redhat-i18n/install
  5. 20
      modules.d/10redhat-i18n/parse-i18n.sh

6
modules.d/10i18n/check

@ -1,7 +1,3 @@ @@ -1,7 +1,3 @@
#!/bin/bash

# TODO: We should check if ${keyboard_vars} && ${i18n_vars} are set for
# hostonly setup.
[[ $1 = -h ]] && exit 0

exit 255
exit 0

2
modules.d/10redhat-i18n/10-console.rules

@ -1,2 +0,0 @@ @@ -1,2 +0,0 @@
# Console initialization - keyboard, font, etc.
KERNEL=="tty0", RUN+="/lib/udev/console_init %k"

2
modules.d/10redhat-i18n/check

@ -1,2 +0,0 @@ @@ -1,2 +0,0 @@
#!/bin/sh
[ -f /etc/redhat-release ]

100
modules.d/10redhat-i18n/install

@ -1,100 +0,0 @@ @@ -1,100 +0,0 @@
#!/bin/bash

findkeymap () {
local MAP=$1
[[ ! -f $MAP ]] && \
MAP=$(find ${kbddir}/keymaps -type f -name $MAP -o -name $MAP.\* | head -n1)
[[ " $KEYMAPS " = *" $MAP "* ]] && return
KEYMAPS="$KEYMAPS $MAP"
case $MAP in
*.gz) cmd=zgrep;;
*.bz2) cmd=bzgrep;;
*) cmd=grep ;;
esac

for INCL in $($cmd "^include " $MAP | cut -d' ' -f2 | tr -d '"'); do
for FN in $(find ${kbddir}/keymaps -type f -name $INCL\*); do
findkeymap $FN
done
done
}

install_local()
{
# FIXME: i18n stuff isn't really distro-independent :/
if [[ -f /etc/sysconfig/keyboard || -f /etc/sysconfig/console/default.kmap ]]; then
if [ -f /etc/sysconfig/console/default.kmap ]; then
KEYMAP=/etc/sysconfig/console/default.kmap
else
. /etc/sysconfig/keyboard
if [[ $KEYTABLE && -d ${kbddir}/keymaps ]]; then
[[ $KEYTABLE =~ *.uni ]] && UNIKEYMAP="$KEYTABLE.map" \
|| UNIKEYMAP="$KEYTABLE.uni.map"
KEYMAP="$KEYTABLE.map"
fi
fi
if [[ $KEYMAP ]]; then
[ -f /etc/sysconfig/keyboard ] && inst /etc/sysconfig/keyboard
inst loadkeys
findkeymap $KEYMAP
[[ $UNIKEYMAP ]] && findkeymap $UNIKEYMAP
[[ $GRP_TOGGLE ]] && findkeymap $GRP_TOGGLE.map
findkeymap delete.map
findkeymap backspace.map

for FN in $KEYMAPS; do
if [ -L $FN ]; then
TARGET=$(readlink -f $FN)
TG=$(echo $TARGET | sed -e 's/\.gz$//' -e 's/\.bz2$//')
LN=$(echo $FN | sed -e 's/\.gz$//' -e 's/\.bz2$//')
mkdir -p "$initdir/$(dirname $LN)"
ln -s "$TG" "$initdir/$LN"
FN=$TARGET
fi
inst $FN
case $FN in
*.gz) gzip -d "$initdir$FN" ;;
*.bz2) bzip2 -d "$initdir$FN" ;;
esac
done
fi
fi

if [ -f /etc/sysconfig/i18n ]; then
. /etc/sysconfig/i18n
inst /etc/sysconfig/i18n
[[ $SYSFONT ]] || SYSFONT=latarcyrheb-sun16
inst setfont

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

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

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

dracut_install /lib/udev/console_init
dracut_install setfont loadkeys
inst_rules 10-console.rules
inst_hook cmdline 20 "$moddir/parse-i18n.sh"

20
modules.d/10redhat-i18n/parse-i18n.sh

@ -1,20 +0,0 @@ @@ -1,20 +0,0 @@
inst_key_val()
{
local value
value=$(getarg $1)
[ -n "$value" ] && printf '%s="%s"\n' $1 $value >> $2
}

mkdir -p /etc/sysconfig
inst_key_val KEYBOARDTYPE /etc/sysconfig/keyboard
inst_key_val KEYTABLE /etc/sysconfig/keyboard
inst_key_val SYSFONT /etc/sysconfig/i18n
inst_key_val SYSFONTACM /etc/sysconfig/i18n
inst_key_val UNIMAP /etc/sysconfig/i18n
inst_key_val LANG /etc/sysconfig/i18n

if [ -f /etc/sysconfig/i18n ]; then
. /etc/sysconfig/i18n
export LANG
fi

Loading…
Cancel
Save