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

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

Build process in 3 steps:

svn2build creates tar files from SVN (works mostly)
build2pkg creates packages from tar files (works mostly)
build2qemu (has to be created from mkqemu) will create packages for all supported virtuel machines

  • Property svn:executable set to *
File size: 1.6 KB
Line 
1#!/bin/bash
2#
3# $Id$
4#
5# Script build packages on various distributions with qemu
6#
7
8if [ _"$1" == _"" ]; then
9 echo "Syntax: build2qemu [version-tag [vm1]..|vmx]] )"
10 exit -1
11fi
12
13. $TOOLHOME/common-env
14. $TOOLHOME/distro-env
15
16# We need to get $VER and $TAG
17if [ "$1" = "" ]; then
18 LAST=`cat ${TOPDIR}/LAST`
19else
20 LAST=$1
21 shift
22fi
23VER=`echo $LAST | cut -d- -f1`
24TAG=`echo $LAST | cut -d- -f2`
25echo "Working on ${VER}-$TAG"
26
27if [ _"$1" == _"" ]; then
28 VM=`cat ${TOOLHOME}/DISTROS`
29 VMS=""
30 for $v in $VM; do
31 VMS="$VMS `echo $VM | cut -d_ -f1`"
32 done
33else
34 export VMS="$1"
35fi
36
37
38cat > $TMP/mkmondo << EOF
39#!/bin/bash
40
41export LANG="C"
42export LANGUAGE="C"
43export LC_ALL="C"
44export TOOLHOME=$TOOLHOME
45
46\$TOOLHOME/build2pkg
47\$TOOLHOME/mkdeliv
48EOF
49chmod 755 $TMP/mkmondo
50
51ipvm=10.0.2.15
52sp=2222
53
54cd $TOOLHOME/..
55tar cvfz $TMP/mkmondo.tar.gz $TOOLHOME/tools $TMP/mkmondo $TOPDIR/${VER}-$TAG
56
57for m in $VMS; do
58 vmp=0
59 if [ ! -f /users/vmplayer/$m.qemu ]; then
60 echo "VM unaccessible. Verify NFS mount"
61 exit -1
62 fi
63 ps auxww | grep qemu | grep -v grep | grep -q /users/vmplayer/$m.qemu
64 if [ $? -ne 0 ]; then
65 # Virtual machine alreday started
66 vmp=1
67 qemu -m 256 $QEMUOPT -redir tcp:${sp}:${ipvm}:22 /users/vmplayer/$m.qemu &
68 sleep 300
69 fi
70 scp -P $sp $TMP/mkmondo.tar.gz bruno@localhost:
71 ssh -p $sp bruno@localhost "cd / ; tar xvfz $TMP/mkmondo.tar.gz ; $TMP/mkmondo" | tee $TMP/mkvm.log
72 if [ $vmp -eq 1 ]; then
73 ssh -p $sp root@localhost "halt -p"
74 sleep 300
75 proces=`ps auxww | grep qemu | grep -v grep | grep -q /users/vmplayer/$m.qemu | awk '{print $2}'`
76 if [ "$proces" != "" ]; then
77 kill $proces
78 fi
79 fi
80done
Note: See TracBrowser for help on using the repository browser.