10redhat-i18n: Fix handling of kbd maps which are a symlink
authorHans de Goede <hdegoede@redhat.com>
Tue, 14 Jul 2009 12:42:50 +0000 (14:42 +0200)
committerHarald Hoyer <harald@redhat.com>
Wed, 15 Jul 2009 16:27:20 +0000 (18:27 +0200)
Some keyboard maps are symlinks to others, we were not handling this
properly, this patch fixes this.

modules.d/10redhat-i18n/install

index 3658193..a6dbc07 100755 (executable)
@@ -32,6 +32,14 @@ if [[ -f /etc/sysconfig/keyboard || -f /etc/sysconfig/console/default.kmap ]]; t
         findkeymap $KEYMAP
 
         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" ;;