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
|
---|
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\`
|
---|
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
|
---|