summaryrefslogtreecommitdiff
path: root/scripts/casper-bottom
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/casper-bottom')
-rw-r--r--scripts/casper-bottom/02etc_casper_conf7
-rwxr-xr-xscripts/casper-bottom/19keyboard32
-rwxr-xr-xscripts/casper-bottom/22screensaver10
-rwxr-xr-xscripts/casper-bottom/23networking44
-rwxr-xr-xscripts/casper-bottom/25configure_init14
-rwxr-xr-xscripts/casper-bottom/30accessibility21
6 files changed, 100 insertions, 28 deletions
diff --git a/scripts/casper-bottom/02etc_casper_conf b/scripts/casper-bottom/02etc_casper_conf
index fd19ac9..7c4d08d 100644
--- a/scripts/casper-bottom/02etc_casper_conf
+++ b/scripts/casper-bottom/02etc_casper_conf
@@ -17,7 +17,14 @@ esac
if [ -f /etc/casper.conf ] ; then
+ if [ ! -z "${CASPERCONF}" ]; then
+ # Updating casper.conf
+ sed -i -e 's/\(USERNAME="\).*"/\1'"${USERNAME}"'"/g' \
+ -e 's/\(USERFULLNAME="\).*"/\1'"${USERFULLNAME}"'"/g' \
+ -e 's/\(HOST="\).*"/\1'"${HOST}"'"/g' /etc/casper.conf
+ fi
cp -p /etc/casper.conf /root/etc/casper.conf
+
else
cat <<EOF >/root/etc/casper.conf
export USERNAME="$USERNAME"
diff --git a/scripts/casper-bottom/19keyboard b/scripts/casper-bottom/19keyboard
index 895a698..d738faf 100755
--- a/scripts/casper-bottom/19keyboard
+++ b/scripts/casper-bottom/19keyboard
@@ -21,15 +21,33 @@ esac
log_begin_msg "$DESCRIPTION"
kbd=us
+cslayout=
+csvariant=
for x in $(cat /proc/cmdline); do
- case $x in
- kbd-chooser/method=*)
- kbd=${x#kbd-chooser/method=}
- ;;
- esac
+ case $x in
+ kbd-chooser/method=*)
+ kbd=${x#kbd-chooser/method=}
+ ;;
+ console-setup/layoutcode=*)
+ cslayout=${x#console-setup/layoutcode=}
+ ;;
+ console-setup/variantcode=*)
+ csvariant=${x#console-setup/variantcode=}
+ ;;
+ esac
done
-chroot /root /usr/sbin/install-keymap $kbd
-casper-preseed /root debian-installer/keymap "$kbd"
+if [ "$cslayout" ] && [ -x /root/bin/setupcon ] && \
+ [ -f /etc/default/console-setup ]; then
+ chroot /root sed -i "s/^XKBLAYOUT=.*/XKBLAYOUT=\"$cslayout\"/" \
+ /etc/default/console-setup
+ if [ "$csvariant" ]; then
+ chroot /root sed -i "s/^XKBVARIANT=.*/XKBVARIANT=\"$csvariant\"/" \
+ /etc/default/console-setup
+ fi
+else
+ chroot /root /usr/sbin/install-keymap $kbd
+ casper-preseed /root debian-installer/keymap "$kbd"
+fi
log_end_msg
diff --git a/scripts/casper-bottom/22screensaver b/scripts/casper-bottom/22screensaver
index 6719f5f..ff3ec81 100755
--- a/scripts/casper-bottom/22screensaver
+++ b/scripts/casper-bottom/22screensaver
@@ -20,9 +20,17 @@ esac
log_begin_msg "$DESCRIPTION"
+
gnome_screensaver_version=$(chroot /root dpkg-query -W --showformat='${Version}' gnome-screensaver 2>/dev/null) || gnome_screensaver_version=""
+
+if [ "${BUILD_SYSTEM}" == "Ubuntu" ]; then
+ gnome_screensaver_lock="/apps/gnome-screensaver/lock"
+else
+ gnome_screensaver_lock="/apps/gnome-screensaver/lock_enabled"
+fi
+
if [ -n "$gnome_screensaver_version" ]; then
- chroot /root sudo -u "$USERNAME" gconftool-2 -t bool -s /apps/gnome-screensaver/lock false
+ chroot /root sudo -u "$USERNAME" gconftool-2 -t bool -s "${gnome_screensaver_lock}" false
fi
log_end_msg
diff --git a/scripts/casper-bottom/23networking b/scripts/casper-bottom/23networking
index 10d4ab2..8f4b698 100755
--- a/scripts/casper-bottom/23networking
+++ b/scripts/casper-bottom/23networking
@@ -21,34 +21,48 @@ esac
log_begin_msg "$DESCRIPTION"
+if [ "${STATICIP}" == "frommedia" ] && [ -e "$IFFILE" ] ; then
+ # will use existent /etc/network/interfaces
+ log_end_msg
+ exit 0
+fi
+
cat > "$IFFILE" <<EOF
auto lo
iface lo inet loopback
EOF
-udevtrigger
+udevtrigger
if [ -z "${NETBOOT}" ] ; then
- for interface in /sys/class/net/eth* /sys/class/net/ath* /sys/class/net/wlan*; do
- [ -e $interface ] || continue
- i="$(basename $interface)"
- cat >> "$IFFILE" <<EOF
-auto $i
-iface $i inet dhcp
+ if [ ! -z "${STATICIP}" ] && [ "${STATICIP}" != "frommedia" ]; then
+ parsed=$(echo "${STATICIP}" | sed -e 's/:/ /g')
+ for ifline in ${parsed}; do
+ ifname="$(echo ${ifline} | cut -f1 -d ',')"
+ ifaddress="$(echo ${ifline} | cut -f2 -d ',')"
+ ifnetmask="$(echo ${ifline} | cut -f3 -d ',')"
+ ifgateway="$(echo ${ifline} | cut -f4 -d ',')"
+ cat >> "$IFFILE" <<EOF
+auto ${ifname}
+iface ${ifname} inet static
+ address ${ifaddress}
+ netmask ${ifnetmask}
+ gateway ${ifgateway}
EOF
-
- done
-fi
-
-for i in eth0 eth1 eth2 ath0 wlan0; do
- [ ! -e /sys/class/net/$i ] || continue
- cat >> "$IFFILE" <<EOF
+ done
+ else
+ for interface in /sys/class/net/eth* /sys/class/net/ath* /sys/class/net/wlan*; do
+ [ -e $interface ] || continue
+ i="$(basename $interface)"
+ cat >> "$IFFILE" <<EOF
auto $i
iface $i inet dhcp
EOF
-done
+ done
+ fi
+fi
log_end_msg
diff --git a/scripts/casper-bottom/25configure_init b/scripts/casper-bottom/25configure_init
index 010e2eb..84fa741 100755
--- a/scripts/casper-bottom/25configure_init
+++ b/scripts/casper-bottom/25configure_init
@@ -23,10 +23,7 @@ log_begin_msg "$DESCRIPTION"
# Arrange for shells on virtual consoles, rather than login prompts
if [ -n "$USERNAME" ]; then
- if [ -z "${CASPERGETTY}" ]; then
- sed -i -e "s|^\([^:]*:[^:]*:[^:]*\):.*getty.*\<\(tty[0-9].*\).*$|\1:/bin/login -f $USERNAME </dev/\2 >/dev/\2 2>\&1|" /root/etc/inittab
- else
- sed -i -e'/^[^#]/s%respawn:/sbin/getty%respawn:/sbin/casper-getty%' /root/etc/inittab
+ if [ ! -z "${CASPERGETTY}" ]; then
# AUTOMATIC SERIAL CONSOLE #
defconsole=$(sed -e 's%.*console=%console=%' /proc/cmdline)
if echo "${defconsole}" | grep -qs console=ttyS; then
@@ -50,6 +47,15 @@ if [ -n "$USERNAME" ]; then
>>/root/etc/inittab
fi
fi
+ else
+ if [ -f /root/etc/inittab ]; then
+ sed -i -e "s|^\([^:]*:[^:]*:[^:]*\):.*getty.*\<\(tty[0-9]*\).*$|\1:/bin/login -f $USERNAME </dev/\2 >/dev/\2 2>\&1|" /root/etc/inittab
+ fi
+ if [ "/root/etc/event.d/tty*" != "$(echo /root/etc/event.d/tty*)" ]; then
+ for f in /root/etc/event.d/tty*; do
+ sed -i -e "s|^respawn.*|respawn /bin/login -f $USERNAME </dev/$(basename $f) > /dev/$(basename $f) 2>\&1|" $f
+ done
+ fi
fi
fi
diff --git a/scripts/casper-bottom/30accessibility b/scripts/casper-bottom/30accessibility
index 8352fb6..b0c049b 100755
--- a/scripts/casper-bottom/30accessibility
+++ b/scripts/casper-bottom/30accessibility
@@ -20,8 +20,18 @@ esac
log_begin_msg "$DESCRIPTION"
+gconf_version=$(chroot /root /usr/bin/dpkg-query -W --showformat='${Version}' gconf-2 2>/dev/null) || gconf_version=""
+
gct() {
- chroot /root sudo -u "$USERNAME" gconftool-2 "$@"
+ if [ "$gconf_version" ]; then
+ chroot /root sudo -u "$USERNAME" gconftool-2 "$@"
+ fi
+}
+
+kderc_addtoprefixes() {
+ if [ -e "/root/etc/kderc" ]; then
+ sed -i "s|\\(prefixes=/usr/share/kubuntu-default-settings/kde-profile/default/\\)|\\1,$1|" /root/etc/kderc
+ fi
}
for x in $(cat /proc/cmdline); do
@@ -40,6 +50,9 @@ for x in $(cat /proc/cmdline); do
gct -s -t string /desktop/gnome/background/color_shading_type solid
gct -s -t int /desktop/gnome/peripherals/mouse/cursor_size 48
gct -s -t string /desktop/gnome/peripherals/mouse/cursor_theme whiteglass
+
+ kderc_addtoprefixes /usr/share/kubuntu-default-settings/kde-profile/lesser-visual-impairment/
+ fi
;;
# Moderate Visual Impairment
access=v2)
@@ -47,6 +60,8 @@ for x in $(cat /proc/cmdline); do
gct -s -t list --list-type=string /desktop/gnome/accessibility/startup/exec_ats [gnopernicus]
gct -s -t bool /apps/gnopernicus/srcore/mag_active true
gct -s -t bool /apps/gnopernicus/srcore/sp_active false
+
+ kderc_addtoprefixes /usr/share/kubuntu-default-settings/kde-profile/lesser-visual-impairment/,/usr/share/kubuntu-default-settings/kde-profile/moderate-visual-impairment/
;;
# Blindness
access=v3)
@@ -66,6 +81,8 @@ for x in $(cat /proc/cmdline); do
gct -s -t bool /desktop/gnome/peripherals/keyboard/repeat true
gct -s -t int /desktop/gnome/peripherals/keyboard/delay 700
gct -s -t int /desktop/gnome/peripherals/keyboard/rate 10
+
+ kderc_addtoprefixes /usr/share/kubuntu-default-settings/kde-profile/minor-motor-difficulties/
;;
# Motor Difficulties - pointing devices
access=m2)
@@ -75,6 +92,8 @@ for x in $(cat /proc/cmdline); do
gct -s -t bool /desktop/accessibility/gnome/keyboard/stickykeys_two_key_off false
gct -s -t bool /desktop/gnome/interface/accessibility true
gct -s -t list --list-type=string /desktop/gnome/accessibility/startup/exec_ats gok
+
+ kderc_addtoprefixes /usr/share/kubuntu-default-settings/kde-profile/minor-motor-difficulties/,/usr/share/kubuntu-default-settings/kde-profile/motor-difficulties-pointing-devices/
;;
esac
done