1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145
|
#! /bin/sh
set -e
# Rename old local keymaps dir if any
if [ -d /usr/local/share/keytables ]
then
if [ -d "`readlink -f /usr/local/share/keymaps`" ]
then
files=`find /usr/local/share/keytables -mindepth 1 -maxdepth 1`
[ "$files" ] && mv $files /usr/local/share/keymaps/
rmdir /usr/local/share/keytables
elif [ -e /usr/local/share/keymaps ]
then
echo >&2 "/usr/local/share/keymaps is buggy - please check it"
ls -ld /usr/local/share/keymaps >&2
echo >&2 "Press RETURN to continue"
read foo
else
mv /usr/local/share/keytables /usr/local/share/keymaps
fi
elif [ -e /usr/local/share/keytables ]
then
echo >&2 <<EOF
/usr/local/share/keytables is not a dir. I won\'t try to mess
with it and you will surely want to do something with it, as the
new location for local keymaps is now /usr/local/share/keymaps/.
Press RETURN to continue
EOF
read foo
fi
# Import local files from obsolete /usr/lib/kbd directory
if [ -d /usr/lib/kbd ]
then
echo >&2 Importing local files from obsolete /usr/lib/kbd directory into /usr/local/:
set +e # there may be no files in those directories !
for d in keytables consolefonts consoletrans videomodes; do
# if the dir exists and is not a link (into /usr/share)
if [ -d /usr/lib/kbd/${d} -a ! -L /usr/lib/kbd/${d} ]
then
# maybe create local dir
test -d /usr/local/share/${d} || mkdir -p /usr/local/share/${d}
files=`find /usr/lib/kbd/${d} -mindepth 1 -maxdepth 1`
[ "$files" ] && mv $files /usr/local/share/${d}/
rmdir /usr/lib/kbd/${d}
fi
# remove an eventual symlink
rm -f /usr/lib/kbd/${d}
done
set -e
echo >&2 " done importing."
# try to remove the old dir, but be nice when not empty
rmdir /usr/lib/kbd 2>/dev/null || echo >&2 <<EOF
WARNING: /usr/lib/kbd/ not removed - other files there ?
Check this and remove it by hand.
EOF
fi
. /usr/share/debconf/confmodule
if db_get console-data/keymap/qwertz/german/standard/keymap && [ "$RET" = "Standard" ];
then
db_set console-data/keymap/qwertz/german/standard/keymap Programmer
fi
# If the entry contains a / it's broken so overwrite it with a default
# value. See see #110873
if db_get console-data/keymap/full && echo "$RET" | grep -q "/";
then
db_set console-data/keymap/full us
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
choice="$(PERL_BADLANG=0 /usr/share/console/getkmapchoice.pl 2>&1)"
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
#DEBHELPER#
|