Adding upstream version 1.87.5.
[live-boot-grml.git] / scripts / live-bottom / 20xconfig
index 93c8722..1105e4a 100755 (executable)
@@ -1,24 +1,30 @@
 #!/bin/sh
 
-PREREQ=""
-DESCRIPTION="Configuring X..."
+#set -e
 
-. /scripts/live-functions
+# initramfs-tools header
+
+PREREQ=""
 
 prereqs()
 {
-       echo "$PREREQ"
+       echo "${PREREQ}"
 }
 
-case $1 in
-# get pre-requisites
-prereqs)
-       prereqs
-       exit 0
-       ;;
+case "${1}" in
+       prereqs)
+               prereqs
+               exit 0
+               ;;
 esac
 
-log_begin_msg "$DESCRIPTION"
+# live-initramfs header
+
+. /scripts/live-functions
+
+log_begin_msg "Configuring X..."
+
+# live-initramfs script
 
 if [ "$TERM_TYPE" = "serial" ]; then
     # Don't bother trying to configure or start X on a serial console
@@ -28,17 +34,6 @@ fi
 
 locale=en_US.UTF-8
 
-for x in $(cat /proc/cmdline); do
-                case $x in
-                        debian-installer/locale=*)
-                                locale=${x#debian-installer/locale=}
-                                ;;
-                        locale=*)
-                                locale=${x#locale=}
-                                ;;
-                esac
-done
-
 mount -n -o bind /sys /root/sys
 mount -n -o bind /proc /root/proc
 mount -n -o bind /dev /root/dev
@@ -48,12 +43,32 @@ if [ -n "${XDEBCONF}" -a -x /root/usr/sbin/xdebconfigurator ]; then
     chroot /root /usr/sbin/xdebconfigurator
 fi
 
-chroot /root debconf-communicate -fnoninteractive live-initramfs > /dev/null <<EOF
+if [ "${BUILD_SYSTEM}" = "Ubuntu" ]; then
+    chroot /root debconf-communicate -fnoninteractive live-initramfs > /dev/null <<EOF
 set xserver-xorg/autodetect_keyboard true
 fset xserver-xorg/autodetect_keyboard seen true
 EOF
+else
+    # d-i code not present, so:
+    if [ -n "${KOPTIONS}" ]; then
+        setoptions="set xserver-xorg/config/inputdevice/keyboard/options ${KOPTIONS}"
+    fi
+    if [ -n "${KVARIANT}" ]; then
+        setvariant="set xserver-xorg/config/inputdevice/keyboard/variant ${KVARIANT}"
+    fi
+    if [ -n "${KMODEL}" ]; then
+        setmodel="set xserver-xorg/config/inputdevice/keyboard/model ${KMODEL}"
+    fi
+
+    chroot /root debconf-communicate -fnoninteractive live-initramfs > /dev/null <<EOF
+set xserver-xorg/config/inputdevice/keyboard/layout ${kbd}
+${setvariant}
+${setmodel}
+${setoptions}
+EOF
+fi
 
-DEBUG_XORG_PACKAGE=1 DEBUG_XORG_DEBCONF=1 LANG=$(grep "^${locale}" /root/usr/share/i18n/SUPPORTED | grep UTF-8 | sed -e 's, .*,,' -e q) live-reconfigure /root xserver-xorg
+DEBUG_XORG_PACKAGE=1 DEBUG_XORG_DEBCONF=1 live-reconfigure /root xserver-xorg
 umount /root/sys
 umount /root/proc
 umount /root/dev