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
Line 
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
14 export SVN_VM="mdk101 mdk102 mdv2006 rh73 rh9 fc4 fc5 rhel3 rhel4 sles9 debian31"
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
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
51\$SVN_HOME/$1/tools/mkdeliv
52EOF
53
54ipvm=10.0.2.15
55
56
57for m in $SVN_VM; do
58 sp=22`host $m.mondo.musique-ancienne.org | cut -d. -f7`
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
68 qemu -m 256 $QEMUOPT -redir tcp:${sp}:${ipvm}:22 /users/vmplayer/$m.qemu &
69 sleep 300
70 fi
71 scp -P $sp /tmp/mkmondo bruno@localhost:
72 ssh -p $sp bruno@localhost "chmod 755 ./mkmondo ; ./mkmondo" | tee /tmp/mkvm.log
73 if [ $vmp -eq 1 ]; then
74 ssh -p $sp root@localhost "halt -p"
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
80 fi
81done
Note: See TracBrowser for help on using the repository browser.