diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2014-11-27 00:13:53 +0100 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2014-11-27 00:13:53 +0100 |
commit | 9151984d9ac8135bc0a5e2f57f1654520443ba1b (patch) | |
tree | 9d861c4746a9d3161d0d43bb067924cdde783caa /bin/g-i-installation.sh | |
parent | f991706691012fc14f4df6389c2f4e29762598c5 (diff) | |
parent | 94c77244b8064d6f29146f7f9e36389b5216076f (diff) | |
download | jenkins.debian.net-9151984d9ac8135bc0a5e2f57f1654520443ba1b.tar.xz |
Merge branch 'master' of git://git.debian.org/git/qa/jenkins.debian.net
Diffstat (limited to 'bin/g-i-installation.sh')
-rw-r--r-- | bin/g-i-installation.sh | 77 |
1 files changed, 63 insertions, 14 deletions
diff --git a/bin/g-i-installation.sh b/bin/g-i-installation.sh index 74355978..375a4bf0 100644 --- a/bin/g-i-installation.sh +++ b/bin/g-i-installation.sh @@ -124,7 +124,7 @@ cleanup_all() { # save logs if there are any # case $NAME in - *_rescue*) ;; + *_rescue*|*_presentation) ;; *) if [ $NR -gt 200 ] ; then save_logs else @@ -301,6 +301,17 @@ bootstrap_system() { debian-edu_*) EXTRA_APPEND="$EXTRA_APPEND DEBCONF_DEBUG=developer" ;; + *_brltty) + EXTRA_APPEND="$EXTRA_APPEND brltty=tt,ttyS0,en" + ;; + *_speakup) + EXTRA_APPEND="$EXTRA_APPEND speakup.synth=soft" + ;; + *_presentation) + EXTRA_APPEND="$EXTRA_APPEND url=hands.com classes=talks/fosdem07" + ;; + *) + ;; esac case $NAME in debian-edu_*) @@ -311,7 +322,14 @@ bootstrap_system() { EXTRA_APPEND="$EXTRA_APPEND priority=critical" ;; esac - APPEND="auto=true $EXTRA_APPEND $INST_LOCALE $INST_KEYMAP url=$PRESEED_URL $INST_VIDEO -- quiet" + case $NAME in + *_presentation) + APPEND="auto=true $EXTRA_APPEND $INST_LOCALE $INST_KEYMAP $INST_VIDEO -- quiet" + ;; + *) + APPEND="auto=true $EXTRA_APPEND $INST_LOCALE $INST_KEYMAP url=$PRESEED_URL $INST_VIDEO -- quiet" + ;; + esac show_preseed $(hostname -f)/$PRESEED_PATH/${NAME}_$PRESEEDCFG echo echo "Starting QEMU now:" @@ -434,6 +452,17 @@ rescue_boot() { esac } +presentation_boot() { + # boot in presentation mode + let MY_NR=NR-TRIGGER_NR + TOKEN=$(printf "%04d" $MY_NR) + case $TOKEN in + 0[123456]00) do_and_report key enter + ;; + *) ;; + esac +} + post_install_boot() { # normal boot after installation let MY_NR=NR-TRIGGER_NR @@ -611,7 +640,7 @@ post_install_boot() { *) ;; esac ;; - debian_*gnome) case $TOKEN in + debian_*gnome*) case $TOKEN in 0150) do_and_report move 530 420 click 1 ;; 0200) do_and_report key alt-f2 @@ -1109,11 +1138,13 @@ monitor_system() { # let's drive this further (once/if triggered) if [ $TRIGGER_NR -ne 0 ] && [ $TRIGGER_NR -ne $NR ] ; then case $MODE in - rescue) rescue_boot - ;; + rescue) rescue_boot + ;; + presentation) presentation_boot + ;; post_install) post_install_boot - ;; - *) ;; + ;; + *) ;; esac fi # if TRIGGER_MODE matches NR, we are triggered too @@ -1157,6 +1188,20 @@ save_logs() { # sudo chroot $SYSTEM_MNT dpkg -l > $RESULTS/dpkg-l || ( echo "Warning: cannot run dpkg inside the installed system, did the installation finish correctly?" ; export FAILURE=true ) # + # check for must installed packages + # + case $NAME in + *_brltty) + grep brltty $RESULTS/dpkg-l || echo "Warning: package brltty not installed." + ;; + *_speakup) + grep epeakup $RESULTS/dpkg-l || echo "Warning: package espeakup not installed." + ;; + *) + ;; + esac + + # # only on combi-servers and ltsp-servers: # mount /opt # copy LTSP logs and package list @@ -1251,28 +1296,32 @@ fi bootstrap_system set +x case $NAME in - *_rescue*) monitor_system rescue - ;; + *_rescue*) monitor_system rescue + ;; + *_presentation) monitor_system presentation 10 + ;; debian-edu_*combi-server) monitor_system install wait4match 3000 - ;; + ;; debian-edu_*wheezy*standalone*) monitor_system install wait4match 1200 - ;; - *) monitor_system install wait4match - ;; + ;; + *) monitor_system install wait4match + ;; esac # # boot up installed system # let NR=NR+1 case $NAME in - *_rescue*) # so there are some artifacts to publish + *_rescue*|*_presentation) # so there are some artifacts to publish mkdir -p $RESULTS/log/installer touch $RESULTS/log/dummy $RESULTS/log/installer/dummy ;; *) # # kill qemu and image # + set -x sudo kill -9 $(ps fax | grep [q]emu-system | grep "vnc=$DISPLAY " 2>/dev/null | awk '{print $1}') || true + set +x if [ ! -z "$IMAGE" ] ; then sudo umount -l $IMAGE_MNT || true fi |