poikilos
2 years ago
1 changed files with 117 additions and 0 deletions
@ -0,0 +1,117 @@ |
|||
#!/bin/bash |
|||
EX_PATH="`realpath .`" |
|||
EX_NAME="`basename $EX_PATH`" |
|||
REPACK_TMP=~/tmp |
|||
mkdir -p "$REPACK_TMP" |
|||
REPACK_TMP_MT="$REPACK_TMP/minetest" |
|||
|
|||
SRC_GAMES="$EX_PATH/games" |
|||
DST_GAMES="$REPACK_TMP_MT/games" |
|||
SRC_BIN="$EX_PATH/bin/minetest" |
|||
|
|||
if [ ! -f "$SRC_BIN" ]; then |
|||
printf "Error: You must run this from a compiled minetest directory (There is no file '$SRC_BIN'" |
|||
if [ -d "$SRC_BIN" ]; then |
|||
echo ": It is a directory)." |
|||
else |
|||
echo ")." |
|||
fi |
|||
exit 5 |
|||
fi |
|||
|
|||
verb="making" |
|||
if [ -d "$REPACK_TMP_MT" ]; then |
|||
verb="remaking" |
|||
fi |
|||
echo "* $verb $REPACK_TMP_MT from parts of $EX_PATH..." |
|||
rsync \ |
|||
-rtv \ |
|||
--delete \ |
|||
--exclude mods \ |
|||
--exclude worlds \ |
|||
--exclude games \ |
|||
--exclude cache \ |
|||
--exclude ENLIVEN \ |
|||
--exclude minetest.ENLIVEN \ |
|||
--exclude minetest.conf.zip \ |
|||
--exclude tmp \ |
|||
--exclude CenterOfTheSun.blank \ |
|||
--exclude deploy.sh \ |
|||
--exclude bin/AMHI \ |
|||
--exclude "bin/*.txt" \ |
|||
--exclude "bin/*screenshot*" \ |
|||
"$EX_PATH/" \ |
|||
"$REPACK_TMP_MT" \ |
|||
; |
|||
code=$? |
|||
if [ $code -ne 0 ]; then exit $code; fi |
|||
|
|||
cd "$REPACK_TMP" |
|||
code=$? |
|||
if [ $code -ne 0 ]; then exit $code; fi |
|||
|
|||
|
|||
|
|||
add_game(){ |
|||
GAME_ID="$1" |
|||
if [ "x$GAME_ID" = "x" ]; then |
|||
echo "[$0] [add_game] Error: You must specify a GAME_ID." |
|||
exit 2 |
|||
fi |
|||
if [ "x$SRC_GAMES" = "x" ]; then |
|||
echo "[$0] [add_game] Error: SRC_GAMES is blank." |
|||
exit 3 |
|||
fi |
|||
if [ "x$DST_GAMES" = "x" ]; then |
|||
echo "[$0] [add_game] Error: DST_GAMES is blank." |
|||
exit 4 |
|||
fi |
|||
SRC_GAME="$SRC_GAMES/$GAME_ID" |
|||
DST_GAME="$DST_GAMES/$GAME_ID" |
|||
if [ ! -d "$DST_GAMES" ]; then mkdir -p "$DST_GAMES"; fi |
|||
if [ -d "$SRC_GAME" ]; then |
|||
printf "* adding $SRC_GAME as $DST_GAME..." |
|||
rsync -rtv --delete "$SRC_GAME/" "$DST_GAME" |
|||
code=$? |
|||
if [ $code -ne 0 ]; then |
|||
echo " FAILED" |
|||
exit $code |
|||
else |
|||
echo " OK" |
|||
echo |
|||
echo |
|||
echo |
|||
echo |
|||
fi |
|||
else |
|||
echo "* There is nothing to do for $GAME_ID (There is no '$SRC_GAME')." |
|||
fi |
|||
} |
|||
|
|||
if [ -d "$SRC_GAMES/bucket_game" ]; then |
|||
add_game bucket_game |
|||
elif [ -d "$SRC_GAMES/Bucket_Game" ]; then |
|||
add_game Bucket_Game |
|||
else |
|||
echo "* There is nothing to do for bucket_game (There is no bucket_game nor Bucket_Game in '$SRC_GAMES')." |
|||
fi |
|||
|
|||
add_game amhi_game |
|||
add_game ENLIVEN |
|||
|
|||
|
|||
#region LAST |
|||
REPACK_NAME="$EX_NAME-linux64+Poikilos_repack.tar.gz" |
|||
if [ -f "$REPACK_NAME" ]; then |
|||
echo "* removing old '`pwd`/$REPACK_NAME'" |
|||
rm -f "$REPACK_NAME" |
|||
fi |
|||
echo "* creating '`pwd`/$REPACK_NAME' from '$REPACK_TMP_MT'" |
|||
tar czvf "$REPACK_NAME" "$REPACK_TMP_MT" |
|||
REPACK_PATH="`realpath $REPACK_NAME`" |
|||
if [ $code -ne 0 ]; then exit $code; fi |
|||
echo "* $REPACK_PATH is complete." |
|||
echo "* next consider: rsync -tv /home/owner/tmp/minetest-linux64-200527+Poikilos_repack.tar.gz minetest.io:/home/owner/final-minetest-releases" |
|||
echo " " |
|||
echo Done |
|||
#endregion LAST |
Loading…
Reference in new issue