#!/bin/bash #emacs: -*- mode: shell-script; c-basic-offset: 4; tab-width: 4; indent-tabs-mode: nil -*- #ex: set sts=4 ts=4 sw=4 et: # play save set -e set -u cfg_dir=/etc/neurodebian/guest/setupwizard_done success_flag=$cfg_dir/setupwizard_done nd_icon=/usr/share/pixmaps/neurodebian.svg icon_opt="--window-icon=$nd_icon" first_run=0 if [ ! -e $success_flag ]; then first_run=1 fi if [ $first_run -eq 1 ]; then zenity --info $icon_opt --title="NeuroDebian Setup Wizard" \ --text="Welcome to the NeuroDebian virtual machine! This is the first time you have started this virtual machine. We will now perform a few simple steps to finalize its configuration. This includes upgrading the system to the latest available versions and installing additional software packages upon your request." fi if ! zenity --question $icon_opt --title="NeuroDebian Setup Wizard" \ --text="The setup procedure requires network access to download packages from the Debian archive. If you do not have network access right now, you can re-start this wizard at any time from the NeuroDebian menu. If you proceed you may have to enter the superuser password with is by default 'neurodebian'. Do you want to proceed with updating the system? "; then exit 0 fi # initialize apt update-manager -c sudo update-software-center --debug 2>&1 | \ zenity $icon_opt --title="Updating Software Center Repository" \ --progress --pulsate --auto-close --auto-kill popconf=/etc/popularity-contest.conf if [ ! -e "$popconf" ] || grep -q -e '^PARTICIPATE.*no' "$popconf" ; then zenity --info $icon_opt --title="NeuroDebian Setup Wizard" \ --text="You will now be given the choice to participate in the package survey. If enabled, a list of installed packages will be anonymously sent to Debian (http://popcon.debian.org). Your participation is important for two reasons: 1) Popular packages receive more attention from developers, bugs are fixed faster and updates are provided quicker. 2) User statistics can help research software developers to acquire funding for continued development." if [ -e "$popconf" ] ; then # just reconfigure so user could get a chance to participate sudo DEBIAN_FRONTEND=gnome dpkg-reconfigure popularity-contest else # install, but do not fail if something goes wrong nd-autoinstall popularity-contest /etc/popularity-contest.conf || true fi fi # install custom filter for synaptics if [ $first_run -eq 1 ]; then sudo mkdir -p /root/.synaptic sudo bash -c 'cat << EOT >> /root/.synaptic/filters filter "NeuroDebian" { section { inclusive false; sections { }; }; status { flags 0x1ffff; }; pattern { andMode 0; patterns { Origin; "neuro.debian.net"; false; Maintainer; "team@neuro.debian.net"; false; }; }; priority { }; reducedview { enabled false; }; }; EOT ' # essential things are done -- let's mark sucess sudo bash -c "mkdir -p $cfg_dir && touch $success_flag" fi # create symlink to shared folder into homedir [ ! -e $HOME/host ] && ln -s /mnt/host $HOME/host packages=$(zenity --list $icon_opt --checklist --column="Install" --column="Description" \ --column="Package Name" --print-column=3 --hide-column=3 --hide-header \ --separator=' ' --text="Please select any additional component that shall be installed. Please note that this selection will not affect packages already installed on the system. No installed packages will be reinstalled or removed, only additional components will be installed." \ FALSE "Emacs" "emacs" \ FALSE "GNU Image Manipulation Program (Gimp)" "gimp" \ FALSE "Octave" "octave,qtoctave" \ FALSE "OpenOffice.org" "openoffice.org" \ FALSE "Scientific Python" "ipython,python-numpy,python-matplotlib" \ FALSE "TeX Live" "texlive" \ FALSE "Adobe Flash browser plugin" "flashplugin-nonfree" \ FALSE "Sun Java browser plugin" "sun-java6-plugin" \ || true) if [ -n "$packages" ]; then for pkgs in $packages; do nd-autoinstall -f -p "${pkgs//,/ }" true done fi # some sane ending zenity --info $icon_opt --text="Wizard has finished." # and start greeter x-www-browser http://neuro.debian.net/vm_welcome.html &