| Current Path : /var/lib/dpkg/info/ |
| Current File : /var/lib/dpkg/info/console-common.preinst |
#! /bin/sh
set -e
. /usr/share/debconf/confmodule
# Ensure we don't step on a hand-edited /etc/console/boottime.kmap.gz
BOOT_MAP=/etc/console/boottime.kmap.gz
MD="none"
[ -r $BOOT_MAP ] && MD=`md5sum $BOOT_MAP | cut -d' ' -f1 `
if db_get console-data/bootmap-md5sum && [ "$RET" != "$MD" ] ; then
db_set console-data/keymap/policy "Don't touch keymap"
fi
db_get console-data/keymap/family
CFAMILY=`echo $RET | perl -pe '$_ = lc; s/[^a-z0-9+\-\.\/\n]/_/g';`
LAYOUT=console-data/keymap/$CFAMILY/layout
# Is there a chance that a user-provided keymap has to imported ?
# Let's cross our fingers... it should never break, but...
if db_get $LAYOUT && [ -x /usr/share/console/getkmapchoice.pl ];
then
# Protect against failure of getkmapchoice.pl by locally turning
# off set -e.
set +e
choice="$(PERL_BADLANG=0 /usr/share/console/getkmapchoice.pl 2>&1)"
if [ $? != 0 ]; then
# See comment below
choice="useless"
fi
set -e
else
# if getkmapchoice is not there, assume the user never had the
# oportunity to select no keymap to be installed using the
# console-common framework
choice="useless"
fi
# Maybe import boottime keymap
if [ "$choice" != KERNEL -a "$choice" != NONE -a ! -r /etc/console/boottime.kmap.gz ]
then
# if we have to move a file, we need this dir
mkdir -p /etc/console
if dpkg --status console-tools 2>/dev/null | grep -q '^Status: .* installed$'; then
# take it from console-tools
if [ -r /etc/console-tools/default.kmap.gz ]
then
mv /etc/console-tools/default.kmap.gz /etc/console/boottime.kmap.gz
elif [ -r /etc/console-tools/default.kmap ]
then
gzip -9f /etc/console-tools/default.kmap
mv /etc/console-tools/default.kmap.gz /etc/console/boottime.kmap.gz
fi
if [ -r /etc/console/boottime.kmap.gz ]
then
echo >&2 "Imported boot-time keymap from old console-tools settings"
fi
elif dpkg --status kbd 2>/dev/null | grep -q '^Status: .* installed$'; then
# take it from kbd
if [ -r /etc/kbd/default.kmap.gz ]
then
mv /etc/kbd/default.kmap.gz /etc/console/boottime.kmap.gz
elif [ -r /etc/kbd/default.kmap ]
then
gzip -9f /etc/kbd/default.kmap
mv /etc/kbd/default.kmap.gz /etc/console/boottime.kmap.gz
elif [ -r /etc/kbd/default.map.gz ]
then
mv /etc/kbd/default.map.gz /etc/console/boottime.kmap.gz
elif [ -r /etc/kbd/default.map ]
then
gzip -9f /etc/kbd/default.map
mv /etc/kbd/default.map.gz /etc/console/boottime.kmap.gz
fi
if [ -r /etc/console/boottime.kmap.gz ]
then
echo >&2 "Imported boot-time keymap from old kbd settings"
fi
fi
fi