From 939c70c83d1416a07f6b658962fa487f3280404a Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 18 Apr 2010 18:44:36 +0200 Subject: [PATCH] Adding upstream version 1.68+debian. --- casper-md5check/casper-md5check.c | 28 ++++++++++++++++++++++++---- scripts/casper-bottom/19keyboard | 32 +++++++++++++++++++++++++------- scripts/casper-bottom/25configure_init | 9 ++++++++- scripts/casper-bottom/30accessibility | 21 ++++++++++++++++++++- ubiquity-hooks/20xconfig | 2 +- ubiquity-hooks/30accessibility | 4 ++++ 6 files changed, 82 insertions(+), 14 deletions(-) diff --git a/casper-md5check/casper-md5check.c b/casper-md5check/casper-md5check.c index 0571e49..1e9d1bb 100644 --- a/casper-md5check/casper-md5check.c +++ b/casper-md5check/casper-md5check.c @@ -100,6 +100,23 @@ void usplash_text(int fd, char *format, ...) { free(s1); } +void usplash_urgent(int fd, char *format, ...) { + char *s, *s1; + va_list argp; + + va_start(argp, format); + vasprintf(&s, format, argp); + va_end(argp); + + asprintf(&s1, "TEXT-URGENT %s", s); + + write_and_retry(fd, s1); + + free(s); + free(s1); +} + + void usplash_success(int fd, char *format, ...) { char *s, *s1; va_list argp; @@ -173,10 +190,13 @@ int main(int argc, char **argv) { if (pipe_fd == -1) { /* We can't really do anything useful here */ + perror("Opening pipe"); exit(1); } + usplash_progress(pipe_fd, 0); + usplash_urgent(pipe_fd, "Checking integrity, this may take some time"); md5_file = fopen(argv[2], "r"); if (!md5_file) { perror("fopen md5_file"); @@ -214,7 +234,7 @@ int main(int argc, char **argv) { while (rsize > 0) { csize += rsize; - usplash_progress(pipe_fd, floorl(100*csize/tsize)); + usplash_progress(pipe_fd, floorl(100*((long double)csize)/tsize)); md5_append(&state, (const md5_byte_t *)buf, rsize); rsize = read(check_fd, buf, sizeof(buf)); @@ -235,9 +255,9 @@ int main(int argc, char **argv) { free(checksum); free(checkfile); } - usplash_text(pipe_fd, "Check finished, %d checksums failed", failed); - usplash_text(pipe_fd, "Press any key to reboot your system"); - usplash_timeout(pipe_fd, 0); + usplash_urgent(pipe_fd, "Check finished, %d checksums failed", failed); + usplash_urgent(pipe_fd, "Press any key to reboot your system"); + usplash_timeout(pipe_fd, 86400); set_nocanonical_tty(0); getchar(); reboot(LINUX_REBOOT_CMD_RESTART); 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/25configure_init b/scripts/casper-bottom/25configure_init index ede660d..f457bf6 100755 --- a/scripts/casper-bottom/25configure_init +++ b/scripts/casper-bottom/25configure_init @@ -23,7 +23,14 @@ log_begin_msg "$DESCRIPTION" # Arrange for shells on virtual consoles, rather than login prompts if [ -n "$USERNAME" ]; then - sed -i -e "s|^\([^:]*:[^:]*:[^:]*\):.*getty.*\<\(tty[0-9]*\).*$|\1:/bin/login -f $USERNAME /dev/\2 2>\&1|" /root/etc/inittab + if [ -f /root/etc/inittab ]; then + sed -i -e "s|^\([^:]*:[^:]*:[^:]*\):.*getty.*\<\(tty[0-9]*\).*$|\1:/bin/login -f $USERNAME /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) 2>\&1|" $f + done + fi fi # This has the nice side effect of the cron.{daily,weekly,monthly} jobs in 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 diff --git a/ubiquity-hooks/20xconfig b/ubiquity-hooks/20xconfig index 6f8becd..92d7097 100755 --- a/ubiquity-hooks/20xconfig +++ b/ubiquity-hooks/20xconfig @@ -5,7 +5,7 @@ if [ -f /etc/X11/xorg.conf ]; then cp -a /etc/X11/xorg.conf /target/etc/X11/xorg.conf # requires x11-common (>= 7.0.0-0ubuntu1) mkdir -p /target/var/lib/x11 - chroot /target md5sum /etc/X11/xorg.conf > /var/lib/x11/xorg.conf.md5sum + chroot /target sh -c 'md5sum /etc/X11/xorg.conf > /var/lib/x11/xorg.conf.md5sum' fi exit 0 diff --git a/ubiquity-hooks/30accessibility b/ubiquity-hooks/30accessibility index 9fcfc26..967c30c 100755 --- a/ubiquity-hooks/30accessibility +++ b/ubiquity-hooks/30accessibility @@ -27,6 +27,7 @@ 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 + sed -i s.prefixes=/usr/share/kubuntu-default-settings/kde-profile/default/.prefixes=/usr/share/kubuntu-default-settings/kde-profile/default/,/usr/share/kubuntu-default-settings/kde-profile/lesser-visual-imparement/. /etc/kderc ;; # Moderate Visual Impairment access=v2) @@ -34,6 +35,7 @@ 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 + sed -i s.prefixes=/usr/share/kubuntu-default-settings/kde-profile/default/.prefixes=/usr/share/kubuntu-default-settings/kde-profile/default/,/usr/share/kubuntu-default-settings/kde-profile/lesser-visual-imparement/,/usr/share/kubuntu-default-settings/kde-profile/moderate-visual-imparement/. /etc/kderc ;; # Blindness access=v3) @@ -53,6 +55,7 @@ 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 + sed -i s.prefixes=/usr/share/kubuntu-default-settings/kde-profile/default/.prefixes=/usr/share/kubuntu-default-settings/kde-profile/default/,/usr/share/kubuntu-default-settings/kde-profile/minor-motor-difficulties/. /etc/kderc ;; # Motor Difficulties - pointing devices access=m2) @@ -62,6 +65,7 @@ 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 + sed -i s.prefixes=/usr/share/kubuntu-default-settings/kde-profile/default/.prefixes=/usr/share/kubuntu-default-settings/kde-profile/default/,/usr/share/kubuntu-default-settings/kde-profile/minor-motor-difficulties/,/usr/share/kubuntu-default-settings/kde-profile/motor-difficulties-pointing-devices/. /etc/kderc ;; esac done -- 2.1.4