2012-09-27 01:59:53 +02:00
|
|
|
#!/bin/bash
|
|
|
|
# Use this script to build MegaGlest Data Archive for a Version Release
|
2015-03-16 21:07:36 +01:00
|
|
|
# (Data archive for 'snapshots', with embedded content)
|
2012-09-27 01:59:53 +02:00
|
|
|
# ----------------------------------------------------------------------------
|
|
|
|
# Written by Mark Vejvoda <mark_vejvoda@hotmail.com>
|
|
|
|
# Copyright (c) 2011 Mark Vejvoda under GNU GPL v3.0+
|
|
|
|
|
2013-05-26 04:16:01 +02:00
|
|
|
# Consider setting this for small packages if there's plenty of RAM and CPU available:
|
|
|
|
#export XZ_OPT="$XZ_OPT -9e"
|
|
|
|
|
2015-02-23 19:10:32 +01:00
|
|
|
KERNEL="$(uname -s | tr '[A-Z]' '[a-z]')"
|
|
|
|
if [ "$KERNEL" = "darwin" ]; then
|
2015-07-06 20:16:00 +02:00
|
|
|
CURRENTDIR="$(cd "$(dirname "$0")"; pwd)"
|
2015-02-23 19:10:32 +01:00
|
|
|
else
|
2015-07-06 20:16:00 +02:00
|
|
|
CURRENTDIR="$(dirname "$(readlink -f "$0")")"
|
2015-02-23 19:10:32 +01:00
|
|
|
fi
|
|
|
|
cd "$CURRENTDIR"
|
2012-09-27 01:59:53 +02:00
|
|
|
VERSION=`./mg-version.sh --version`
|
|
|
|
RELEASENAME=megaglest-standalone-data
|
|
|
|
PACKAGE="$RELEASENAME-$VERSION.tar.xz"
|
2015-02-23 19:10:32 +01:00
|
|
|
RELEASEDIR_ROOT="$CURRENTDIR/../../../release"
|
2014-01-24 18:50:17 +01:00
|
|
|
RELEASEDIR="${RELEASEDIR_ROOT}/${RELEASENAME-$VERSION}"
|
2013-12-28 06:58:29 +01:00
|
|
|
REPODIR="$CURRENTDIR/../../"
|
2015-07-06 20:16:00 +02:00
|
|
|
REPO_DATADIR="$REPODIR/data/glest_game"
|
|
|
|
if [ -f "$REPO_DATADIR/.git" ] && [ "$(which git 2>/dev/null)" != "" ]; then
|
|
|
|
cd "$REPO_DATADIR"
|
|
|
|
DATA_BRANCH="$(git branch | awk -F '* ' '/^* / {print $2}')"
|
|
|
|
DATA_COMMIT="$(echo "[$(git rev-list HEAD --count).$(git log -1 --format=%h)]")"
|
|
|
|
echo "Detected parameters for data repository: branch=[$DATA_BRANCH], commit=$DATA_COMMIT"
|
|
|
|
fi
|
|
|
|
if [ -d "$REPODIR/.git" ] && [ "$(which git 2>/dev/null)" != "" ]; then
|
|
|
|
cd "$REPODIR"
|
|
|
|
SOURCE_BRANCH="$(git branch | awk -F '* ' '/^* / {print $2}')"
|
|
|
|
SOURCE_COMMIT="$(echo "[$(git rev-list HEAD --count).$(git log -1 --format=%h)]")"
|
|
|
|
echo "Detected parameters for source repository: branch=[$SOURCE_BRANCH], commit=$SOURCE_COMMIT"
|
|
|
|
fi
|
|
|
|
cd "$CURRENTDIR"
|
2012-09-27 01:59:53 +02:00
|
|
|
|
2015-02-23 19:10:32 +01:00
|
|
|
if [ "$KERNEL" != "darwin" ]; then
|
2015-07-06 20:16:00 +02:00
|
|
|
echo "Creating data package in $RELEASEDIR"
|
2015-02-23 19:10:32 +01:00
|
|
|
else
|
2015-07-06 20:16:00 +02:00
|
|
|
echo "Creating data directory $RELEASEDIR"
|
2015-02-23 19:10:32 +01:00
|
|
|
fi
|
2012-09-27 01:59:53 +02:00
|
|
|
|
|
|
|
[[ -d "$RELEASEDIR" ]] && rm -rf "$RELEASEDIR"
|
|
|
|
mkdir -p "$RELEASEDIR"
|
|
|
|
|
|
|
|
# copy data
|
|
|
|
echo "copying data ..."
|
|
|
|
|
|
|
|
mkdir -p "$RELEASEDIR/data/"
|
2013-12-28 06:58:29 +01:00
|
|
|
cd "$RELEASEDIR/data/"
|
|
|
|
git archive --remote ${REPODIR}/data/glest_game/ HEAD:data | tar x
|
|
|
|
|
|
|
|
cd "$RELEASEDIR"
|
2012-09-27 01:59:53 +02:00
|
|
|
mkdir -p "$RELEASEDIR/docs/"
|
2013-12-28 06:58:29 +01:00
|
|
|
cd "$RELEASEDIR/docs/"
|
|
|
|
git archive --remote ${REPODIR}/data/glest_game/ HEAD:docs | tar x
|
|
|
|
git archive --remote ${REPODIR} HEAD:docs/ CHANGELOG.txt | tar x
|
|
|
|
git archive --remote ${REPODIR} HEAD:docs/ README.txt | tar x
|
|
|
|
|
|
|
|
cd "$RELEASEDIR"
|
2012-09-27 01:59:53 +02:00
|
|
|
mkdir -p "$RELEASEDIR/maps/"
|
2013-12-28 06:58:29 +01:00
|
|
|
cd "$RELEASEDIR/maps/"
|
|
|
|
git archive --remote ${REPODIR}/data/glest_game/ HEAD:maps | tar x
|
|
|
|
|
|
|
|
cd "$RELEASEDIR"
|
2012-09-27 01:59:53 +02:00
|
|
|
mkdir -p "$RELEASEDIR/scenarios/"
|
2013-12-28 06:58:29 +01:00
|
|
|
cd "$RELEASEDIR/scenarios/"
|
|
|
|
git archive --remote ${REPODIR}/data/glest_game/ HEAD:scenarios | tar x
|
|
|
|
|
|
|
|
cd "$RELEASEDIR"
|
2012-09-27 01:59:53 +02:00
|
|
|
mkdir -p "$RELEASEDIR/techs/"
|
2013-12-28 06:58:29 +01:00
|
|
|
cd "$RELEASEDIR/techs/"
|
|
|
|
git archive --remote ${REPODIR}/data/glest_game/ HEAD:techs | tar x
|
|
|
|
|
|
|
|
cd "$RELEASEDIR"
|
2012-09-27 01:59:53 +02:00
|
|
|
mkdir -p "$RELEASEDIR/tilesets/"
|
2013-12-28 06:58:29 +01:00
|
|
|
cd "$RELEASEDIR/tilesets/"
|
|
|
|
git archive --remote ${REPODIR}/data/glest_game/ HEAD:tilesets | tar x
|
|
|
|
|
|
|
|
cd "$RELEASEDIR"
|
2012-09-27 01:59:53 +02:00
|
|
|
mkdir -p "$RELEASEDIR/tutorials/"
|
2013-12-28 06:58:29 +01:00
|
|
|
cd "$RELEASEDIR/tutorials/"
|
|
|
|
git archive --remote ${REPODIR}/data/glest_game/ HEAD:tutorials | tar x
|
2012-09-27 01:59:53 +02:00
|
|
|
|
2014-12-30 02:23:20 +01:00
|
|
|
echo "Removing non required files ..."
|
|
|
|
cd "$CURRENTDIR"
|
|
|
|
# START
|
|
|
|
# END
|
|
|
|
|
2013-12-28 06:58:29 +01:00
|
|
|
cd "$CURRENTDIR"
|
2015-02-23 19:10:32 +01:00
|
|
|
if [ "$KERNEL" != "darwin" ]; then
|
2015-07-06 20:16:00 +02:00
|
|
|
echo "creating data archive: $PACKAGE"
|
|
|
|
[[ -f "${RELEASEDIR_ROOT}/$PACKAGE" ]] && rm "${RELEASEDIR_ROOT}/$PACKAGE"
|
|
|
|
cd $RELEASEDIR
|
|
|
|
tar -cf - * | xz > ../$PACKAGE
|
|
|
|
cd $CURRENTDIR
|
2015-02-23 19:10:32 +01:00
|
|
|
|
2015-07-06 20:16:00 +02:00
|
|
|
ls -la ${RELEASEDIR_ROOT}/$PACKAGE
|
2015-02-23 19:10:32 +01:00
|
|
|
fi
|