#!/bin/bash echo echo echo echo "Starting install..." date echo "Checking if program is compiled..." extracted_name=linux-minetest-kit flag_dir="$extracted_name/mtsrc" if [ ! -d "$flag_dir" ]; then echo "ERROR: missing $flag_dir" exit 1 fi pushd "$extracted_name" enable_client=false extra_options="" if [ "@$1" = "@--client" ]; then extra_options="--client" enable_client=true fi flag_icon="$HOME/Desktop/org.minetest.minetest.desktop" flag_file="minetest/bin/minetestserver" if [ -f "$flag_icon" ]; then extra_options="--client" echo "automatically adding --client to compile since detected" echo "'$flag_icon'--press Ctrl C to cancel..." flag_file="minetest/bin/minetest" sleep 2 fi #if [ -f "$flag_file" ]; then #rm -f "$flag_file" #fi #if [ -f "$flag_file" ]; then #echo "ERROR: Nothing done since can't remove old '$flag_file'" #exit 1 #fi enable_compile=true if [ -d minetest ]; then enable_compile=false if [ "@$enable_client" = "@true" ]; then if [ ! -f minetest/bin/minetest ]; then enable_compile=true echo "Recompiling since client was not built before..." fi fi fi if [ "@$enable_compile" = "@true" ]; then start=`date +%s` if [ -f "mtcompile-program.pl" ]; then # perl mtcompile-program.pl build >& program.log echo "Compiling via perl..." perl mtcompile-program.pl build --server $extra_options >& program.log else # NOTE: no pl in $extracted_name, assuming bash: echo "Compiling via bash..." bash -e mtcompile-program.sh build --server $extra_options >& program.log fi end=`date +%s` compile_time=$((end-start)) echo "Compiling program finished in $compile_time seconds." else echo "using existing minetest..." fi if [ ! -f "$flag_file" ]; then echo "ERROR: Build did not complete--missing '$flag_file'" exit 1 fi dest_flag_file="$HOME/$flag_file" if [ -f "$dest_flag_file" ]; then mv -f "$dest_flag_file" "$dest_flag_file.bak" fi if [ -f "$dest_flag_file" ]; then echo "ERROR: not complete since can't move old '$dest_flag_file'" exit 1 fi if [ ! -d minetest ]; then echo "ERROR: can't install since missing `pwd`/minetest" exit 1 fi try_dest="/tank/local/owner/minetest" if [ -d "$try_dest" ]; then echo "Installing minetest as symlink '$HOME/minetest' pointing to '$try_dest'..." rsync -rt minetest/ $try_dest if [ ! -d "$HOME/minetest" ]; then ln -s $try_dest $HOME/minetest fi else echo "Installing minetest to '$HOME'..." rsync -rt minetest/ $HOME/minetest if [ ! -f "$dest_flag_file" ]; then echo "ERROR: not complete--couldn't create '$dest_flag_file'" exit 1 fi fi flag_dir="$HOME/minetest/games/Bucket_Game" if [ ! -d "$flag_dir" ]; then echo "ERROR: missing $flag_dir" exit 1 fi if [ ! -d "$HOME/minetest/games/ENLIVEN" ]; then echo "Copying $flag_dir to $HOME/minetest/games/ENLIVEN..." cp -R "$flag_dir" "$HOME/minetest/games/ENLIVEN" echo "name = ENLIVEN" > "$HOME/minetest/games/ENLIVEN/game.conf" else mod_name=coderbuild echo "updating $mod_name..." rsync -rt "$flag_dir/mods/$mod_name" "$HOME/minetest/games/ENLIVEN/mods" mod_name=codercore echo "updating $mod_name..." rsync -rt "$flag_dir/mods/$mod_name" "$HOME/minetest/games/ENLIVEN/mods" mod_name=coderedit echo "updating $mod_name..." rsync -rt "$flag_dir/mods/$mod_name" "$HOME/minetest/games/ENLIVEN/mods" mod_name=coderfood echo "updating $mod_name..." rsync -rt "$flag_dir/mods/$mod_name" "$HOME/minetest/games/ENLIVEN/mods" mod_name=codermobs echo "updating $mod_name..." rsync -rt "$flag_dir/mods/$mod_name" "$HOME/minetest/games/ENLIVEN/mods" mod_name=decorpack echo "updating $mod_name..." rsync -rt "$flag_dir/mods/$mod_name" "$HOME/minetest/games/ENLIVEN/mods" mod_name=mtmachines echo "updating $mod_name..." rsync -rt "$flag_dir/mods/$mod_name" "$HOME/minetest/games/ENLIVEN/mods" # cp -f "$flag_dir/mods/LICENSE" "$HOME/minetest/games/ENLIVEN/mods/LICENSE" fi popd cd .. echo "updating '$HOME/minetest/games/ENLIVEN/menu'..." rsync -rt "patches/subgame/menu/" "$HOME/minetest/games/ENLIVEN/menu" echo "updating '$HOME/minetest/games/ENLIVEN'..." rsync -rt "patches/Bucket_Game-patched/" "$HOME/minetest/games/ENLIVEN"