17 : ${date:=`date +%Y%m%d`}
19 echo "date stamp: $date"
23 version=2-svntest-$date
30 versiontag=$versiontag
36 basepk3=$base/data20080229.pk3
39 nexprodir=$base/nexuiz/pro
40 dpdir=$base/darkplaces
43 buildfiles=$base/nexuiz/misc/buildfiles
44 mingwdlls=$buildfiles/w32
45 osxapps=$buildfiles/osx
46 copystrip=$buildfiles/copystrip
47 zipdiff=$base/nexuiz/misc/zipdiff
48 fteqccdir="$base/fteqcc"
52 aft="perl -I/chroot/debian-etch/usr/share/aft /chroot/debian-etch/usr/bin/aft"
57 7za a -tzip -mx=9 "$@"
61 #if [ -n "$EXPERIMENTAL" ]; then
62 # basepk3=$base/data20071231.pk3 # newer build to make smaller patches
66 # TODO normalize the builds
67 platforms='x86 amd64 osx'
84 rm -f "$fteqccdir"/*.o
85 rm -f "$fteqccdir"/*.bin
86 rsync --exclude "*.o" --exclude "*.d" --exclude "nexuiz-*" --delete-excluded --delete -zvaSHP . "$copystrip" "$fteqccdir" "$host:$path"
87 ssh "$host" ". ~/.profile && cd $path && COPYSTRIP_STRIP=$strip PATH=$path/copystrip:\$PATH make $makeflags clean nexuiz && cd ${fteqccdir##*/} && make $makeflags $fteqcc_cflags"
88 rsync --exclude "*.o" --exclude "*.d" --delete-excluded --delete -zvaSHP "$host:$path/." .
89 for P in -dedicated -sdl -glx -wgl -agl -dedicated.exe -sdl.exe .exe; do
90 [ -f nexuiz$P ] && mv nexuiz$P "$tmpdir/$prefix$P"
91 [ -f nexuiz$P-withdebug ] && mv nexuiz$P-withdebug "$tmpdir/debuginfo/$prefix$P"
95 mv "${fteqccdir##*/}"/fteqcc.exe "$tmpdir/fteqcc/$fteqccname"
98 mv "${fteqccdir##*/}"/fteqcc.bin "$tmpdir/fteqcc/$fteqccname"
106 buildon eos.thruhere.net nexuiz-linux-686 fteqcc-linux-686 /tmp/Darkplaces.build 'CC="gcc -g" DP_MODPLUG_STATIC_LIBDIR=/home/divverent/modplug-i386/lib' strip
107 buildon alientrap.org nexuiz-linux-x86_64 fteqcc-linux-x86_64 /tmp/Darkplaces.build 'CC="gcc -g -Wl,--hash-style=sysv" DP_MODPLUG_STATIC_LIBDIR=/home/divverent/modplug-x86_64/lib' strip
108 buildon alientrap.org nexuiz fteqcc.exe /tmp/Darkplaces.build 'DP_MAKE_TARGET=mingw CC="/chroot/debian-etch/usr/bin/i586-mingw32msvc-gcc -g -DSUPPORTDIRECTX -I/home/divverent/dxheaders" WINDRES=/chroot/debian-etch/usr/bin/i586-mingw32msvc-windres SDL_CONFIG=/home/divverent/sdl-win32/SDL-1.2.13/bin/sdl-config' /chroot/debian-etch/usr/bin/i586-mingw32msvc-strip
109 buildon mac.alientrap.org nexuiz-osx fteqcc-osx /tmp/Darkplaces.build 'CC="gcc -g -arch i386 -arch ppc -isysroot /Developer/SDKs/MacOSX10.4u.sdk"' strip
110 mv "$tmpdir/nexuiz-osx-agl" "$tmpdir/Nexuiz.app/Contents/MacOS/nexuiz-osx-agl-bin"
111 mv "$tmpdir/nexuiz-osx-sdl" "$tmpdir/Nexuiz-SDL.app/Contents/MacOS/nexuiz-osx-sdl-bin"
115 while [ -f "$zipdir/nexuiz$date$i$ext.zip" ]; do
119 i=`echo "$i" | tr a-y b-z`
124 echo "Using build name nexuiz$date$ext"
131 conflicts=`find "$dpdir" "$nexdir" -name '*.orig' -o -name '*.rej' -o -name '*.mine' -o -name '.#*' -o -name '.*~'`
132 if [ -n "$conflicts" ]; then
133 echo "CONFLICTS OR UNNEEDED FILES HAVE BEEN FOUND!"
134 echo "NOT PROCEEDING"
148 if [ -s patches/series ]; then
149 quilt push -a # apply all patches
152 cp -r "$osxapps"/*.app "$tmpdir"
153 mkdir "$tmpdir/debuginfo"
154 mkdir "$tmpdir/fteqcc"
156 svn export "$fteqccdir" "$tmpdir/fteqcc/source"
157 svn info "$fteqccdir" > "$tmpdir/fteqcc/source/fteqcc-base-revision.txt"
158 fteqccrev=$((`grep "Last Changed Rev:" "$tmpdir/fteqcc/source/fteqcc-base-revision.txt" | cut -d : -f 2`))
159 echo "fteqcc rev $fteqccrev"
161 rm -f *.exe nexuiz-* *-withdebug* *.o
164 rm -f *.exe nexuiz-* *-withdebug '.#'* *.o
165 rm -rf fteqcc copystrip
169 cp "$nexdir/"nexuiz-*.sh "$tmpdir/"
170 cp "$nexdir/gpl.txt" "$tmpdir/"
173 svn export . "$tmpdir/data"
174 svn info . > "$tmpdir/data/nexuiz-data-base-revision.txt"
175 svn log > "$tmpdir/data/ChangeLog"
178 svn export . "$tmpdir/pro"
181 svn export . "$tmpdir/Docs"
184 mkdir -p "$tmpdir/sources"
185 mk7z ../sources/gamesource$date.zip qcsrc nexuiz-data-base-revision.txt ChangeLog
188 svn export . "$tmpdir/darkplaces"
189 svn info > "$tmpdir/darkplaces/nexuiz-base-revision.txt"
190 svn diff > "$tmpdir/darkplaces/nexuiz-engine-changes.diff"
191 svn log > "$tmpdir/darkplaces/ChangeLog"
194 mk7z "$tmpdir/sources/enginesource$date.zip" "darkplaces"
198 zip -9r "$tmpdir/sources/fteqcc-binaries-and-source-rev$fteqccrev.zip" "fteqcc"
205 cd "$tmpdir/data/qcsrc/$menuqc"
206 "$fteqccdir/fteqcc.bin" $fteqccflags
208 cd "$tmpdir/data/qcsrc/server"
209 "$fteqccdir/fteqcc.bin" $fteqccflags
211 rm -rf "$tmpdir/data/qcsrc"
214 perl -pi -e '/^#---SET nexversion=([0-9.]*)$/ and $_ = "#---SET nexversion='$version'\n"' FAQ.aft
215 perl -pi -e '/^\s*Version ([0-9.]*)<\/div>$/ and $_ = "Version '$version'</div>\n"' Readme.htm
216 cp "$dpdir/darkplaces.txt" .
222 mv common-spog.pk3 ..
223 perl -pi -e '/^set g_nexuizversion "?([0-9.]*)[^"]*"?/ and $_ = "set g_nexuizversion '$version'\n"' default.cfg
224 if [ -n "$versiontag" ]; then
225 perl -pi -e '/^set g_nexuizversion/ and $_ = "showbrand 3\n$_"' default.cfg
226 cp "$buildfiles/brand/$versiontag.tga" gfx/brand.tga
229 echo "$defaultcfg" >> default.cfg
233 perl -pi -e '/^set g_nexuizversion "?([0-9.]*)[^"]*"?/ and $_ = "set g_nexuizversion '$version-pro'\n"' default.cfg
234 if [ -n "$versiontag" ]; then
235 perl -pi -e '/^set g_nexuizversion/ and $_ = "showbrand 3\n$_"' default.cfg
238 echo "$defaultcfg" >> default.cfg
244 mv data.pk3 data/data$tag$date.pk3
245 mv common-spog.pk3 data/
248 mv pro.pk3 pro/data$tag${date}pro.pk3
250 cp -r "$mingwdlls"/* .
252 chmod 644 *.dll *.exe
257 find . -name .svn -exec rm -rf {} \; -prune
259 rm -f "$zipdir/nexuiz$date$ext.zip"
260 zip $zipflags -9yr "$zipdir/nexuiz$date$ext.zip" Nexuiz/gpl.txt Nexuiz/nexuiz* Nexuiz/Nexuiz* Nexuiz/*.dll Nexuiz/sources Nexuiz/Docs Nexuiz/data/data$tag$date.pk3 Nexuiz/data/common-spog.pk3 Nexuiz/pro/*
261 ln -snf nexuiz$date$ext.zip "$zipdir/nexuiz-$newest.zip"
263 rm -f "$zipdir/nexuizengineonly$date$ext.zip"
264 zip $zipflags -9yr "$zipdir/nexuizengineonly$date$ext.zip" Nexuiz/gpl.txt Nexuiz/nexuiz* Nexuiz/Nexuiz* Nexuiz/*.dll
265 ln -snf nexuizengineonly$date$ext.zip "$zipdir/nexuizengineonly-$newest.zip"
267 rm -f "$zipdir/nexuizsource$date$ext.zip"
268 zip $zipflags -9yr "$zipdir/nexuizsource$date$ext.zip" Nexuiz/gpl.txt Nexuiz/sources
269 ln -snf nexuizsource$date$ext.zip "$zipdir/nexuizsource-$newest.zip"
271 # TODO remove these excludes after the version after 2.4.2
272 $zipdiff -o "Nexuiz/data/datapatch$tag$date.pk3" -f "$basepk3" -t Nexuiz/data/data$tag$date.pk3 \
273 -x 'sound/cdtracks/track*.ogg' \
274 -x 'sound/cdtracks/brainsukker.ogg' \
275 -x 'sound/cdtracks/breakdown-easy.ogg' \
276 -x 'sound/cdtracks/calling-bogus.ogg' \
277 -x 'sound/cdtracks/chaos-fog.ogg' \
278 -x 'sound/cdtracks/digital-pursuit.ogg' \
279 -x 'sound/cdtracks/infight.ogg' \
280 -x 'sound/cdtracks/neuronal-diving.ogg' \
281 -x 'sound/cdtracks/subcities.ogg' \
282 -x 'sound/cdtracks/thru-the-mirror.ogg'
283 mkdir -p sound/cdtracks
284 ln -snf track001.ogg sound/cdtracks/digital-pursuit.ogg
285 ln -snf track002.ogg sound/cdtracks/breakdown-easy.ogg
286 ln -snf track003.ogg sound/cdtracks/brainsukker.ogg
287 ln -snf track004.ogg sound/cdtracks/chaos-fog.ogg
288 ln -snf track005.ogg sound/cdtracks/infight.ogg
289 ln -snf track006.ogg sound/cdtracks/neuronal-diving.ogg
290 ln -snf track007.ogg sound/cdtracks/subcities.ogg
291 ln -snf track008.ogg sound/cdtracks/thru-the-mirror.ogg
292 ln -snf track009.ogg sound/cdtracks/calling-bogus.ogg
293 zip -9yr "Nexuiz/data/datapatch$tag$date.pk3" sound/cdtracks/*
295 [ -n "$hotbasepk3" ] && $zipdiff -o "Nexuiz/data/datapatch$tag$date""hotfix.pk3" -f "$hotbasepk3" -t Nexuiz/data/data$tag$date.pk3
297 if unzip "Nexuiz/data/data$tag$date.pk3" gfx/brand.tga; then
298 zip $zipflags -9r "Nexuiz/data/datapatch$tag$date.pk3" gfx/brand.tga
299 [ -n "$hotbasepk3" ] && zip $zipflags -9r "Nexuiz/data/datapatch$tag$date""hotfix.pk3" gfx/brand.tga
303 rm -f "$zipdir/nexuizpatch$date$ext.zip"
304 zip $zipflags -9yr "$zipdir/nexuizpatch$date$ext.zip" Nexuiz/gpl.txt Nexuiz/nexuiz* Nexuiz/Nexuiz* Nexuiz/*.dll Nexuiz/sources Nexuiz/Docs Nexuiz/data/datapatch$tag$date.pk3 Nexuiz/pro/*
305 ln -snf nexuizpatch$date$ext.zip "$zipdir/nexuizpatch-$newest.zip"
307 [ -n "$hotbasepk3" ] && rm -f "$zipdir/nexuizhotfix$date$ext.zip"
308 [ -n "$hotbasepk3" ] && zip $zipflags -9yr "$zipdir/nexuizhotfix$date$ext.zip" Nexuiz/gpl.txt Nexuiz/nexuiz* Nexuiz/Nexuiz* Nexuiz/*.dll Nexuiz/sources Nexuiz/Docs Nexuiz/data/datapatch$tag$date""hotfix.pk3 Nexuiz/pro/*
309 [ -n "$hotbasepk3" ] && ln -snf nexuizhotfix$date$ext.zip "$zipdir/nexuizhotfix-$newest.zip"
311 rm -f "$zipdir/nexuizdocs$date$ext.zip"
312 zip $zipflags -9yr "$zipdir/nexuizdocs$date$ext.zip" Nexuiz/gpl.txt Nexuiz/Docs
313 ln -snf nexuizdocs$date$ext.zip "$zipdir/nexuizdocs-$newest.zip"
315 rm -f "$zipdir/nexuizdebug$date$ext.zip"
316 zip $zipflags -9yr "$zipdir/nexuizdebug$date$ext.zip" Nexuiz/gpl.txt Nexuiz/debuginfo/* Nexuiz/sources
317 ln -snf nexuizdebug$date$ext.zip "$zipdir/nexuizdebug-$newest.zip"