#!/bin/bash
echo
echo
echo
echo "Starting cleanup and library rebuild..."
date
zip_name = linux-minetest-kit.zip
extracted_name = linux-minetest-kit
in_use_name = minetest
#not reliable with bash -e (if not running, check throws error):
#running=`ps ax | grep -v grep | grep $in_use_name | wc -l`
#if [ $running -gt 0 ]; then
# echo "killing minetest processes..."
# killall $in_use_name
#fi
url = https://downloads.minetest.org
customDie ( ) {
echo "ERROR: Cannot continue since"
echo " $1 "
exit 1
}
enable_offline = false
for var in " $@ "
do
if [ " @ $var " = "@--offline" ] ; then
enable_offline = true
else
customDie " Invalid argument: $var "
fi
done
if [ -d " $extracted_name " ] ; then
if [ "`ls -lR screenshots/*.png | wc -l`" -gt 0 ] ; then
mv screenshots/*.png ~/ || customDie " can't move screenshots from $extracted_name /minetest/bin/*.png "
rmdir --ignore-fail-on-non-empty screenshots
fi
if [ " `ls -lR $extracted_name /minetest/bin/*.png | wc -l` " -gt 0 ] ; then
# if [ ! -d screenshots ]; then mkdir screenshots; fi
# NOTE: system-wide install of minetest puts screenshots in ~/ (cwd)
mv $extracted_name /minetest/bin/*.png ~/ || customDie " can't move screenshots from $extracted_name /minetest/bin/*.png "
fi
rm -Rf " $extracted_name " || customDie " can't remove $extracted_name "
fi
if [ " @ $enable_offline " = "@true" ] ; then
if [ ! -f " $zip_name " ] ; then
customDie " * Offline install is impossible without '`pwd`/ $zip_name '. "
fi
else
wget -O $zip_name $url /$zip_name || customDie " no $zip_name at $url "
fi
unzip -u $zip_name || customDie " Can't unzip $zip_name "
cd " $extracted_name "
echo "compiling libraries..."
date
start = ` date +%s`
bash -e mtcompile-libraries.sh build >& libraries.log
end = ` date +%s`
compile_time = $(( end-start))
echo " Compiling libraries finished in $compile_time seconds. "
echo " (see libraries.log in case of any errors)"
#echo "compiling program..."
#bash -e mtcompile-program.sh build >& program.log
echo "done."
echo
echo
echo
echo
echo
cd ..
echo "Check libraries.log for errors, then..."
echo "- Run the following manually for SERVER only (no graphical client):"
echo " bash install-mts.sh"
echo "- Run the following manually for both minetestserver and minetest:"
echo " bash install-mts.sh --client"
echo
echo