summaryrefslogtreecommitdiff
path: root/update/update.sh
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2011-01-17 20:28:29 +0200
committerAndrei Karas <akaras@inbox.ru>2011-01-17 21:00:09 +0200
commit0c5c4eecb7e5ef0693e6e41f4bf0ce881f85e005 (patch)
treec375fcb4c96c118cd6ca9c84d96bb951ddfb0078 /update/update.sh
parent305e2ac056de7c642f10f8cf872f9e8fcff59255 (diff)
downloadtools-0c5c4eecb7e5ef0693e6e41f4bf0ce881f85e005.tar.gz
tools-0c5c4eecb7e5ef0693e6e41f4bf0ce881f85e005.tar.bz2
tools-0c5c4eecb7e5ef0693e6e41f4bf0ce881f85e005.tar.xz
tools-0c5c4eecb7e5ef0693e6e41f4bf0ce881f85e005.zip
Add update file generator tool.
Based on scripts from here: http://forums.themanaworld.org/viewtopic.php?p=101133#p101133
Diffstat (limited to 'update/update.sh')
-rwxr-xr-xupdate/update.sh32
1 files changed, 32 insertions, 0 deletions
diff --git a/update/update.sh b/update/update.sh
new file mode 100755
index 0000000..f4c0966
--- /dev/null
+++ b/update/update.sh
@@ -0,0 +1,32 @@
+#!/bin/bash
+
+dir=`pwd`
+
+rm adler32
+gcc -lz adler32.c -o adler32
+
+previous=`cat commit.txt`
+
+cd ../../clientdata
+head=`git log --pretty=oneline -n 1 | awk '{print $1}'`
+u1=`echo ${previous} | cut -c 1-7`
+u2=`echo ${head} | cut -c 1-7`
+git log --name-status ${previous}..${head} | awk '/^(A|M)\t/ {print $2}' | \
+ grep -e "[.]\(xml\|png\|tmx\|ogg\|txt\)" | sort | uniq | \
+ xargs zip -9 -r ../evol-tools/update/files/evol-${u1}..${u2}.zip
+
+cd $dir/files
+if [ -f evol-${u1}..${u2}.zip ]; then
+ mv ../commit.txt ../commit_old.txt
+ echo ${head} >../commit.txt
+ sum=`../adler32 1 evol-${u1}..${u2}.zip`
+ echo "evol-${u1}..${u2}.zip ${sum}" >>resources2.txt
+ echo " <update type=\"data\" file=\"evol-${u1}..${u2}.zip\" hash=\"${sum}\" />" >> xml_header.txt
+ cp xml_header.txt resources.xml
+ cat xml_footer.txt >>resources.xml
+
+ cp evol-${u1}..${u2}.zip ../upload/
+ cp resources2.txt ../upload/
+ cp resources.xml ../upload/
+ cp ../news.txt ../upload
+fi