From 46d5fff26938e18b280c664868cf534686225f1a Mon Sep 17 00:00:00 2001 From: Ykkrosh Date: Thu, 7 Oct 2010 19:57:31 +0000 Subject: [PATCH] Use zipped data files and pre-converted textures in release distributions This was SVN commit r8306. --- source/tools/dist/0ad.nsi | 11 ++++++---- source/tools/dist/build.sh | 45 ++++++++++++++++++++++---------------- 2 files changed, 33 insertions(+), 23 deletions(-) diff --git a/source/tools/dist/0ad.nsi b/source/tools/dist/0ad.nsi index a8ae204ff7..bc3a0cf02f 100644 --- a/source/tools/dist/0ad.nsi +++ b/source/tools/dist/0ad.nsi @@ -69,16 +69,19 @@ Section "!Game and data files" GameSection SetOutPath "$INSTDIR" - File /r "${CHECKOUTPATH}\binaries" File "${CHECKOUTPATH}\*.txt" File "${CHECKOUTPATH}\*.bat" - + File /r /x "public" "${CHECKOUTPATH}\binaries" + + SetOutPath "$INSTDIR\binaries\data\mods\public" + File "${CHECKOUTPATH}\binaries\data\mods\public\public.zip" + ;Store installation folder WriteRegStr SHCTX "Software\0 A.D." "" $INSTDIR - + ;Create uninstaller WriteUninstaller "$INSTDIR\Uninstall.exe" - + ;Add uninstall information WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\0 A.D." "DisplayName" "0 A.D." WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\0 A.D." "DisplayVersion" "r0${REVISION}-alpha" diff --git a/source/tools/dist/build.sh b/source/tools/dist/build.sh index 3f6e7938e7..a8109a9239 100755 --- a/source/tools/dist/build.sh +++ b/source/tools/dist/build.sh @@ -2,13 +2,19 @@ set -ev +# Compiled executable for archive-builder tool +EXE=~/0ad/hg/ps/binaries/system/pyrogenesis + +# Location of clean checkout SVNWC=~/0ad/public-trunk/ + SVNREV=`svnversion -n ${SVNWC}` -PREFIX=0ad-r0${SVNREV}-pre-alpha +PREFIX=0ad-r0${SVNREV}-alpha SEVENZOPTS="-mmt -mx=9" XZOPTS="-9" BZ2OPTS="-9" +GZIPOPTS="-9" # Export files with appropriate line-endings rm -rf export-unix @@ -20,34 +26,35 @@ svn export --native-eol CRLF ${SVNWC} export-win32 echo L\"${SVNREV}-release\" > export-unix/build/svn_revision/svn_revision.txt echo L\"${SVNREV}-release\" > export-win32/build/svn_revision/svn_revision.txt +# Package the mod data +# (The platforms differ only in line endings, so just do the Unix one instead of +# generating two needlessly inconsistent packages) +${EXE} -archivebuild=export-unix/binaries/data/mods/public -archivebuild-output=export-unix/binaries/data/mods/public/public.zip +cp export-unix/binaries/data/mods/public/public.zip export-win32/binaries/data/mods/public/public.zip + # Collect the relevant files ln -Tsf export-unix ${PREFIX} -tar cf $PREFIX-unix-build-temp.tar \ +tar cf $PREFIX-unix-build.tar \ --exclude='*.bat' --exclude='*.dll' --exclude='*.exe' \ - --exclude='libraries/fcollada/lib/*' --exclude='libraries/spidermonkey-tip/lib/*' --exclude='libraries/spidermonkey-tip/include-win32' \ - ${PREFIX}/{source,build,libraries/{cxxtest,fcollada,spidermonkey-tip,valgrind},binaries/system/readme.txt,binaries/data/tests,binaries/data/mods/_test.*,*.txt} -tar cf $PREFIX-unix-data-temp.tar ${PREFIX}/binaries/data/{config,mods/public,tools} + --exclude='libraries/fcollada/lib/*' --exclude='libraries/nvtt/lib/*' \ + --exclude='libraries/spidermonkey-tip/lib/*' --exclude='libraries/spidermonkey-tip/include-win32' \ + ${PREFIX}/{source,build,libraries/{cxxtest,fcollada,spidermonkey-tip,valgrind,nvtt},binaries/system/readme.txt,binaries/data/tests,binaries/data/mods/_test.*,*.txt} +tar cf $PREFIX-unix-data.tar ${PREFIX}/binaries/data/{config,mods/public/public.zip,tools} # TODO: ought to include generated docs in here, perhaps? -# Anonymise the tarballs a bit -#tardy -gna wfg -gnu 1000 -una wfg -unu 1000 $PREFIX-unix-build-temp.tar $PREFIX-unix-build.tar -#tardy -gna wfg -gnu 1000 -una wfg -unu 1000 $PREFIX-unix-data-temp.tar $PREFIX-unix-data.tar -# Actually don't, because it might be causing "tar: A lone zero block" warnings -mv $PREFIX-unix-build{-temp,}.tar -mv $PREFIX-unix-data{-temp,}.tar - # Compress xz -kv ${XZOPTS} $PREFIX-unix-build.tar xz -kv ${XZOPTS} $PREFIX-unix-data.tar -bzip2 -kp ${BZ2OPTS} $PREFIX-unix-build.tar -bzip2 -kp ${BZ2OPTS} $PREFIX-unix-data.tar +#bzip2 -kp ${BZ2OPTS} $PREFIX-unix-build.tar +#bzip2 -kp ${BZ2OPTS} $PREFIX-unix-data.tar +gzip -cv ${GZIPOPTS} $PREFIX-unix-build.tar > $PREFIX-unix-build.tar.gz +gzip -cv ${GZIPOPTS} $PREFIX-unix-data.tar > $PREFIX-unix-data.tar.gz -# Create Windows self-extracting .exe -ln -Tsf export-win32 ${PREFIX} -wine 'c:/program files/7-zip/7zG' a -sfx $PREFIX-win32.exe ${SEVENZOPTS} ${PREFIX}/{source,build,libraries,binaries/{data,system},*.*} +# Create Windows installer +wine ~/.wine/drive_c/Program\ Files/NSIS/makensis.exe /nocd /dcheckoutpath=export-win32 /drevision=${SVNREV} export-win32/source/tools/dist/0ad.nsi # Fix permissions -chmod 644 ${PREFIX}-{unix-{build,data}.tar.{xz,bz2},win32.exe} +chmod -f 644 ${PREFIX}-{unix-{build,data}.tar.{xz,bz2,gz},win32.exe} # Print digests for copying into wiki page -sha1sum ${PREFIX}-{unix-{build,data}.tar.{xz,bz2},win32.exe} +sha1sum ${PREFIX}-{unix-{build,data}.tar.{xz,bz2,gz},win32.exe}