HowTos/NewPacket: More stuff
[senf.git] / admin / build.sh
1 #!/bin/sh -e
2
3 cd /home/senf/src
4
5 rm -f build.log ../upload.log
6 touch build.log ../upload.log
7
8 trap 'exec >/dev/null 2>&1; cat build.log ../upload.log 1>&3; exit 1' ERR
9
10 exec 3>&1 >build.log 2>&1
11
12 echo -n '# Starting build at '; date --utc
13
14 if [ "$1" == "-c" ]; then
15     echo '$ find -mindepth 1 -maxdepth 1 ! -name .svn | xargs rm -rf'
16     find -mindepth 1 -maxdepth 1 ! -name .svn ! -name build.log | xargs rm -rf
17 fi
18
19 echo '$ svn update'
20 svn update | tee ../svn-update.log
21 if grep -qv '^At ' ../svn-update.log; then
22     echo '$ rm -f doc/html/html.stamp'
23     rm -f doc/html/html.stamp
24 fi
25 rm -f ../svn-update.log
26
27 echo "\$ nice scons -kj2 all ${DOXYGEN:+DOXYGEN="$DOXYGEN"}"
28 nice scons -kj2 all ${DOXYGEN:+DOXYGEN="$DOXYGEN"}
29 echo "\$ nice scons linklint ${DOXYGEN:+DOXYGEN="$DOXYGEN"}"
30 nice scons linklint ${DOXYGEN:+DOXYGEN="$DOXYGEN"}
31 echo "\$ nice scons fixlinks ${DOXYGEN:+DOXYGEN="$DOXYGEN"}"
32 nice scons fixlinks ${DOXYGEN:+DOXYGEN="$DOXYGEN"}
33 echo -n '# Build completed at '; date --utc
34
35 exec >../upload.log 2>&1
36
37 if [ "$1" == "-c" ]; then
38     cp build.log build-full.log
39 fi
40
41 echo -n '# Upload started at '; date --utc
42 rsync -rzv --del --delete-excluded \
43         --filter="- .svn" \
44         --filter="- linklint" \
45         --filter="- debian" \
46         --filter="+ */" \
47         --filter="+ *.html" \
48         --filter="+ *.css" \
49         --filter="+ *.png" \
50         --filter="+ *.php" \
51         --filter="+ *.idx" \
52         --filter="+ *.log" \
53         --filter="- *" \
54         . g0dil@shell.berlios.de://home/groups/senf/htdocs/src
55 echo -n '# Upload completed at '; date --utc
56
57 exec >/dev/null 2>&1
58 scp ../upload.log g0dil@shell.berlios.de:/home/groups/senf/htdocs/upload.log