Adding casper 1.79+debian-1.
[live-boot-grml.git] / scripts / casper-bottom / 20xconfig
index 840200d..470f54c 100755 (executable)
@@ -3,7 +3,8 @@
 PREREQ=""
 DESCRIPTION="Configuring X..."
 
-. /scripts/functions
+. /scripts/casper-functions
+
 
 prereqs()
 {
@@ -26,25 +27,40 @@ if [ "$TERM_TYPE" = "serial" ]; then
     exit 0
 fi
 
-locale=en_US.UTF-8
-
-for x in $(cat /proc/cmdline); do
-                case $x in
-                        debian-installer/locale=*)
-                                locale=${x#debian-installer/locale=}
-                                ;;
-                esac
-done
-
 mount -n -o bind /sys /root/sys
 mount -n -o bind /proc /root/proc
 
-chroot /root debconf-communicate -fnoninteractive casper > /dev/null <<EOF
+if [ -n "${XDEBCONF}" -a -x /root/usr/sbin/xdebconfigurator ]; then
+    # xdebconfigurator
+    chroot /root /usr/sbin/xdebconfigurator
+fi
+
+if [ "${BUILD_SYSTEM}" == "Ubuntu" ]; then
+    chroot /root debconf-communicate -fnoninteractive casper > /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 casper > /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) casper-reconfigure /root xserver-xorg
+DEBUG_XORG_PACKAGE=1 DEBUG_XORG_DEBCONF=1 casper-reconfigure /root xserver-xorg
 umount /root/sys
 umount /root/proc