File indexing completed on 2024-05-26 04:59:21

0001 #!/bin/bash
0002 
0003 set -e
0004 cd "$(dirname "$0")"
0005 
0006 [[ "$1" == "" ]] && echo "Usage: $0 <ssh login>" && exit 1
0007 
0008 # get list of required apt-get packages
0009 lc=
0010 pkgs=()
0011 while IFS='' read -r line || [[ -n "$line" ]]; do
0012         if [[ ! "$line" =~ ^[\ \t]*# && "$line" =~ ^.*apt-get\ install.*$ || "$lc" == "1" ]]; then
0013                 lc=; [[ "$line" =~ ^.*\\$ ]] && lc=1
0014                 line=${line##*apt-get install}
0015                 line=${line%\\}
0016                 for p in $line; do [[ ! $p =~ ^- ]] && pkgs+=($p) ; done
0017         fi
0018 done < ./build-deps.sh
0019 
0020 # setup ssh login
0021 ssh -t "$1" "mkdir -p ~/.ssh ; chmod 700 ~/.ssh ; echo '$(cat ~/.ssh/id_rsa.pub)' >~/.ssh/authorized_keys"
0022 
0023 cat >temp.sh <<EOF
0024 set -e
0025 
0026 # add user to sudo
0027 sudo bash -c 'echo -e "\n'\$USER' ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers'
0028 
0029 # setup color prompt
0030 sed -E -i \\
0031         -e 's/^#force_color_prompt=yes/force_color_prompt=yes/' \\
0032         -e 's/(PS1=.*01);32m/\1;33m/' \\
0033         \$HOME/.bashrc
0034 
0035 # add cdrom to apt
0036 #[ "$(grep /cdrom /etc/fstab)" == "" ] && sudo bash -c 'echo -e "\n/dev/cdrom /cdrom auto ro,user,noauto,exec,utf8 0 0" >>/etc/fstab
0037 #sudo mkdir -p /cdrom
0038 #sudo ln -fs /cdrom /media/cdrom
0039 #(mount /cdrom || exit 0)
0040 #/usr/bin/apt-cdrom add --no-auto-detect -d /cdrom'
0041 
0042 # add apt mount
0043 [ "$(grep /apt /etc/fstab)" == "" ] && sudo bash -c 'echo -e "\napt /var/cache/apt/archives 9p trans=virtio,version=9p2000.L,posixacl,msize=104857600 0 0" >>/etc/fstab
0044 mount /var/cache/apt/archives'
0045 
0046 # update apt
0047 sudo apt-get update
0048 sudo apt-get dist-upgrade -y
0049 sudo apt-get clean -y
0050 sudo apt-get install -yd ${pkgs[@]}
0051 
0052 # delete temp script
0053 rm ~/temp.sh
0054 EOF
0055 
0056 scp temp.sh build-deps.sh "$1:" 
0057 rm temp.sh
0058 ssh -t "$1" "bash ~/temp.sh"