This file is indexed.

postinst is in keyboard-configuration 1.70ubuntu5.

This file is a maintainer script. It is executed when installing (*inst) or removing (*rm) the package.

The actual contents of the file can be viewed below.

  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
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
#!/bin/sh

set -e

# Source debconf library.
. /usr/share/debconf/confmodule

# The same as /usr/bin/which - in order to make "which" available before
# /usr is mounted
which () {
    local IFS
    IFS=:
    for i in $PATH; do
	if [ -x "$i/$1" ]; then
	    echo "$i/$1"
	    return 0
	fi
    done
    return 1
}

# In d-i the config script is not executed automatically
if [ -f /usr/share/console-setup-mini/keyboard-configuration.config ]; then
    /usr/share/console-setup-mini/keyboard-configuration.config || exit $?
fi



keyboard_present () {
    local kern kbdpattern class subclass protocol

    kern=`uname -r`
    case "$kern" in
	1*|2.0*|2.1*|2.2*|2.3*|2.4*|2.5*)
	    # can't check keyboard presence
	    return 0; 
	    ;;
    esac

    [ -f /proc/bus/input/devices ] || return 0
    kbdpattern="AT Set \|AT Translated Set\|AT Raw Set"
    kbdpattern="$kbdpattern\|Atari Keyboard"
    kbdpattern="$kbdpattern\|Amiga Keyboard"
    kbdpattern="$kbdpattern\|HIL keyboard"
    kbdpattern="$kbdpattern\|ADB keyboard"
    kbdpattern="$kbdpattern\|Sun Type"
    if grep -i "$kbdpattern" /proc/bus/input/devices >/dev/null; then
	return 0
    fi

    [ -d /sys/bus/usb/devices ] || return 0
    for d in /sys/bus/usb/devices/*:*; do
	class=$(cat "$d/bInterfaceClass") # 03 = Human Interface Device
	subclass=$(cat "$d/bInterfaceSubClass") # 01 = Boot Interface Subclass
	protocol=$(cat "$d/bInterfaceProtocol") # 01 = Keyboard
	case "$class:$subclass:$protocol" in
	    03:01:01)
		return 0
		;;
	esac
    done

    return 1
}

# keyboard_present () {
#     if there is a keyboard; then
# 	return 0
#     else
# 	return 1
#     fi
# }

CONFIGFILE=/etc/default/keyboard

if [ "$1" = "configure" ]; then
    
    db_get keyboard-configuration/modelcode
    model="$RET"

    db_get keyboard-configuration/layoutcode
    layout="$RET"

    db_get keyboard-configuration/variantcode
    variant="$RET"

    db_get keyboard-configuration/optionscode
    options="$RET"

    if [ ! -e $CONFIGFILE ]; then
	cat /usr/share/console-setup/keyboard \
	    /usr/share/console-setup-mini/keyboard \
	    2>/dev/null >$CONFIGFILE || true
    fi

    # Ensure we do not mess up the config file's ownership and permissions.
    cp -a -f $CONFIGFILE $CONFIGFILE.tmp

    # If the admin deleted or commented some variables but then set
    # them via debconf, (re-)add them to the conffile.
    for var in XKBMODEL XKBLAYOUT XKBVARIANT XKBOPTIONS; do
        if ! grep "^ *${var}=" $CONFIGFILE >/dev/null; then
	    echo "${var}=" >>$CONFIGFILE
	fi
    done    
    
    sed \
	-e "s|^ *XKBMODEL=.*|XKBMODEL=\"$model\"|" \
	-e "s|^ *XKBLAYOUT=.*|XKBLAYOUT=\"$layout\"|" \
	-e "s|^ *XKBVARIANT=.*|XKBVARIANT=\"$variant\"|" \
	-e "s|^ *XKBOPTIONS=.*|XKBOPTIONS=\"$options\"|" \
	<$CONFIGFILE >$CONFIGFILE.tmp
    
    mv -f $CONFIGFILE.tmp $CONFIGFILE

    db_set keyboard-configuration/store_defaults_in_debconf_db true
fi

if type plymouth >/dev/null && plymouth --ping; then
    # setting the keymap breaks with plymouth in raw mode, and setting the
    # font will currently also break if on vgacon
    if type setupcon >/dev/null 2>&1; then
	setupcon --save-only
    fi
elif keyboard_present; then
    if [ "$DISPLAY" ] && which setxkbmap >/dev/null; then
	setxkbmap -option '' -model "$model" "$layout" "$variant" "$options" || true
	# setting the font corrupts X
	if type setupcon >/dev/null 2>&1; then
	    setupcon --save-only
	    setupcon --force -k
	    cat >&2 <<EOF
Your console font configuration will be updated the next time your system
boots. If you want to update it now, run 'setupcon' from a virtual console.
EOF
	fi
    else
	if type setupcon >/dev/null 2>&1; then
	    setupcon --force --save
	fi
    fi
fi

# Automatically added by dh_installinit
update-rc.d -f console-setup remove >/dev/null || exit $?
# End automatically added section
# Automatically added by dh_installudev
if [ "$1" = configure ]; then
	if [ -e "/etc/udev/rules.d/85_keyboard-configuration.rules" ]; then
		echo "Preserving user changes to /etc/udev/rules.d/85-keyboard-configuration.rules ..."
		if [ -e "/etc/udev/rules.d/85-keyboard-configuration.rules" ]; then
			mv -f "/etc/udev/rules.d/85-keyboard-configuration.rules" "/etc/udev/rules.d/85-keyboard-configuration.rules.dpkg-new"
		fi
		mv -f "/etc/udev/rules.d/85_keyboard-configuration.rules" "/etc/udev/rules.d/85-keyboard-configuration.rules"
	fi
fi
# End automatically added section


if type update-initramfs >/dev/null 2>&1; then
    update-initramfs -u
fi

exit 0