source: MondoRescue/branches/stable/tools/mkqemu@ 464

Last change on this file since 464 was 464, checked in by bcornec, 18 years ago

Addition of changelog for rpms
qemu usage is now more precise
qemu script now kill vm after a certain amount of time (mandrake needs that)

  • Property svn:executable set to *
File size: 1.8 KB
RevLine 
[440]1#!/bin/bash
2#
3# $Id$
4#
5# Script allowing mondo packages production on various distributions with qemu
6#
7
8if [ _"$1" == _"" ]; then
9 echo "Syntax: mkqemu [mondo version] ([vm].. )"
10 exit -1
11fi
12
13if [ _"$2" == _"" ]; then
[464]14 export SVN_VM="mdk101 mdk102 mdv2006 rh73 rh9 fc4 fc5 rhel3 rhel4 sles9 debian31"
[440]15else
16 export SVN_VM="$2"
17fi
18
19cat > /tmp/mkmondo << EOF
20#!/bin/bash
21
22export SVN_HOME=\$HOME/mondo/svn/branches
23export SVN_SSH="ssh -l bcornec"
24export SVN_EDITOR=vim
25export LANG="C"
26export LANGUAGE="C"
27export LC_ALL="C"
28
29if [ -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
36else
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
44fi
[464]45echo \$SVN_VM | grep -q "debian"
46if [ \$? -eq 0 ]; then
47 \$SVN_HOME/$1/tools/mkdeb < /dev/null
48else
49 \$SVN_HOME/$1/tools/mkrpm < /dev/null
50fi
[440]51\$SVN_HOME/$1/tools/mkdeliv
52EOF
53
[445]54ipvm=10.0.2.15
[440]55
[464]56
[440]57for m in $SVN_VM; do
[452]58 sp=22`host $m.mondo.musique-ancienne.org | cut -d. -f7`
[440]59 vmp=0
60 if [ ! -f /users/vmplayer/$m.qemu ]; then
61 echo "VM unaccessible. Verify NFS mount"
62 exit -1
63 fi
64 ps auxww | grep qemu | grep -v grep | grep -q /users/vmplayer/$m.qemu
65 if [ $? -ne 0 ]; then
66 # Virtual machine alreday started
67 vmp=1
[464]68 qemu -m 256 $QEMUOPT -redir tcp:${sp}:${ipvm}:22 /users/vmplayer/$m.qemu &
69 sleep 300
[440]70 fi
[441]71 scp -P $sp /tmp/mkmondo bruno@localhost:
72 ssh -p $sp bruno@localhost "chmod 755 ./mkmondo ; ./mkmondo" | tee /tmp/mkvm.log
[440]73 if [ $vmp -eq 1 ]; then
[441]74 ssh -p $sp root@localhost "halt -p"
[464]75 sleep 300
76 proces=`ps auxww | grep qemu | grep -v grep | grep -q /users/vmplayer/$m.qemu | awk '{print $2}'`
77 if [ "$proces" != "" ]; then
78 kill $proces
79 fi
[440]80 fi
81done
Note: See TracBrowser for help on using the repository browser.