Package: kbd-chooser Version: 1.28 Severity: wishlist Tags: patch
In order to make it possible for initramfs generators to support the users keymap, it would be good if it's installed into the target system before the initramfs image is generated.
The attached patch moves the finish-install.d script to post-base-installer.d and changes it to install the console-* packages at the same time. If the console is via serial or no keymap was chosen, no packages are installed and no keymap generated (which should mimic the old behaviour).
Regards, David Härdeman
Index: debian/postinst =================================================================== --- debian/postinst (revision 38567) +++ debian/postinst (working copy) @@ -6,9 +6,4 @@ kbd-chooser -db_get debian-installer/serial-console -if [ "$RET" = false ]; then - apt-install console-tools console-data console-common || true -fi - exit 0 Index: debian/finish-install =================================================================== --- debian/finish-install (revision 38567) +++ debian/finish-install (working copy) @@ -2,14 +2,22 @@ . /usr/share/debconf/confmodule +# Silently exit if we're using a serial console +db_get debian-installer/serial-console +if [ "$RET" != false ]; then + exit 0 + +fi + +# Silently exit if no keymap is set db_get debian-installer/keymap KEYMAP=$RET -if [ -z "$KEYMAP" ]; -then - # keymap not set; probably didn't call kbd-chooser +if [ -z "$KEYMAP" ]; then exit 0 fi +apt-install console-tools console-data console-common || true + # Install non-Unicode variants of Turkish keymaps if [ "$KEYMAP" = "trqu" ]; then KEYMAP="trq" @@ -20,19 +28,16 @@ db_set debian-installer/keymap $KEYMAP fi -db_get debian-installer/serial-console -if [ "$RET" = "false" ] ; then - # FIXME Workaround to install some keymaps properly - case "$KEYMAP" in - trq|trf|hebrew|lt|lv-latin4|ua) - kbd_mode_temp="ascii" ;; - *) - kbd_mode_temp="" ;; - esac +# FIXME Workaround to install some keymaps properly +case "$KEYMAP" in + trq|trf|hebrew|lt|lv-latin4|ua) + kbd_mode_temp="ascii" ;; + *) + kbd_mode_temp="" ;; +esac - [ -n "$kbd_mode_temp" ] && kbd-mode --$kbd_mode_temp - chroot /target install-keymap $KEYMAP - [ -n "$kbd_mode_temp" ] && kbd-mode --unicode -fi +[ -n "$kbd_mode_temp" ] && kbd-mode --$kbd_mode_temp +chroot /target install-keymap $KEYMAP +[ -n "$kbd_mode_temp" ] && kbd-mode --unicode exit 0 Index: debian/rules =================================================================== --- debian/rules (revision 38567) +++ debian/rules (working copy) @@ -21,7 +21,7 @@ dh_clean -k dh_installdirs $(MAKE) install DESTDIR=$(CURDIR)/debian/kbd-chooser - install -m0755 debian/finish-install debian/$(PACKAGE)/usr/lib/finish-install.d/70kbd-chooser + install -m0755 debian/finish-install debian/$(PACKAGE)/usr/lib/post-base-installer.d/70kbd-chooser install -m0644 debian/S55kbd-chooser debian/$(PACKAGE)/lib/debian-installer-startup.d/S55kbd-chooser binary-indep: Index: debian/dirs =================================================================== --- debian/dirs (revision 38567) +++ debian/dirs (working copy) @@ -1,3 +1,3 @@ usr/bin -usr/lib/finish-install.d +usr/lib/post-base-installer.d lib/debian-installer-startup.d