[440] | 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
|
---|
[535] | 14 | export SVN_VM="mdk101 mdk102 mdv2006 rh73 rh9 fc4 fc5 rhel3 rhel4 suse10 sles9 debian31 slackware102 gentoo"
|
---|
[440] | 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
|
---|
[519] | 45 | echo \$SVN_VM | grep -q "debian"
|
---|
| 46 | if [ \$? -eq 0 ]; then
|
---|
| 47 | \$SVN_HOME/$1/tools/mkdeb < /dev/null
|
---|
| 48 | else
|
---|
[535] | 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
|
---|
[519] | 60 | fi
|
---|
[440] | 61 | \$SVN_HOME/$1/tools/mkdeliv
|
---|
| 62 | EOF
|
---|
| 63 |
|
---|
[445] | 64 | ipvm=10.0.2.15
|
---|
[440] | 65 | sp=2222
|
---|
| 66 |
|
---|
| 67 | for m in $SVN_VM; do
|
---|
| 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
|
---|
[519] | 77 | qemu -m 256 $QEMUOPT -redir tcp:${sp}:${ipvm}:22 /users/vmplayer/$m.qemu &
|
---|
| 78 | sleep 300
|
---|
[440] | 79 | fi
|
---|
[441] | 80 | scp -P $sp /tmp/mkmondo bruno@localhost:
|
---|
| 81 | ssh -p $sp bruno@localhost "chmod 755 ./mkmondo ; ./mkmondo" | tee /tmp/mkvm.log
|
---|
[440] | 82 | if [ $vmp -eq 1 ]; then
|
---|
[441] | 83 | ssh -p $sp root@localhost "halt -p"
|
---|
[519] | 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
|
---|
[440] | 89 | fi
|
---|
| 90 | done
|
---|