Hello community, here is the log from the commit of package kbd checked in at Wed Oct 22 18:05:10 CEST 2008. -------- --- kbd/kbd.changes 2008-09-29 16:47:52.000000000 +0200 +++ /mounts/work_src_done/STABLE/kbd/kbd.changes 2008-10-14 10:52:07.000000000 +0200 @@ -1,0 +2,6 @@ +Tue Oct 14 10:50:34 CEST 2008 - mmarek@suse.cz + +- fix case when multiple keymaps are found (bnc#259694) +- allow to specify a path such as 'i386/es.map.gz' in KEYTABLE + +------------------------------------------------------------------- calling whatdependson for head-i586 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kbd.spec ++++++ --- /var/tmp/diff_new_pack.zr2550/_old 2008-10-22 18:04:32.000000000 +0200 +++ /var/tmp/diff_new_pack.zr2550/_new 2008-10-22 18:04:32.000000000 +0200 @@ -24,7 +24,7 @@ Group: System/Console AutoReqProv: on Version: 1.14.1 -Release: 13 +Release: 14 Summary: Keyboard and Font Utilities Source: kbd-%{version}.tar.bz2 Source1: kbd_fonts.tar.bz2 @@ -302,6 +302,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Tue Oct 14 2008 mmarek@suse.cz +- fix case when multiple keymaps are found (bnc#259694) +- allow to specify a path such as 'i386/es.map.gz' in KEYTABLE * Mon Sep 29 2008 mmarek@suse.cz - fixed lat2a-16.psfu (bnc#340579) * Tue Sep 09 2008 mmarek@suse.cz ++++++ kbd.init ++++++ --- kbd/kbd.init 2008-09-05 10:17:22.000000000 +0200 +++ /mounts/work_src_done/STABLE/kbd/kbd.init 2008-10-14 10:46:30.000000000 +0200 @@ -1,4 +1,4 @@ -#! /bin/sh +#! /bin/bash # Copyright (c) 1995-2005 SUSE LINUX Products AG, Nuernberg, Germany. # # Author: Burchard Steinbild @@ -59,9 +59,6 @@ KBDBASE="/usr/share/kbd" -KTABLE=${KEYTABLE%.map*} -KTABLE=${KTABLE##*/} - # # first search the wanted keytable. # @@ -135,17 +132,16 @@ ;; esac -KEYMAP="" +KEYMAP=() if test -e /$KEYTABLE ; then - KEYMAP=$KEYTABLE + KEYMAP=($KEYTABLE) else - KEYTABLE=$KTABLE case "$KEYTABLE" in - *.gz) KBDPATH="${KEYTABLE}" ;; - *.map) KBDPATH="${KEYTABLE} ${KEYTABLE}.gz" ;; - *) KBDPATH="${KEYTABLE} ${KEYTABLE}.gz ${KEYTABLE}.map.gz ${KEYTABLE}.map" ;; + *.gz) KBDPATH="*/${KEYTABLE}" ;; + *.map) KBDPATH="*/${KEYTABLE} */${KEYTABLE}.gz" ;; + *) KBDPATH="*/${KEYTABLE} */${KEYTABLE}.gz */${KEYTABLE}.map.gz */${KEYTABLE}.map" ;; esac - KEYMAP=$(find ${KBDBASE}/keymaps -type f \( -name ${KBDPATH// / -o -name } \)) + KEYMAP=($(find ${KBDBASE}/keymaps -type f \( -path ${KBDPATH// / -o -path } \) | sort)) fi # # setup kbdrate and led status @@ -327,29 +323,28 @@ if test -z "$KEYTABLE"; then echo "No keyboard map to load" else - if test -z "$KEYMAP" || test ! -d "$KBDBASE" ; then + if test "${#KEYMAP[@]}" = 0 -o ! -d "$KBDBASE" ; then if test -r /etc/defkeymap.map ; then - if test -n "$KEYMAP" ; then + if test "${#KEYMAP[@]}" -gt 0; then echo "$KEYMAP is unvailable, using /etc/defkeymap.map instead." if test -r /var/run/keymap ; then read cached < /etc/defkeymap.name - if test "$KEYMAP" != "$cached" && test $K != "$cached" ; then + if test "$KEYMAP" != "$cached"; then echo "Warning: fallback differs: $cached" fi fi else echo "Can not find a keymap for ${KEYTABLE}, trying fallback." fi - KEYMAP=/etc/defkeymap.map + KEYMAP=(/etc/defkeymap.map) else echo "Fallback /etc/defkeymap.map not there." echo "Can not find a keymap for ${KEYTABLE}, Exit." rc_failed fi else - if test ! -e "$KEYMAP" ; then + if test "${#KEYMAP[@]}" -gt 1 ; then echo "Found more than one keymap ${KEYTABLE}" - KEYMAP=$K echo "Using $KEYMAP." echo "If you want another one, please add complete path to" echo "KEYTABLE in /etc/sysconfig/keyboard." @@ -470,8 +465,7 @@ # FIXME: this should be done much earlier # to avoid bugzilla# 259694 or similar. mv /dev/shm/defkeymap.map /etc/defkeymap.map - if test ! -z "$KEYMAP" && test "$KEYMAP" != "/etc/defkeymap.map" ; then - test ! -e "$KEYMAP" && KEYMAP=$K + if test "${#KEYMAP[@]}" -gt 0 -a "$KEYMAP" != "/etc/defkeymap.map" ; then echo $KEYMAP > /etc/defkeymap.name fi fi ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org