~eugenenuke/ubuntu/wily/console-setup/fix-for-1565542

« back to all changes in this revision

Viewing changes to debian/keyboard-configuration.console-setup.init

  • Committer: Package Import Robot
  • Author(s): Mathieu Trudel-Lapierre, Steve Langasek, Mathieu Trudel-Lapierre
  • Date: 2015-02-27 16:36:52 UTC
  • mfrom: (3.2.59 sid)
  • Revision ID: package-import@ubuntu.com-20150227163652-9sxmh6sbwqseysa0
Tags: 1.108ubuntu1
[ Steve Langasek ]
* Merge from Debian unstable, remaining changes: (LP: #1426721)
  - Don't gzip font or ACM files in /etc/console-setup/.  The space saving
    is negligible, and it's more efficient not to need to uncompress them
    at boot time.
  - Include pc105.tree for ubiquity.
  - Move boot tasks to a combination of two udev rules and a single
    Upstart job, ensuring that they're run at points when we are able to
    satisfy the constraints on the relevant ioctls.
  - Stop running debconf-updatepo on clean.
  - Set keymap and font in the initramfs if possible and sensible.
  - Add an apport hook.
  - Use keymapper to generate decision trees for a restricted subset of
    the pc105 model.
  - Depend on kbd (>= 1.15-1ubuntu3) for a valuable loadkeys improvement.
  - Include support for translated keyboard names.
  - Depend on debconf instead of pre-depending, because pre-depends have
    no effect on config scripts.
  - debian/vtrgb, debian/vtrgb.vga,
    debian/console-setup-linux.setvtrgb.upstart, debian/rules,
    debian/console-setup-linux.postinst: use Ubuntu's virtual terminal color
    scheme by default, with a VGA color scheme available as an alternative.
  - Make setupcon explicitly exit 0, so that postinsts don't fail in the
    event that loadkeys can't find a console.
  - Update for new layouts and variants for Montenegro and Serbia, and
    migrate configuration files from the old layouts.
  - Generate a locale locally for translating keyboard names in
    kbdnames-maker.
  - Don't copy keyboard-configuration questions to /target in OEM mode.
    oem-config will ask them later, and copying these confuses it.
  - Change the default font from Fixed to VGA for Lat15; while it's not
    entirely complete, it looks better and is largely good enough.
  - If the detect-keyboard debconf plugin is available
    (cdebconf-newt-detect-keys in the installer), then offer to use it to
    detect the keyboard layout.
  - Fix default keyboard selection for language/country combinations
    lacking a proper combined locale.
  - Drop the layout/variant priority to high on fresh installs.
  - Set default for Dutch to us(intl), not just us.
  - Set default layout for Vietnam to 'us'.
  - Set default variant for French to oss.
  - Set default layout for Simplified Chinese to 'cn'.
  - Don't use the default keyboard variant if the layout is overridden by
    preseeding.
  - If keyboard-configuration/layoutcode is preseeded but not marked as
    seen, then set the default layout but don't lower the layout question
    priority or preseed console-setup/ask_detect.
  - Use the default keyboard model if an existing configuration file sets
    XKBMODEL="".
  - Go back to always asking layout before variant.
  - Fix keyboard layout detection to set the layout properly.
  - Reset keyboard-configuration/toggle to the default if it's set to "No
    toggling" and you select a non-Latin layout.
  - Automatically save the font and keymap to /etc in
    /etc/init.d/console-setup if it isn't being run from init. Similarly,
    ensure that the font and keymap are saved to /etc during initial
    installation.
  - Replace usplash detection code with Plymouth detection code.
  - Load the new keyboard configuration immediately when running
    'dpkg-reconfigure keyboard-configuration' in an installed system.
  - Don't fail to configure keyboard-configuration if setxkbmap fails to
    talk to the X display.
  - Tolerate absence of setupcon in keyboard-configuration.postinst.
  - Drop the simplified keyboard-configuration/xkb-keymap question.
  - Fix command injection in ckbcomp.
  - debian/console-setup.console-font.upstart: Add Upstart job that sets up
    console font when plymouth-splash is starting.
  - Override description of the ch layout from "German (Switzerland)" to
    just "Switzerland".
  - Map ppc64el/* to XKBMODEL=pc105.
* Dropped changes, included in Debian:
  - "Do not configure keyboard; keep kernel keymap" model option,
    preseedable by keyboard-configuration/modelcode=SKIP: this is now
    supported upstream with either "unknown" or an empty string as the
    model.
  - Run kbd_mode on each tty in ACTIVE_CONSOLES rather than on the current
    tty, since the current tty might belong to X and changing X's tty out
    of raw mode is a very bad idea.
  - Include Terminus font in the compiled packages.  Do not depend, but
    conflict/provide/replace console-terminus.  New upstream version of
    the Terminus font (4.32).
  - Explicitly build-depend on liblocale-gettext-perl for kbdnames-maker,
    and likewise have keyboard-configuration depend on
    liblocale-gettext-perl.
  - Weaken test for whether /usr is mounted; testing for /usr/share is
    sufficient, and fixes operation in d-i.
  - Make keyboard-configuration replace old console-setup/console-setup-mini
    versions as well as conflicting with them.
  - Set default layout for Kurdish to tr(ku).
* Dropped changes, no longer needed:
  - Cope with systems installed with console-setup-udeb (<< 1.53) (which
    predates Ubuntu 12.04 and Debian wheezy).
  - Drop ancient handling of an empty codeset in the config file.
  - Drop vtrgb upgrade handling from natty
  - Drop upstart job transition from lucid
* setupcon: Map XKBMODEL=SKIP to '' for compatibility with existing
  configs.
* debian/rules: revert hard-coding of a list of "debconf-selectable"
  layouts for the udebs, since we don't use this debconf question in Ubuntu
  and all layouts are selectable.
* setupcon: revert ridiculous upstream twiddling of keymap cache filenames:
  - the variables are taken from a config file which, if changed,
    invalidates the cache.
  - there is only ever one keyboard map per system.
  - the system should not have to resolve filenames to find the keymap cache
    on boot.
* Move vtrgb handling to console-setup-linux package, since this is clearly
  Linux-specific.
* Add missing console-setup-linux.prerm to remove /etc/vtrgb alternatives
* Keyboard/kbdcompiler: fix bug in filtering of unsupported variants that
  breaks generation of the pc105.tree for d-i keyboard detection.
* debian/keyboard-configuration.postinst: udpkg is not part of an installed
  Debian system; don't fail to configure if it's absent and the script is
  called outside of an installer context.
* Don't make debian/copyright a symlink to COPYRIGHT, this is disallowed
  by the Ubuntu archive installer.

[ Mathieu Trudel-Lapierre ]
* debian/keyboard-configuration.config: fix typo in model check for SKIP;
  even when looking up the layout/variant, we need to check for the model
  as XKBMODEL, since $model doesn't exist.
* debian/preprocessor: revert the removal of keyboard names (for size) of
  console-setup-udeb: we do need those, since we don't use the simplified
  xkb-keymap template from Debian just yet: this way we can still show
  country/language names when selecting a keyboard, layout or variant.

Show diffs side-by-side

added added

removed removed

Lines of Context:
7
7
# Default-Start:     S
8
8
# Default-Stop:
9
9
# X-Interactive:     true
10
 
# Short-Description: Set console keymap
 
10
# Short-Description: Set console font and keymap
11
11
### END INIT INFO
12
12
 
13
13
set -e
16
16
# It belongs to keyboard-configuration because it is forbidden two
17
17
# different packages to share common configuration file.
18
18
 
19
 
test -f /usr/bin/loadkeys || exit 0
 
19
test -f /bin/setupcon || exit 0
 
20
 
 
21
if [ -f /etc/default/locale ]; then
 
22
    # In order to permit auto-detection of the charmap when
 
23
    # console-setup-mini operates without configuration file.
 
24
    . /etc/default/locale
 
25
    export LANG
 
26
fi
20
27
 
21
28
if [ -f /lib/lsb/init-functions ]; then
22
29
    . /lib/lsb/init-functions
34
41
    }
35
42
fi
36
43
 
 
44
# Are we running from init?
 
45
run_by_init()
 
46
{
 
47
    ([ "$previous" ] && [ "$runlevel" ]) || [ "$runlevel" = S ]
 
48
}
 
49
 
37
50
case "$1" in
38
 
    stop)
 
51
    stop|status)
39
52
        # console-setup isn't a daemon
40
53
        ;;
41
54
    start|force-reload|restart|reload)
42
 
        if loadkeys /etc/console-setup/cached.kmap.gz ; then
43
 
            log_action_end_msg 0
44
 
        else
45
 
            log_action_end_msg $?
 
55
        if expr "$(fgconsole 2>/dev/null || true)" : '[1-6]$' >/dev/null && \
 
56
           (! type plymouth >/dev/null || ! plymouth --ping); then
 
57
            log_action_begin_msg "Setting up console font and keymap"
 
58
            # Only use --save if we aren't in the boot sequence, to avoid
 
59
            # slowing down the boot too much. Outside the boot sequence,
 
60
            # this means that 'dpkg-reconfigure console-setup' automatically
 
61
            # saves the font and keymap.
 
62
            if run_by_init; then
 
63
                save=
 
64
            else
 
65
                save=--save
 
66
            fi
 
67
            if setupcon --force $save; then
 
68
                log_action_end_msg 0
 
69
            else
 
70
                log_action_end_msg $?
 
71
            fi
 
72
        elif ! run_by_init; then
 
73
            log_action_begin_msg "Saving console font and keymap for next boot"
 
74
            if setupcon --save-only; then
 
75
                log_action_end_msg 0
 
76
            else
 
77
                log_action_end_msg $?
 
78
            fi
46
79
        fi
47
80
        ;;
48
81
    *)
49
 
        echo 'Usage: /etc/init.d/console-setup {start|reload|restart|force-reload|stop}'
 
82
        echo 'Usage: /etc/init.d/console-setup {start|reload|restart|force-reload|stop|status}'
50
83
        exit 1
51
84
        ;;
52
85
esac
53
86
 
 
87
exit 0