source: branches/stable/tools/build2qemu @ 721

Last change on this file since 721 was 721, checked in by Bruno Cornec, 14 years ago

TAG removed from source tar ball (was an error)
Debian build working for the first time. Needs probably more work but is encouraging

  • Property svn:executable set to *
File size: 2.1 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
15umask 022
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
47mkdir -p $TMP
48cat > $TMP/mkmondo << EOF
49#!/bin/bash
50
51export LANG="C"
52export LANGUAGE="C"
53export LC_ALL="C"
54export TOOLHOME=$TOOLHOME
55
56$TOOLHOME/build2pkg $LAST < /dev/null
57$TOOLHOME/pkg2ftp $LAST
58EOF
59chmod 755 $TMP/mkmondo
60
61if [ $single -eq 0 ]; then
62    $TOOLHOME/file2ftp
63fi
64cd $TOOLHOME/..
65tar cfz $TMP/mkmondo.tar.gz $TOOLHOME $TMP/mkmondo $TOPDIR/${VER}-$TAG
66
67for m in $VMS; do
68    vmp=0
69    if [ ! -f /users/qemu/$m.qemu ]; then
70            echo "VM unaccessible. Verify NFS mount"
71            rm -rf $TMP
72            exit -1
73    fi
74    if [ _"$sp" = _"" ]; then
75        export sp=2222
76    fi
77    ps auxww | grep qemu | grep -v grep | grep -q /users/qemu/$m.qemu
78    if [ $? -ne 0 ]; then
79        # Virtual machine alreday started
80        vmp=1
81        $TOOLHOME/mkqemu $m &
82        sleep 300
83    fi
84    scp -P $sp $TMP/mkmondo.tar.gz bruno@localhost:
85    rdate=`date "+%m%d%H%M"`
86    ssh -p $sp root@localhost "date $rdate"
87    ssh -p $sp bruno@localhost "cd / ; rm -rf ~bruno/mondo ~bruno/RPMS/BUILD/* ~bruno/RPMS/tmp/* /tmp/* ; tar xfz ~bruno/mkmondo.tar.gz ; $TMP/mkmondo " | tee $TMP/mkvm.log
88    #ssh -p $sp bruno@localhost "cd / ; tar xfz ~bruno/mkmondo.tar.gz ; $TMP/mkmondo ; rm -f $TMP" | tee $TMP/mkvm.log
89    if [ $vmp -eq 1 ]; then
90        ssh -p $sp root@localhost "halt -p"
91        sleep 300
92        proces=`ps auxww | grep qemu | grep -v grep | grep /users/qemu/$m.qemu | awk '{print $2}'`
93        if [ "$proces" != "" ]; then
94            kill $proces
95            sleep 10
96        fi
97    fi
98done
99
100# Should be removed at the end
101rm -rf $TMP
Note: See TracBrowser for help on using the repository browser.