]> git.saurik.com Git - wxWidgets.git/blob - build/script/rebuild-makefiles.sh
glibc's vswprintf doesn't nul terminate on truncation.
[wxWidgets.git] / build / script / rebuild-makefiles.sh
1 #!/bin/sh
2
3 CURDATE=`date -I`
4 WORKDIR=/home/bake/bkl-cronjob
5 FTPDIR=/home/ftp/pub
6 LD_LIBRARY_PATH=/usr/local/lib
7
8 update_from_cvs()
9 {
10 (
11 cd ${WORKDIR}/wxWidgets && cvs -z3 update -P -d
12 )
13 (
14 cd ${WORKDIR}/wxGTK && cvs -z3 update -P
15 )
16 }
17
18
19 regenerate_makefiles()
20 {
21 (cd ${WORKDIR}/wxWidgets/build/bakefiles && nice python -O ${WORKDIR}/bakefile/bin/bakefile_gen)
22 }
23
24
25 do_package()
26 {
27 archtype=$1
28 format=$2
29 shift ; shift
30
31 rm -f ${WORKDIR}/archives/wx-mk-${format}-*
32
33 cd ${WORKDIR}/wxWidgets
34
35 files=""
36 for i in $* ; do
37 files="$files `find -name "$i"`"
38 done
39
40 if test $archtype = tar ; then
41 tar czf ../archives/wx-mk-${format}-${CURDATE}.tar.gz $files
42 elif test $archtype = zip ; then
43 zip -l -q -9 ../archives/wx-mk-${format}-${CURDATE}.zip $files
44 fi
45
46 cd ..
47 }
48
49 package_cvs()
50 {
51 rm -f ${WORKDIR}/archives/wx-cvs-$1*
52 cd ${WORKDIR}/
53 ##tar --exclude=*.ds* -jcf ./archives/test.tar.bz2 ./wxGTK
54 tar --exclude=*.ds* -jcf ./archives/wx-cvs-$1-${CURDATE}.tar.bz2 ./$2
55 }
56
57
58 package_makefiles()
59 {
60 do_package tar autoconf Makefile.in autoconf_inc.m4
61 do_package zip borland makefile.bcc config.bcc
62 do_package zip mingw makefile.gcc config.gcc
63 do_package zip dmars makefile.dmc config.dmc makefile.dms config.dms
64 do_package zip watcom makefile.wat config.wat
65 do_package zip msvc makefile.vc config.vc
66 do_package zip msvc6prj '*.dsp' '*.dsw'
67 do_package zip evcprj '*.vcp' '*.vcw'
68 }
69
70 copy_files ()
71 {
72 ##delete old files and then copy new ones, add a symlink
73 ## CVS
74 find ${FTPDIR}/CVS_HEAD/files -type f -name wx-cvs\* -mtime +6 | xargs rm -rf
75 cp ${WORKDIR}/archives/wx-cvs-* ${FTPDIR}/CVS_HEAD/files
76
77 rm ${FTPDIR}/CVS_HEAD/wx* ${FTPDIR}/CVS_HEAD/MD5SUM
78 for f in `find ${FTPDIR}/CVS_HEAD/files -type f -name wx-cvs\* -mmin -601` ; do
79 ln -s $f `echo $f | sed -e "s/-${CURDATE}//" | sed -e "s|/files||" `
80 done
81 md5sum ${FTPDIR}/CVS_HEAD/wx* > ${FTPDIR}/CVS_HEAD/MD5SUM
82 ## make sure updated at is really last
83 sleep 10
84 echo cvs checkout done at `date -u` > ${FTPDIR}/CVS_HEAD/updated_at.txt
85
86 ## Makefiles
87 find ${FTPDIR}/CVS_Makefiles/files -type f -name wx-mk\* -mtime +3 | xargs rm -rf
88 cp ${WORKDIR}/archives/wx-mk-* ${FTPDIR}/CVS_Makefiles/files
89
90 rm ${FTPDIR}/CVS_Makefiles/wx* ${FTPDIR}/CVS_Makefiles/MD5SUM
91 ##there must be an easier way of doing these links...
92 for f in `find ${FTPDIR}/CVS_Makefiles/files -type f -name wx-mk\* -mmin -601` ; do
93 ln -s $f `echo $f | sed -e "s/-${CURDATE}//" | sed -e "s|/files||" `
94 done
95 md5sum ${FTPDIR}/CVS_Makefiles/wx* > ${FTPDIR}/CVS_Makefiles/MD5SUM
96 sleep 10
97 echo CVS Makefiles generated from bakefiles last updated at `date -u` > ${FTPDIR}/CVS_Makefiles/updated_at.txt
98
99
100 ## Docs...
101 find ${FTPDIR}/CVS_Docs/files -type f -name wx-do\* -mtime +3 | xargs rm -rf
102 cp ${WORKDIR}/archives/wx-docs-* ${FTPDIR}/CVS_Docs/files
103
104 rm ${FTPDIR}/CVS_Docs/wx* ${FTPDIR}/CVS_Docs/MD5SUM
105 ##there must be an easier way of doing these links...
106 for f in `find ${FTPDIR}/CVS_Docs/files -type f -name wx-do\* -mmin -601` ; do
107 ln -s $f `echo $f | sed -e "s/-${CURDATE}//" | sed -e "s|/files||" `
108 done
109 md5sum ${FTPDIR}/CVS_Docs/wx* > ${FTPDIR}/CVS_Docs/MD5SUM
110 sleep 10
111 echo CVS Documentation generated from bakefiles last updated at `date -u` > ${FTPDIR}/CVS_Docs/updated_at.txt
112 }
113
114 do_texrtf ()
115 {
116
117 ##parameters : subdir_of_tex index.tex dir_under_wxWidgets
118 rm ${WORKDIR}/archives/html/$1/*
119 /usr/local/bin/tex2rtf ${WORKDIR}/wxWidgets/$3/docs/latex/$1/$2 ${WORKDIR}/archives/html/$1/$1 -twice -html -macros ${WORKDIR}/wxWidgets/docs/latex/wx/tex2rtf_css.ini
120 cp ${WORKDIR}/wxWidgets/$3/docs/latex/$1/*.gif ${WORKDIR}/archives/html/$1
121 cp ${WORKDIR}/wxWidgets/$3/docs/latex/$1/*.css ${WORKDIR}/archives/html/$1
122 cd ${WORKDIR}/archives/html/$1
123 zip -l -q -9 ${WORKDIR}/archives/htb/$1.htb *.html *.css wx.hhc wx.hhp wx.hhk
124 zip -q -9 ${WORKDIR}/archives/htb/$1.htb *.gif
125 }
126
127 ##this one for tex2rtf as its latex docs aren't in latex...
128 do_util_texrtf ()
129 {
130 ##parameters : subdir_of_tex index.tex
131 rm ${WORKDIR}/archives/html/$1/*
132 /usr/local/bin/tex2rtf ${WORKDIR}/wxWidgets/utils/$1/docs/$2 ${WORKDIR}/archives/html/$1/$1 -twice -html -macros ${WORKDIR}/wxWidgets/docs/latex/wx/tex2rtf_css.ini
133 cp ${WORKDIR}/wxWidgets/utils/$1/docs/*.gif ${WORKDIR}/archives/html/$1
134 cp ${WORKDIR}/wxWidgets/utils/$1/docs/*.css ${WORKDIR}/archives/html/$1
135 cd ${WORKDIR}/archives/html/$1
136 zip -l -q -9 ${WORKDIR}/archives/htb/$1.htb *.html *.css wx.hhc wx.hhp wx.hhk
137 zip -q -9 ${WORKDIR}/archives/htb/$1.htb *.gif
138 }
139
140 do_docs ()
141 {
142 ##remove files, then regenerate
143 rm ${WORKDIR}/archives/wx-docs*
144 rm ${WORKDIR}/archives/htb/*.*
145
146 ######### dir index.tex rootdir
147 do_texrtf wx manual.tex
148 do_texrtf book book.tex
149 do_texrtf svg dcsvg.tex contrib
150 do_texrtf ogl ogl.tex contrib
151 do_texrtf mmedia mmedia.tex contrib
152 do_texrtf gizmos manual.tex contrib
153 do_texrtf fl fl.tex contrib
154 do_util_texrtf tex2rtf tex2rtf.tex
155
156 cd ${WORKDIR}/archives/
157 tar zcvf ${WORKDIR}/archives/wx-docs-html-${CURDATE}.tar.gz html/wx/*.html html/wx/*.gif html/wx/*.css
158 tar zcvf ${WORKDIR}/archives/wx-docs-extra-html-${CURDATE}.tar.gz `find . -name 'wx' -prune -o -name '*.html' -print`
159
160 tar zcvf ${WORKDIR}/archives/wx-docs-htb-${CURDATE}.tar.gz htb/wx.htb
161 tar zcvf ${WORKDIR}/archives/wx-docs-extra-htb-${CURDATE}.tar.gz --exclude wx.htb htb/*.htb
162
163 ##remove .con files
164 rm ${WORKDIR}/*.con
165
166 }
167
168
169 add_win_files ()
170 {
171 ### starts with wx-docs-xxx.zip
172 for f in `find ${WORKDIR}/archives/win/ -name wx\*.ZIP ` ; do
173 mv $f ${WORKDIR}/archives/`basename $f | tr -d ".ZIP"`-${CURDATE}.zip
174 done
175
176 rm ${WORKDIR}/archives/*.exe
177 for f in `find ${WORKDIR}/archives/win/ -name wx\*.EXE ` ; do
178 mv $f ${WORKDIR}/archives/`basename $f | tr -d ".EXE"`-${CURDATE}.exe
179 done
180
181 }
182
183 update_from_cvs
184 regenerate_makefiles
185 package_makefiles
186 package_cvs All wxWidgets
187 package_cvs Gtk wxGTK
188
189 do_docs
190 add_win_files
191
192 copy_files
193
194 exit 0