source: branches/2.2.0/tools/build2qemu @ 887

Last change on this file since 887 was 887, checked in by bruno, 13 years ago

Some final improvements for build with Qemu (problem with tar and path with ../..)

  • Property svn:executable set to *
File size: 2.3 KB
Line 
1#!/bin/bash
2#
3# $Id$
4#
5# Script build packages on various distributions with qemu
6#
7
8#if [ _"$1" == _"" ]; then
9    #echo "Syntax: build2qemu [version-tag [vm1]..|vmx]] )"
10    #exit -1
11#fi
12
13# Syntax: build2qemu [version-tag [vm1]..|vmx]]
14
15(
16dname=`dirname $0`
17prem=`echo $dname |cut -c1`
18if [ ${prem} == "/" ]; then
19    export TOOLHOME=$dname
20else
21    export TOOLHOME=${PWD}/$dname
22fi
23
24
25. $TOOLHOME/common-env
26. $TOOLHOME/distro-env
27
28# We need to get $VER and $TAG
29if [ "$1" = "" ]; then
30    LAST=`cat ${TOPDIR}/LAST`
31else
32    LAST=$1
33    shift
34fi
35VER=`echo $LAST | cut -d- -f1`
36TAG=`echo $LAST | cut -d- -f2`
37echo "Working on ${VER}-$TAG"
38
39if [ _"$1" == _"" ]; then
40    export VMS=`cat ${TOOLHOME}/DISTROS` 
41    single=0
42else
43    export VMS="$*"
44    single=1
45fi
46
47cat > $MONDOTMP/mkmondo << EOF
48#!/bin/bash
49
50export LANG="C"
51export LANGUAGE="C"
52export LC_ALL="C"
53export TOOLHOME=$TOOLHOME
54
55$TOOLHOME/build2pkg $LAST < /dev/null
56$TOOLHOME/pkg2ftp $LAST
57EOF
58chmod 755 $MONDOTMP/mkmondo
59
60if [ $single -eq 0 ]; then
61    $TOOLHOME/file2ftp
62fi
63
64# TOPDIR contains ../.. which causes problems to tar
65# so we need to recompute it
66cd $TOPDIR
67dir=`pwd`
68tar cfz $MONDOTMP/mkmondo.tar.gz $TOOLHOME $MONDOTMP/mkmondo $dir/${VER}-$TAG
69
70for m in $VMS; do
71    vmp=0
72    if [ ! -f /users/qemu/$m.qemu ]; then
73            echo "VM unaccessible. Verify NFS mount"
74            rm -rf $MONDOTMP
75            exit -1
76    fi
77    if [ _"$sp" = _"" ]; then
78        export sp=2222
79    fi
80    ps auxww | grep qemu | grep -v grep | grep -q /users/qemu/$m.qemu
81    if [ $? -ne 0 ]; then
82        # Virtual machine alreday started
83        vmp=1
84        $TOOLHOME/mkqemu $m &
85        sleep 300
86    fi
87    scp -P $sp $MONDOTMP/mkmondo.tar.gz ~/.rpmmacros ~/.rpmrc bruno@localhost:
88    rdate=`date "+%m%d%H%M"`
89    ssh -p $sp root@localhost "date $rdate"
90    ssh -p $sp bruno@localhost "cd / ; rm -rf ~bruno/mondo ~bruno/RPMS/BUILD/* ~bruno/RPMS/tmp/* /tmp/* ; tar xfz ~bruno/mkmondo.tar.gz ; $MONDOTMP/mkmondo " | tee $MONDOTMP/mkvm.log
91    #ssh -p $sp bruno@localhost "cd / ; tar xfz ~bruno/mkmondo.tar.gz ; $MONDOTMP/mkmondo ; rm -f $MONDOTMP" | tee $MONDOTMP/mkvm.log
92    if [ $vmp -eq 1 ]; then
93        ssh -p $sp root@localhost "halt -p"
94        sleep 300
95        proces=`ps auxww | grep qemu | grep -v grep | grep /users/qemu/$m.qemu | awk '{print $2}'`
96        if [ "$proces" != "" ]; then
97            kill $proces
98            sleep 10
99        fi
100    fi
101done
102
103# Should be removed at the end
104rm -rf $MONDOTMP
105) 2>&1 | tee /tmp/build2qemu.log
Note: See TracBrowser for help on using the repository browser.