| 1 | #!/bin/bash
|
|---|
| 2 | #
|
|---|
| 3 | # $Id$
|
|---|
| 4 | #
|
|---|
| 5 | # Script allowing mondo packages production on various distributions with qemu
|
|---|
| 6 | #
|
|---|
| 7 |
|
|---|
| 8 | if [ _"$1" == _"" ]; then
|
|---|
| 9 | echo "Syntax: mkqemu [mondo version] ([vm].. )"
|
|---|
| 10 | exit -1
|
|---|
| 11 | fi
|
|---|
| 12 |
|
|---|
| 13 | if [ _"$2" == _"" ]; then
|
|---|
| 14 | export SVN_VM="mdk101 mdk102 mdv2006 rh73 rh9 fc4 fc5 rhel3 rhel4 suse10 sles9 debian31 slackware102 gentoo"
|
|---|
| 15 | else
|
|---|
| 16 | export SVN_VM="$2"
|
|---|
| 17 | fi
|
|---|
| 18 |
|
|---|
| 19 | cat > /tmp/mkmondo << EOF
|
|---|
| 20 | #!/bin/bash
|
|---|
| 21 |
|
|---|
| 22 | export SVN_HOME=\$HOME/mondo/svn/branches
|
|---|
| 23 | export SVN_SSH="ssh -l bcornec"
|
|---|
| 24 | export SVN_EDITOR=vim
|
|---|
| 25 | export LANG="C"
|
|---|
| 26 | export LANGUAGE="C"
|
|---|
| 27 | export LC_ALL="C"
|
|---|
| 28 |
|
|---|
| 29 | if [ -d \$SVN_HOME/$1 ]; then
|
|---|
| 30 | cd \$SVN_HOME/$1
|
|---|
| 31 | svn up
|
|---|
| 32 | if [ \$? != 0 ]; then
|
|---|
| 33 | echo "Verify SVN installation"
|
|---|
| 34 | exit -1
|
|---|
| 35 | fi
|
|---|
| 36 | else
|
|---|
| 37 | mkdir -p \$SVN_HOME
|
|---|
| 38 | cd \$SVN_HOME
|
|---|
| 39 | svn co svn+ssh://bcornec@svn.berlios.de/svnroot/repos/mondorescue/branches/$1 $1
|
|---|
| 40 | if [ \$? != 0 ]; then
|
|---|
| 41 | echo "Verify SVN installation"
|
|---|
| 42 | exit -1
|
|---|
| 43 | fi
|
|---|
| 44 | fi
|
|---|
| 45 | echo \$SVN_VM | grep -q "debian"
|
|---|
| 46 | if [ \$? -eq 0 ]; then
|
|---|
| 47 | \$SVN_HOME/$1/tools/mkdeb < /dev/null
|
|---|
| 48 | else
|
|---|
| 49 | echo \$SVN_VM | grep -q "slack"
|
|---|
| 50 | if [ \$? -eq 0 ]; then
|
|---|
| 51 | \$SVN_HOME/$1/tools/mkslack < /dev/null
|
|---|
| 52 | else
|
|---|
| 53 | echo \$SVN_VM | grep -q "gentoo"
|
|---|
| 54 | if [ \$? -eq 0 ]; then
|
|---|
| 55 | \$SVN_HOME/$1/tools/mkemerge < /dev/null
|
|---|
| 56 | else
|
|---|
| 57 | \$SVN_HOME/$1/tools/mkrpm < /dev/null
|
|---|
| 58 | fi
|
|---|
| 59 | fi
|
|---|
| 60 | fi
|
|---|
| 61 | \$SVN_HOME/$1/tools/mkdeliv
|
|---|
| 62 | EOF
|
|---|
| 63 |
|
|---|
| 64 | ipvm=10.0.2.15
|
|---|
| 65 |
|
|---|
| 66 | for m in $SVN_VM; do
|
|---|
| 67 | sp=22`host $m.mondo.musique-ancienne.org | cut -d. -f7`
|
|---|
| 68 | vmp=0
|
|---|
| 69 | if [ ! -f /users/vmplayer/$m.qemu ]; then
|
|---|
| 70 | echo "VM unaccessible. Verify NFS mount"
|
|---|
| 71 | exit -1
|
|---|
| 72 | fi
|
|---|
| 73 | ps auxww | grep qemu | grep -v grep | grep -q /users/vmplayer/$m.qemu
|
|---|
| 74 | if [ $? -ne 0 ]; then
|
|---|
| 75 | # Virtual machine alreday started
|
|---|
| 76 | vmp=1
|
|---|
| 77 | qemu -m 256 $QEMUOPT -redir tcp:${sp}:${ipvm}:22 /users/vmplayer/$m.qemu &
|
|---|
| 78 | sleep 300
|
|---|
| 79 | fi
|
|---|
| 80 | scp -P $sp /tmp/mkmondo bruno@localhost:
|
|---|
| 81 | ssh -p $sp bruno@localhost "chmod 755 ./mkmondo ; ./mkmondo" | tee /tmp/mkvm.log
|
|---|
| 82 | if [ $vmp -eq 1 ]; then
|
|---|
| 83 | ssh -p $sp root@localhost "halt -p"
|
|---|
| 84 | sleep 300
|
|---|
| 85 | proces=`ps auxww | grep qemu | grep -v grep | grep -q /users/vmplayer/$m.qemu | awk '{print $2}'`
|
|---|
| 86 | if [ "$proces" != "" ]; then
|
|---|
| 87 | kill $proces
|
|---|
| 88 | fi
|
|---|
| 89 | fi
|
|---|
| 90 | done
|
|---|