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

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

First attempt to automize changelog generation for packages from the std ChangeLogs files from mindi/mondo

  • Property svn:executable set to *
File size: 3.9 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 $dest/distributions/${ddir}-$dver/$p.spec
77 if [ $? -ne 0 ]; then
78 echo "Unable to create changelog for ${ddir}-$dver/$p.spec"
79 exit -1
80 fi
81
82 ddate=`LANG=C ; date "+%a %b %d %Y"`
83 cat > $dest/distributions/${ddir}-$dver/$p.changelog.new << EOF
84* $ddate Bruno Cornec <bruno@mondorescue.org> VVV-RRR
85- Updated to VVV-r${REVISION}
86
87EOF
88 elif [ "$dtype" = "ebuild" ]; then
89 m4 /tmp/mondorescue.mc $dest/distributions/$dfam/$p.ebuild > $dest/distributions/${ddir}-$dver/$p-$v-r$TAG.ebuild
90 elif [ "$dtype" = "deb" ]; then
91 # To be developped
92 m4 /tmp/mondorescue.mc $dest/distributions/$dfam/$p > /dev/null
93 else
94 echo "Unknown Build"
95 fi
96 done
97
98 if [ _"`echo $p | grep mondo-doc`" != _"" ]; then
99 cd $dest
100 for f in mondorescue-howto.sgml *8; do
101 m4 /tmp/mondorescue.mc $f > ${f}.new
102 mv ${f}.new $f
103 done
104 make -f Makefile.howto
105 if [ $? != 0 ]; then
106 exit -1
107 fi
108 make -f Makefile.man
109 if [ $? != 0 ]; then
110 exit -1
111 fi
112 cd ..
113 fi
114
115 if [ _"`echo $p | grep -v kernel | grep mindi`" != _"" ]; then
116 v1=`cat ${SVNBRANCH}/mondo-doc/VERSION`
117 if [ ! -d mondo-doc-$v1-$TAG ]; then
118 echo "mondo-doc should be created before $p"
119 exit -1
120 fi
121 (cd mondo-doc-$v1-$TAG ; make -f Makefile.man install-$p INSTALLDIR=../$dest)
122 rm -f $dest/rootfs/sbin/parted2fdisk-ia64
123 fi
124 if [ "`echo $p | grep -v doc | grep mondo`" != "" ]; then
125 v1=`cat ${SVNBRANCH}/mondo-doc/VERSION`
126 if [ ! -d mondo-doc-$v1-$TAG ]; then
127 echo "mondo-doc should be created before $p"
128 exit -1
129 fi
130 (cd mondo-doc-$v1-$TAG ; make -f Makefile.howto install INSTALLDIR=../$dest/docs/en ; make -f Makefile.man install-$p INSTALLDIR=../$dest/docs/man)
131 (cd $dest ; echo "Bootstraping mondo ... " ; ./bootstrap)
132 fi
133
134 # Finally creates the tar files
135 echo "Creating $p tar files"
136 tar cfhz ${DEST}/$p-$v-$TAG.tar.gz $dest
137 #gzip -cd ${DEST}/$p-$v-$TAG.tar.gz | bzip2 -c3 > ${DEST}/$p-$v-$TAG.tar.bz2
138 #tar cfhj ${DEST}/$p-$v-$TAG.tar.bz2 $dest
139done
140
141rm -f /tmp/mondorescue.mc
142
143echo "Version delivered :"
144echo "-------------------"
145echo "${VER}-$TAG"
146echo "-------------------"
147echo "${VER}-$TAG" > ${TOPDIR}/LAST
148exit 0
Note: See TracBrowser for help on using the repository browser.