3
# Generates a Qwt package from sourceforge svn
5
# Usage: svn2package.sh [-b|--branch <svn-branch>] [packagename]
8
##########################
10
##########################
13
echo "Usage: $0 [-b|--branch <svn-branch>] [packagename]"
17
################################
19
################################
21
function checkoutQwt() {
32
svn -q co https://qwt.svn.sourceforge.net/svnroot/qwt/$1/$2
35
echo "Can't access sourceforge SVN"
46
##########################
48
##########################
58
find . -name .svn -print | xargs rm -r
61
rm admin/svn2package.sh
63
PROFILES="qwtconfig.pri"
64
for PROFILE in $PROFILES
66
sed -e 's/= debug/= release/' $PROFILE > $PROFILE.sed
67
mv $PROFILE.sed $PROFILE
70
HEADERS=`find . -type f -name '*.h' -print`
71
SOURCES=`find . -type f -name '*.cpp' -print`
72
PROFILES=`find . -type f -name '*.pro' -print`
73
PRIFILES=`find . -type f -name '*.pri' -print`
75
for EXPANDFILE in $HEADERS $SOURCES $PROFILES $PRIFILES
77
expand -4 $EXPANDFILE > $EXPANDFILE.expand
78
mv $EXPANDFILE.expand $EXPANDFILE
81
for SRCFILE in $SOURCES $PROFILES $PRIFILES
83
sed -e '/#warning/d' $SRCFILE > $SRCFILE.sed
84
mv $SRCFILE.sed $SRCFILE
90
##########################
92
##########################
104
# We need LateX for the qwtdoc.pdf
106
sed -e '/GENERATE_LATEX/d' -e '/GENERATE_MAN/d' -e '/PROJECT_NUMBER/d' Doxyfile > Doxyfile.doc
107
echo 'GENERATE_LATEX = YES' >> Doxyfile.doc
108
echo 'GENERATE_MAN = YES' >> Doxyfile.doc
109
echo "PROJECT_NUMBER = $VERSION" >> Doxyfile.doc
111
cp ../INSTALL ../COPYING ./
113
doxygen Doxyfile.doc > /dev/null
119
rm Doxyfile.doc Doxygen.log INSTALL COPYING
123
make > /dev/null 2>&1
131
mv latex/refman.pdf pdf/qwtdoc.pdf
138
##########################
140
##########################
143
# At least one unix2dos writes to stdout instead of overwriting the input.
144
# The -q option is always enabled in stdin->stdout mode.
149
##########################
150
# prepare4Win dirname
151
##########################
153
function prepare4Win {
163
# win files, but not uptodate
165
BATCHES=`find . -type f -name '*.bat' -print`
166
HEADERS=`find . -type f -name '*.h' -print`
167
SOURCES=`find . -type f -name '*.cpp' -print`
168
PROFILES=`find . -type f -name '*.pro' -print`
169
PRIFILES=`find . -type f -name '*.pri' -print`
171
for FILE in $BATCHES $HEADERS $SOURCES $PROFILES $PRIFILES
179
##########################
180
# prepare4Unix dirname
181
##########################
183
function prepare4Unix {
196
##########################
198
##########################
205
while [ $# -gt 0 ] ; do
210
shift; SVNDIR=branches; BRANCH=$1; shift;;
212
QWTDIR=qwt-$1 ; VERSION=$1; shift;;
216
if [ "$QWTDIR" == "" ]
222
TMPDIR=/tmp/$QWTDIR-tmp
224
echo -n "checkout to $TMPDIR ... "
225
checkoutQwt $SVNDIR $BRANCH $TMPDIR
229
echo -n "generate documentation ... "
230
createDocs $TMPDIR/doc
231
mv $TMPDIR/doc/pdf/qwtdoc.pdf $QWTDIR.pdf
232
rmdir $TMPDIR/doc/pdf
237
echo -n "create packages in $DIR ... "
242
cp -a $TMPDIR $QWTDIR
244
tar cfz $QWTDIR.tgz $QWTDIR
245
tar cfj $QWTDIR.tar.bz2 $QWTDIR
248
cp -a $TMPDIR $QWTDIR
250
zip -r $QWTDIR.zip $QWTDIR > /dev/null
252
rm -rf $TMPDIR $QWTDIR
254
mv $QWTDIR.tgz $QWTDIR.tar.bz2 $QWTDIR.zip $DIR/