poikilos
5 years ago
1 changed files with 125 additions and 0 deletions
@ -0,0 +1,125 @@ |
|||
#!/bin/bash |
|||
UPD_BG_SCRIPT_NAME=update-Bucket_Game.sh |
|||
source minetestenv-in-place.rc |
|||
if [ $? -ne 0 ]; then |
|||
source ~/git/EnlivenMinetest/minetestenv-in-place.rc |
|||
fi |
|||
if [ $? -ne 0 ]; then |
|||
source ~/Downloads/git/EnlivenMinetest/minetestenv-in-place.rc |
|||
fi |
|||
if [ $? -ne 0 ]; then |
|||
source ~/EnlivenMinetest/minetestenv-in-place.rc |
|||
fi |
|||
if [ $? -ne 0 ]; then |
|||
cat <<END |
|||
minetest-in-place.rc is not present here or in the path, and |
|||
EnlivenMinetest (directory containing that rc file) |
|||
is not in ~/git nor ~/Downloads/git nor ~. |
|||
END |
|||
exit 1 |
|||
fi |
|||
if [ ! -f "`command -v unzip`" ]; then |
|||
echo "ERROR: You must have unzip to use $UPD_BG_SCRIPT_NAME." |
|||
exit 1 |
|||
fi |
|||
if [ ! -d "$INSTALL_PATH/games" ]; then |
|||
echo "$INSTALL_PATH/games is missing." |
|||
exit 1 |
|||
fi |
|||
DL_NAME=Bucket_Game.zip |
|||
BG_URL="https://downloads.minetest.org/$DL_NAME" |
|||
EM_TMP=/tmp/EnlivenMinetest |
|||
DLS_PATH=$EM_TMP |
|||
DL_PATH=$DLS_PATH/$DL_NAME |
|||
TRY_PATH="$HOME/Downloads/$DL_NAME" |
|||
EXTRACTED_NAME=Bucket_Game |
|||
EXTRACTED_PATH=$EM_TMP/Bucket_Game |
|||
ORIG_SRC="$BG_URL" |
|||
if [ -f "$TRY_PATH" ]; then |
|||
DL_PATH="$TRY_PATH" |
|||
fi |
|||
if [ ! -d "$EM_TMP" ]; then |
|||
mkdir -p "$EM_TMP" |
|||
fi |
|||
ENABLE_DL=false |
|||
if [ ! -f "$DL_PATH" ]; then |
|||
ENABLE_DL=true |
|||
DL_BIN_NAME="wget" |
|||
if [ -f "`command -v wget`" ]; then |
|||
wget -O $DL_PATH $BG_URL |
|||
elif [ -f "`command -v curl`" ]; then |
|||
curl $BG_URL -o $DL_PATH |
|||
DL_BIN_NAME="curl" |
|||
else |
|||
echo "ERROR: You need curl or wget to use $UPD_BG_SCRIPT_NAME." |
|||
exit 1 |
|||
fi |
|||
if [ ! -f "$DL_PATH" ]; then |
|||
echo "ERROR: $DL_BIN_NAME could not create $DL_PATH from $BG_URL." |
|||
exit 1 |
|||
fi |
|||
else |
|||
echo "* using existing $DL_PATH..." |
|||
ORIG_SRC="$DL_PATH" |
|||
fi |
|||
|
|||
if [ -d "$EXTRACTED_PATH" ]; then |
|||
rm -Rf "$EXTRACTED_PATH" |
|||
if [ $? -ne 0 ]; then |
|||
echo "ERROR: Deleting the old \"$EXTRACTED_PATH\" failed." |
|||
# if [ "@$ENABLE_DL" = "@true" ]; then |
|||
# rm "$DL_PATH" |
|||
# fi |
|||
exit 1 |
|||
fi |
|||
fi |
|||
|
|||
cd "$EM_TMP" |
|||
if [ $? -ne 0 ]; then |
|||
echo "ERROR: cd \"$EM_TMP\" failed." |
|||
exit 1 |
|||
fi |
|||
|
|||
unzip "$DL_PATH" |
|||
if [ $? -ne 0 ]; then |
|||
echo "ERROR: unzip \"$DL_PATH\" failed." |
|||
exit 1 |
|||
fi |
|||
RMDIR_PATH= |
|||
if [ ! -d "$EXTRACTED_PATH/mods" ]; then |
|||
if [ -d "$EXTRACTED_PATH/$EXTRACTED_NAME/mods" ]; then |
|||
RMDIR_PATH="$EXTRACTED_PATH" |
|||
EXTRACTED_PATH="$EXTRACTED_PATH/$EXTRACTED_NAME" |
|||
else |
|||
echo "ERROR: unzip \"$DL_PATH\" did not produce $EXTRACTED_PATH/mods nor $EXTRACTED_PATH/$EXTRACTED_NAME/mods." |
|||
exit 1 |
|||
fi |
|||
fi |
|||
DEST_BG="$INSTALL_PATH/games/Bucket_Game" |
|||
if [ -d "$DEST_BG" ]; then |
|||
echo "* removing the old \"$DEST_BG\"..." |
|||
rm -Rf "$DEST_BG" |
|||
if [ $? -ne 0 ]; then |
|||
echo "ERROR: rm -Rf \"$DEST_BG\" failed." |
|||
exit 1 |
|||
fi |
|||
fi |
|||
|
|||
echo "* mv $EXTRACTED_PATH $DEST_BG..." |
|||
mv "$EXTRACTED_PATH" "$DEST_BG" |
|||
if [ $? -ne 0 ]; then |
|||
echo "ERROR: mv \"$EXTRACTED_PATH\" \"$DEST_BG\" failed." |
|||
exit 1 |
|||
fi |
|||
|
|||
echo "* Updating \"$DEST_BG\" from \"$ORIG_SRC\" completed successfully." |
|||
|
|||
if [ ! -z "$RMDIR_PATH" ]; then |
|||
rmdir "$RMDIR_PATH" |
|||
fi |
|||
|
|||
if [ "$DL_PATH" != "$TRY_PATH" ]; then |
|||
rm "$DL_PATH" |
|||
#else it is where the user Downloaded it themselves, so don't delete it. |
|||
fi |
|||
cd $DLS_PATH |
Loading…
Reference in new issue