source: MondoRescue/branches/stable/tools/svn2build@ 651

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

Lots of bug fixes on delivery process
Addition of mkannounce to generate announces of new versions automatically

  • Property svn:executable set to *
File size: 3.7 KB
Line 
1#!/bin/bash
2#
3# Creates build environment and files for packages creation from SVN repository
4#
5# $Id$
6#
7
8dname=`dirname $0`
9prem=`echo $dname |cut -c1`
10if [ ${prem} == "/" ]; then
11 export TOOLHOME=$dname
12else
13 export TOOLHOME=${PWD}/$dname
14fi
15
16cd $TOOLHOME
17. ./common-env
18. ./svn-env
19
20DEST=${TOPDIR}/${VER}-$TAG
21mkdir -p $DEST
22
23if [ "$1" = "" ]; then
24 c="mondo-doc mindi mondo"
25else
26 if [ "$1" = "all" ]; then
27 c="mindi-kernel mondo-doc mindi mondo"
28 else
29 c=$1
30 fi
31fi
32
33# Make it safe for SVN commands
34cd ${BASE}/svn
35
36for p in $c; do
37 v=`cat ${SVNBRANCH}/$p/VERSION`
38 echo "Management of $p $v-$REVISION"
39 dest="$p-$v-$TAG"
40 rm -fr $dest
41 svn export ${SVNBRANCH}/$p $dest
42 echo "$REVISION" > $dest/REVISION
43 echo "Generating SVN log file ..."
44 svn log -v ${SVNBRANCH}/$p > $dest/svn.log
45
46 for d in `cat ${TOOLHOME}/DISTROS`; do
47 export ddir=`echo $d | cut -d_ -f1`
48 export dver=`echo $d | cut -d_ -f2`
49 echo "Generating build files for $ddir ($dver)"
50 . $TOOLHOME/distro-env
51
52 # Create conf file dir
53 mkdir -p ${BUILDDIR}
54
55 ddd=`LANG=C ; date '+%Y-%m-%d'`
56 cat > $TMP/mondorescue.mc << EOF
57define(\`TTT', ${TAG})dnl
58define(\`RRR', ${TAG}${suf})dnl
59define(\`VVV', ${v})dnl
60define(\`DDD', ${ddd})dnl
61EOF
62
63 mkdir -p $dest/distributions/$ddir $dest/distributions/${ddir}-$dver
64 if [ "$dtype" = "rpm" ]; then
65 if [ -f $dest/distributions/$ddir/spec.m4 ]; then
66 inc=$dest/distributions/$ddir/spec.m4
67 elif [ -f $dest/distributions/$dfam/spec.m4 ]; then
68 inc=$dest/distributions/$dfam/spec.m4
69 else
70 echo "Unable to build the RPM specfile for this distro. Please report to authors"
71 exit -1
72 fi
73 echo "Using $inc customization to build SPEC file"
74 m4 $TMP/mondorescue.mc $inc $dest/distributions/rpm/$p.spec > $dest/distributions/${ddir}-$dver/$p.spec
75
76 $TOOLHOME/mkchangelog.pl $dtype $p $TMP/$p.spec
77 if [ $? -ne 0 ]; then
78 echo "Unable to create changelog for ${ddir}-$dver/$p.spec"
79 exit -1
80 fi
81 cat $TMP/$p.spec >> $dest/distributions/${ddir}-$dver/$p.spec
82 rm -f $TMP/$p.spec
83 elif [ "$dtype" = "ebuild" ]; then
84 m4 $TMP/mondorescue.mc $dest/distributions/$dfam/$p.ebuild > $dest/distributions/${ddir}-$dver/$p-$v-r$TAG.ebuild
85 elif [ "$dtype" = "deb" ]; then
86 # To be developped
87 m4 $TMP/mondorescue.mc $dest/distributions/$dfam/$p > /dev/null
88 else
89 echo "Unknown Build"
90 fi
91 done
92
93 if [ _"`echo $p | grep mondo-doc`" != _"" ]; then
94 cd $dest
95 for f in mondorescue-howto.sgml *8; do
96 m4 $TMP/mondorescue.mc $f > ${f}.new
97 mv ${f}.new $f
98 done
99 make -f Makefile.howto
100 if [ $? != 0 ]; then
101 exit -1
102 fi
103 make -f Makefile.man
104 if [ $? != 0 ]; then
105 exit -1
106 fi
107 cd ..
108 fi
109
110 if [ _"`echo $p | grep -v kernel | grep mindi`" != _"" ]; then
111 v1=`cat ${SVNBRANCH}/mondo-doc/VERSION`
112 if [ ! -d mondo-doc-$v1-$TAG ]; then
113 echo "mondo-doc should be created before $p"
114 exit -1
115 fi
116 (cd mondo-doc-$v1-$TAG ; make -f Makefile.man install-$p INSTALLDIR=../$dest)
117 rm -f $dest/rootfs/sbin/parted2fdisk-ia64
118 fi
119 if [ "`echo $p | grep -v doc | grep mondo`" != "" ]; then
120 v1=`cat ${SVNBRANCH}/mondo-doc/VERSION`
121 if [ ! -d mondo-doc-$v1-$TAG ]; then
122 echo "mondo-doc should be created before $p"
123 exit -1
124 fi
125 (cd mondo-doc-$v1-$TAG ; make -f Makefile.howto install INSTALLDIR=../$dest/docs/en ; make -f Makefile.man install-$p INSTALLDIR=../$dest/docs/man)
126 (cd $dest ; echo "Bootstraping mondo ... " ; ./bootstrap)
127 fi
128
129 # Finally creates the tar files
130 echo "Creating $p tar files"
131 tar cfhz ${DEST}/$p-$v-$TAG.tar.gz $dest
132 #gzip -cd ${DEST}/$p-$v-$TAG.tar.gz | bzip2 -c3 > ${DEST}/$p-$v-$TAG.tar.bz2
133 #tar cfhj ${DEST}/$p-$v-$TAG.tar.bz2 $dest
134done
135
136rm -f $TMP/mondorescue.mc
137
138echo "Version delivered :"
139echo "-------------------"
140echo "${VER}-$TAG"
141echo "-------------------"
142echo "${VER}-$TAG" > ${TOPDIR}/LAST
143exit 0
Note: See TracBrowser for help on using the repository browser.