From a5b99f522ccfe18911871dc1adb2b1e779ecbcbc Mon Sep 17 00:00:00 2001 From: Juan RP Date: Wed, 12 Oct 2011 21:22:25 +0200 Subject: [PATCH] initramfs-tools: fix KEYMAP and use loadkmap/kbd_mode from busybox. --- srcpkgs/initramfs-tools/files/hooks/keymap | 32 +++---------------- .../files/scripts/init-top/keymap | 11 +++---- srcpkgs/initramfs-tools/template | 4 +-- 3 files changed, 10 insertions(+), 37 deletions(-) diff --git a/srcpkgs/initramfs-tools/files/hooks/keymap b/srcpkgs/initramfs-tools/files/hooks/keymap index b6d715978fc..7104b9d96bd 100755 --- a/srcpkgs/initramfs-tools/files/hooks/keymap +++ b/srcpkgs/initramfs-tools/files/hooks/keymap @@ -20,36 +20,12 @@ if [ "$KEYMAP" != "y" ] && [ "$KEYMAP" != "Y" ]; then exit 0 fi -# Step 1 - Basic tools -if [ ! -x /sbin/loadkeys -a ! -r /lib/rc/console/keymap ]; then - exit 0 -fi +[ ! -x /sbin/loadkeys -a ! -x /sbin/dumpkeys ] && exit 0 . /usr/share/initramfs-tools/hook-functions -copy_exec /sbin/loadkeys /sbin -cp /lib/rc/console/keymap ${DESTDIR}/etc/boottime.kmap -gzip -9 ${DESTDIR}/etc/boottime.kmap - -# Step 2 - Check for UTF8 console -if [ ! -x /sbin/kbd_mode ]; then - exit 0 -fi - -if [ -r /etc/profile.d/locale ]; then - env="/etc/profile.d/locale" -else - exit 0 -fi - -for var in LANG LC_ALL LC_CTYPE; do - value=$(egrep "^[^#]*${var}=" $env | tail -n1 | cut -d= -f2) - eval $var=$value -done - -charmap=$(LANG=$LANG LC_ALL=$LC_ALL LC_CTYPE=$LC_CTYPE locale charmap) -if [ "$charmap" = "UTF-8" ]; then - copy_exec /sbin/kbd_mode /sbin -fi +/sbin/dumpkeys > ${DESTDIR}/kmap-tmp +/sbin/loadkeys -u -b ${DESTDIR}/kmap-tmp > ${DESTDIR}/etc/bkeymap +rm -f ${DESTDIR}/kmap-tmp exit 0 diff --git a/srcpkgs/initramfs-tools/files/scripts/init-top/keymap b/srcpkgs/initramfs-tools/files/scripts/init-top/keymap index 87e4e76f0ba..1d6c1997f19 100755 --- a/srcpkgs/initramfs-tools/files/scripts/init-top/keymap +++ b/srcpkgs/initramfs-tools/files/scripts/init-top/keymap @@ -13,15 +13,12 @@ prereqs) ;; esac -OPTS="-q" - # Should terminal be in UTF8 mode? -if [ -x /sbin/kbd_mode ]; then - /sbin/kbd_mode -u - OPTS="${OPTS} -u" +if [ -x /bin/kbd_mode ]; then + /bin/kbd_mode -u -C /dev/console fi # Load custom keymap -if [ -x /sbin/loadkeys -a -r /etc/boottime.kmap.gz ]; then - loadkeys ${OPTS} /etc/boottime.kmap.gz +if [ -x /bin/loadkmap -a -r /etc/bkeymap ]; then + /bin/loadkmap < /etc/bkeymap fi diff --git a/srcpkgs/initramfs-tools/template b/srcpkgs/initramfs-tools/template index b50164178b3..96251f025d9 100644 --- a/srcpkgs/initramfs-tools/template +++ b/srcpkgs/initramfs-tools/template @@ -1,6 +1,6 @@ # Template file for 'initramfs-tools' pkgname=initramfs-tools -_localver=101 # This is the XBPS version +_localver=103 # This is the XBPS version _distver=0.99 # This should match debian version version=${_distver}.${_localver} build_style=custom-install @@ -36,7 +36,7 @@ Add_dependency full bzip2 Add_dependency full xz Add_dependency full udev Add_dependency full module-init-tools -Add_dependency full busybox +Add_dependency full busybox ">=1.19.2" # loadkmap Add_dependency full klibc-resume do_install()