diff options
author | gumi <git@gumi.ca> | 2018-01-16 13:28:23 -0500 |
---|---|---|
committer | gumi <git@gumi.ca> | 2018-01-16 13:28:23 -0500 |
commit | d3f495b75dbe1fb0d4c4fac54b3e0e8214940086 (patch) | |
tree | c4af142af3ab5f9183a888ed41738905bceb2679 /client/make-updates.sh | |
parent | 3bc8831f2458bfdf9d51a3d5c63d50e92dd41145 (diff) | |
download | tools-d3f495b75dbe1fb0d4c4fac54b3e0e8214940086.tar.gz tools-d3f495b75dbe1fb0d4c4fac54b3e0e8214940086.tar.bz2 tools-d3f495b75dbe1fb0d4c4fac54b3e0e8214940086.tar.xz tools-d3f495b75dbe1fb0d4c4fac54b3e0e8214940086.zip |
combine make-updates and make-music (again)
Diffstat (limited to 'client/make-updates.sh')
-rwxr-xr-x | client/make-updates.sh | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/client/make-updates.sh b/client/make-updates.sh new file mode 100755 index 0000000..26b7d60 --- /dev/null +++ b/client/make-updates.sh @@ -0,0 +1,101 @@ +#!/usr/bin/env bash + +# Copyright (C) 2011-2012 Evol Online +# Author: Andrei Karas (4144), gumi + +dir=`pwd` +output=~/www/updates +cdata=../../client-data +http_root="http://updates.themanaworld.org/updates" + +LDLIBS=-lz +prefix=/usr/local +CC=${CC:=gcc} + +function check_update() { + test_command=` \ + curl -sL \ + -w "%{http_code}\n" \ + "$1" \ + -o /dev/null \ + --connect-timeout 3 \ + --max-time 5` + + if [ ${test_command} == "200" ] ; + then + echo -e "hit $1 (\e[92m$test_command OK\e[0m)"; + else + echo -e "\e[31m!!FAILED!!\e[0m $1 ($test_command)"; + exit 1; + fi +} + +function finish() { + retVal=$? + echo + if [ ${retVal} == "0" ]; then + echo -e "\e[96m>> Done!\e[0m" + fi +} + +trap finish EXIT + + +echo -e "\e[105m======= Legacy =======\e[0m" + +echo -e "\e[96m>> Building adler32...\e[0m" +rm -f adler32 2>/dev/null || : +$CC -lz adler32.c -o adler32 + +echo -e "\e[96m>> Creating directory tree...\e[0m" +mkdir -pv files +mkdir -pv $output +mkdir -pv $cdata/music + +echo -e "\e[96m>> Removing leftovers...\e[0m" +rm -rv files/* 2>/dev/null || : +rm -v $output/Legacy.zip 2>/dev/null || : +rm -v $output/Legacy-music.zip 2>/dev/null || : +rm -v $output/resources.xml 2>/dev/null || : +rm -v $output/resources2.txt 2>/dev/null || : # Legacy: used by mana client + +echo -e "\e[96m>> Entering client-data...\e[0m" +pushd $cdata &>/dev/null + +echo -e "\e[96m>> Compressing files...\e[0m" +find -path ./music -prune -o -iregex ".+[.]\(xml\|png\|tmx\|ogg\|txt\|po\|tsx\)" -printf "%P\n" | zip -X -@ $dir/files/Legacy.zip +find -path ./sfx -prune -o -iregex ".+[.]\(ogg\)" -printf "%P\n" | zip -X -@ $dir/files/Legacy-music.zip +touch $dir/files/Legacy-music.zip + +echo -e "\e[96m>> Calculating adler32 checksum...\e[0m" +pushd $dir/files &>/dev/null +sum=`../adler32 1 Legacy.zip` +musicsum=`../adler32 1 Legacy-music.zip` + +echo -e "\e[96m>> Generating xml file...\e[0m" +echo "<?xml version=\"1.0\"?><updates>" >resources.xml +echo "<update type=\"data\" file=\"Legacy.zip\" hash=\"${sum}\"/>" >>resources.xml +echo "<update type=\"music\" required=\"no\" file=\"Legacy-music.zip\" hash=\"${musicsum}\" description=\"TMW music\"/>" >>resources.xml +echo "</updates>" >>resources.xml + +echo -e "\e[96m>> Moving stuff around...\e[0m" +cp -v Legacy.zip $output/ +cp -v Legacy-music.zip $output/ +cp -v resources.xml $output/ + +echo -e "\e[96m>> Giving read permissions...\e[0m" +pushd $output &>/dev/null +chmod a+r Legacy.zip +chmod a+r Legacy-music.zip +chmod a+r resources.xml + +echo +echo -e "\e[96m>> Checking updates...\e[0m" +check_update "$http_root/Legacy.zip" +check_update "$http_root/Legacy-music.zip" +check_update "$http_root/resources.xml" +check_update "$http_root/news.php" + +popd &>/dev/null # $dir/files +popd &>/dev/null # $cdata +popd &>/dev/null # tools/client |