[281] | 1 | #!/bin/bash
|
---|
| 2 |
|
---|
| 3 | (
|
---|
| 4 | if [ _"$1" == _"" ]; then
|
---|
| 5 | echo "Syntax: newpbqemu VM|all"
|
---|
| 6 | exit -1
|
---|
| 7 | fi
|
---|
| 8 |
|
---|
| 9 | export PBPROJ=pb
|
---|
| 10 | export PBROOT=/users/bruno/pb/svn/devel
|
---|
| 11 |
|
---|
| 12 | if [ _"$1" == _"all" ]; then
|
---|
| 13 | opt="`grep vmlist $PBROOT/pbconf/pb.pb | grep pb | cut -d= -f2 | sed 's/,/ /g'`"
|
---|
| 14 | opt64="`echo $opt | sed 's/ /_64 /g'`"
|
---|
| 15 | opt="$opt $opt64"
|
---|
| 16 | else
|
---|
| 17 | opt="`echo $* | sed 's/,/ /g'`"
|
---|
| 18 | fi
|
---|
| 19 |
|
---|
| 20 | echo "Working on VMs: $opt"
|
---|
| 21 | for m in $opt; do
|
---|
| 22 | echo "Launching script on $m"
|
---|
| 23 | cat > /tmp/pbscript << EOF
|
---|
| 24 | ntpdate ntp.home.musique-ancienne.org
|
---|
| 25 | rm -rf project-builder-*
|
---|
| 26 | wget --passive-ftp ftp://ftp.mondorescue.org/src/project-builder-latest.tar.gz
|
---|
| 27 | tar xvfz project-builder-latest.tar.gz
|
---|
| 28 | cd project-builder-*
|
---|
| 29 | perl Makefile.PL
|
---|
| 30 | make
|
---|
| 31 | make install
|
---|
| 32 | cd ..
|
---|
| 33 | EOF
|
---|
| 34 | pb -m $m -a root -s /tmp/pbscript script2vm
|
---|
| 35 | pb -m $m build2vm
|
---|
| 36 | echo "Installing package on $m"
|
---|
| 37 | cat > /tmp/pbscript << EOF
|
---|
| 38 | #!/bin/bash
|
---|
[282] | 39 | ddir=\`pbdistrocheck | cut -d: -f2 | cut -d, -f1\`
|
---|
| 40 | dver=\`pbdistrocheck | cut -d, -f2\`
|
---|
| 41 | dtype=\`pbdistrocheck | cut -d, -f4\`
|
---|
| 42 | dsuf=\`pbdistrocheck | cut -d, -f5\`
|
---|
[281] | 43 | pbver=0.8.11
|
---|
| 44 | if [ "$dtype" = "rpm" ]; then
|
---|
| 45 | rpm -Uvh --force --nodeps ftp://ftp.project-builder.org/$ddir/$dver/project-builder-$pbver-1$dsuf.noarch.rpm"
|
---|
| 46 | else
|
---|
| 47 | wget ftp://ftp.project-builder.org/$ddir/$dver/project-builder_".$pbver."_all.deb
|
---|
| 48 | dpkg -i project-builder_".$pbver."_all.deb"
|
---|
| 49 | fi
|
---|
| 50 | EOF
|
---|
| 51 | pb -m $m -a root -s /tmp/pbscript script2vm
|
---|
| 52 | echo "Halting $m"
|
---|
| 53 | echo "/sbin/halt -p" > /tmp/pbscript
|
---|
| 54 | pb -m $m -a root -s /tmp/pbscript script2vm
|
---|
| 55 | sleep 120
|
---|
| 56 | job=`ps auhxww | grep qemu | grep $m | grep -Ev 'grep|updateqemu' | awk '{print $2}'`
|
---|
| 57 | if [ _"$job" != _"" ]; then
|
---|
| 58 | echo "Really halting $m"
|
---|
| 59 | kill $job
|
---|
| 60 | fi
|
---|
| 61 | done
|
---|
| 62 | ) 2>&1 | tee /tmp/newpbqemu.log
|
---|