2012-09-26 00:52:52 +00:00
|
|
|
#!/bin/bash
|
|
|
|
# Use this script to build MegaGlest Binary Archive for a Version Release
|
|
|
|
# ----------------------------------------------------------------------------
|
|
|
|
# Written by Mark Vejvoda <mark_vejvoda@hotmail.com>
|
|
|
|
# Copyright (c) 2011 Mark Vejvoda under GNU GPL v3.0+
|
|
|
|
|
|
|
|
# set this to non 0 to skip building the binary
|
|
|
|
skipbinarybuild=0
|
|
|
|
|
2013-05-26 02:16:01 +00:00
|
|
|
# Consider setting this for small packages if there's plenty of RAM and CPU available:
|
|
|
|
#export XZ_OPT="$XZ_OPT -9e"
|
|
|
|
|
2012-09-26 00:52:52 +00:00
|
|
|
VERSION=`./mg-version.sh --version`
|
2012-09-26 23:57:38 +00:00
|
|
|
kernel=`uname -s | tr '[A-Z]' '[a-z]'`
|
|
|
|
architecture=`uname -m | tr '[A-Z]' '[a-z]'`
|
2012-09-26 00:52:52 +00:00
|
|
|
|
|
|
|
RELEASENAME=megaglest-binary-$kernel-$architecture
|
|
|
|
#PACKAGE="$RELEASENAME-$VERSION.7z"
|
|
|
|
PACKAGE="$RELEASENAME-$VERSION.tar.xz"
|
|
|
|
CURRENTDIR="$(dirname $(readlink -f $0))"
|
|
|
|
#RELEASEDIR="$CURRENTDIR/release/$RELEASENAME-$VERSION/megaglest-$VERSION"
|
|
|
|
RELEASEDIR="$CURRENTDIR/release/$RELEASENAME-$VERSION"
|
2014-01-21 23:21:56 -08:00
|
|
|
#PROJDIR="$CURRENTDIR/../../"
|
|
|
|
PROJDIR="$CURRENTDIR/"
|
2012-09-26 00:52:52 +00:00
|
|
|
|
|
|
|
echo "Creating binary package in $RELEASEDIR"
|
|
|
|
|
|
|
|
[[ -d "$RELEASEDIR" ]] && rm -rf "$RELEASEDIR"
|
|
|
|
mkdir -p "$RELEASEDIR"
|
|
|
|
|
2012-09-26 00:58:18 +00:00
|
|
|
if [ $skipbinarybuild = 0 ]
|
2012-09-26 00:52:52 +00:00
|
|
|
then
|
2013-04-30 19:54:51 +00:00
|
|
|
# build the binaries
|
|
|
|
echo "building binaries ..."
|
|
|
|
cd $PROJDIR
|
|
|
|
[[ -d "build" ]] && rm -rf "build"
|
|
|
|
./build-mg.sh
|
|
|
|
if [ $? -ne 0 ]; then
|
|
|
|
echo 'ERROR: "./build-mg.sh" failed.' >&2; exit 1
|
|
|
|
fi
|
2012-09-26 01:09:52 +00:00
|
|
|
else
|
2013-04-30 19:54:51 +00:00
|
|
|
echo "SKIPPING build of binaries ..."
|
2012-09-26 00:52:52 +00:00
|
|
|
fi
|
|
|
|
|
|
|
|
cd $PROJDIR
|
|
|
|
mkdir -p "$RELEASEDIR/lib"
|
2014-01-21 23:21:56 -08:00
|
|
|
#cd mk/linux
|
2012-09-26 00:52:52 +00:00
|
|
|
[[ -d "lib" ]] && rm -rf "lib"
|
|
|
|
echo "building binary dependencies ..."
|
|
|
|
./makedeps_folder.sh megaglest
|
2013-04-30 19:54:51 +00:00
|
|
|
if [ $? -ne 0 ]; then
|
|
|
|
echo 'ERROR: "./makedeps_folder.sh megaglest" failed.' >&2; exit 2
|
|
|
|
fi
|
2012-09-26 00:52:52 +00:00
|
|
|
|
|
|
|
# copy binary info
|
|
|
|
cd $PROJDIR
|
|
|
|
echo "copying binaries ..."
|
2014-01-21 23:21:56 -08:00
|
|
|
cp -r lib/* "$RELEASEDIR/lib"
|
|
|
|
cp *.ico "$RELEASEDIR/"
|
|
|
|
cp *.bmp "$RELEASEDIR/"
|
|
|
|
cp *.png "$RELEASEDIR/"
|
|
|
|
cp *.xpm "$RELEASEDIR/"
|
|
|
|
cp *.ini "$RELEASEDIR/"
|
|
|
|
cp megaglest "$RELEASEDIR/"
|
|
|
|
cp megaglest_editor "$RELEASEDIR/"
|
|
|
|
cp megaglest_g3dviewer "$RELEASEDIR/"
|
|
|
|
cp start_megaglest "$RELEASEDIR/"
|
|
|
|
cp start_megaglest_mapeditor "$RELEASEDIR/"
|
|
|
|
cp start_megaglest_g3dviewer "$RELEASEDIR/"
|
|
|
|
cp start_megaglest_gameserver "$RELEASEDIR/"
|
2012-09-26 00:52:52 +00:00
|
|
|
|
|
|
|
echo "creating $PACKAGE"
|
|
|
|
cd $CURRENTDIR
|
|
|
|
[[ -f "$release/$PACKAGE" ]] && rm "release/$PACKAGE"
|
|
|
|
#tar cJf "release/$PACKAGE" -C "$CURRENTDIR/release/" "$RELEASENAME-$VERSION"
|
2013-05-26 02:16:01 +00:00
|
|
|
#tar -cf - -C "$CURRENTDIR/release/$RELEASENAME-$VERSION/" "./" | xz > release/$PACKAGE
|
2012-09-26 00:52:52 +00:00
|
|
|
cd release/$RELEASENAME-$VERSION/
|
2013-05-26 02:16:01 +00:00
|
|
|
tar -cf - * | xz > ../$PACKAGE
|
2012-09-26 00:52:52 +00:00
|
|
|
cd $CURRENTDIR
|
|
|
|
# 7z a -mmt -mx=9 -ms=on -mhc=on "release/$PACKAGE" "$CURRENTDIR/release/$RELEASENAME-$VERSION"
|
|
|
|
|
|
|
|
ls -la release/$PACKAGE
|