From 5046d4c4a773c67f6dab81e963b2aedd74e3f2fb Mon Sep 17 00:00:00 2001 From: filux Date: Mon, 16 Mar 2015 21:07:36 +0100 Subject: [PATCH] improved scripts --- mk/linux/make-data-archive.sh | 9 +------- mk/linux/makedata-source.sh | 38 ++++++++++++++++++-------------- mk/linux/makedata.sh | 6 ++--- mk/linux/makerelease-embedded.sh | 9 ++++---- mk/linux/makerelease.sh | 4 ++-- mk/windoze/make-data-archive.bat | 8 ------- 6 files changed, 33 insertions(+), 41 deletions(-) diff --git a/mk/linux/make-data-archive.sh b/mk/linux/make-data-archive.sh index 37595a1f..3a2ada66 100755 --- a/mk/linux/make-data-archive.sh +++ b/mk/linux/make-data-archive.sh @@ -1,5 +1,6 @@ #!/bin/bash # Use this script to build MegaGlest Data Archive for a Version Release +# (Data archive for 'snapshots', with embedded content) # ---------------------------------------------------------------------------- # Written by Mark Vejvoda # Copyright (c) 2011 Mark Vejvoda under GNU GPL v3.0+ @@ -70,17 +71,9 @@ mkdir -p "$RELEASEDIR/tutorials/" cd "$RELEASEDIR/tutorials/" git archive --remote ${REPODIR}/data/glest_game/ HEAD:tutorials | tar x -# special export for flag images -cd "$RELEASEDIR" -mkdir -p "$RELEASEDIR/data/core/misc_textures/flags/" -cd "$RELEASEDIR/data/core/misc_textures/flags/" -git archive --remote ${REPODIR}/data/glest_game/data/core/misc_textures HEAD:flags | tar x - echo "Removing non required files ..." cd "$CURRENTDIR" # START -# remove cegui data -rm -rf "$RELEASEDIR/data/cegui" # END cd "$CURRENTDIR" diff --git a/mk/linux/makedata-source.sh b/mk/linux/makedata-source.sh index 49a0e306..9f9e9bc1 100755 --- a/mk/linux/makedata-source.sh +++ b/mk/linux/makedata-source.sh @@ -1,8 +1,10 @@ #!/bin/bash # Use this script to build MegaGlest Data Source Archive for a Version Release +# (Archive for 'third' repository) # ---------------------------------------------------------------------------- -# Written by Mark Vejvoda -# Copyright (c) 2011 Mark Vejvoda under GNU GPL v3.0+ +# 2011 Written by Mark Vejvoda +# 2015 Improved by filux +# Copyright (c) 2011-2015 under GNU GPL v3.0+ # Consider setting this for small packages if there's plenty of RAM and CPU available: #export XZ_OPT="$XZ_OPT -9e" @@ -11,27 +13,32 @@ VERSION=`./mg-version.sh --version` RELEASENAME=megaglest-data-source PACKAGE="$RELEASENAME-$VERSION.tar.xz" CURRENTDIR="$(dirname $(readlink -f $0))" -RELEASEDIR_ROOT="$CURRENTDIR/../../../release/" +RELEASEDIR_ROOT="$CURRENTDIR/../../../release" RELEASEDIR="$RELEASEDIR_ROOT/$RELEASENAME-$VERSION/megaglest-$VERSION" SOURCEDIR="$CURRENTDIR/../../source/" -# Below we assume you have the data source contents root in a folder called: git-data-source/ -REPODIR="$CURRENTDIR/../../../git-data-source/" - +# Below we assume you have the data source contents root in a folder called: megaglest-data-source/ +REPODIR="$(readlink -f "$CURRENTDIR/../../../megaglest-data-source/")" echo "Creating data package in $RELEASEDIR" [[ -d "$RELEASEDIR" ]] && rm -rf "$RELEASEDIR" mkdir -p "$RELEASEDIR" -project_parent_dir="$(basename $(readlink -f -- "$(dirname -- "$0")/../../") )" -# echo "$project_parent_dir" -if [[ $project_parent_dir == git* ]] ; -then - echo 'This is the master branch' -else - echo '*NOTE: This script currently only works on the master HEAD, aborting!' - exit +if [ ! -d "$REPODIR" ]; then + echo "ERROR: directory not found: $REPODIR" + exit 1 +fi +cd "$REPODIR" +CURRENTCOMMIT="$(git rev-parse HEAD 2>/dev/null)" +if [ "$CURRENTCOMMIT" = "" ] && [ "$(git rev-parse HEAD)" != "" ]; then + echo "ERROR: git is not installed or git repository not found in: $REPODIR" + exit 1 +fi +WANTEDCOMMIT="$(git show-ref --tags -d | grep "refs/tags/$VERSION" | awk '{print $1}')" +if [ "$WANTEDCOMMIT" != "$CURRENTCOMMIT" ]; then + echo "*NOTE: This script currently only works on the matching commit to the release's tag, aborting!" + echo "**Hints: Maybe tag is not set yet, or maybe e.g. you are in wrong branch." + exit 1 fi - # copy data mkdir -p "$RELEASEDIR/data-source" @@ -44,4 +51,3 @@ echo "creating $PACKAGE" tar -cf - -C "$RELEASEDIR_ROOT/$RELEASENAME-$VERSION/" "megaglest-$VERSION" | xz > $RELEASEDIR_ROOT/$PACKAGE ls -la $RELEASEDIR_ROOT/$PACKAGE - diff --git a/mk/linux/makedata.sh b/mk/linux/makedata.sh index 7244c4bb..fb4b1af9 100755 --- a/mk/linux/makedata.sh +++ b/mk/linux/makedata.sh @@ -1,5 +1,6 @@ #!/bin/bash # Use this script to build MegaGlest Data Archive for a Version Release +# (Data archive for 'make install', without embedded content) # ---------------------------------------------------------------------------- # Written by Mark Vejvoda # Copyright (c) 2011 Mark Vejvoda under GNU GPL v3.0+ @@ -11,7 +12,7 @@ VERSION=`./mg-version.sh --version` RELEASENAME=megaglest-data PACKAGE="$RELEASENAME-$VERSION.tar.xz" CURRENTDIR="$(dirname $(readlink -f $0))" -RELEASEDIR_ROOT="$CURRENTDIR/../../../release/" +RELEASEDIR_ROOT="$CURRENTDIR/../../../release" RELEASEDIR="$RELEASEDIR_ROOT/$RELEASENAME-$VERSION/megaglest-$VERSION" SOURCEDIR="$CURRENTDIR/../../source/" REPODIR="$CURRENTDIR/../../" @@ -79,8 +80,7 @@ cd "$CURRENTDIR" # START # remove embedded data rm -rf "$RELEASEDIR/data/core/fonts" -# remove cegui data -rm -rf "$RELEASEDIR/data/cegui" +rm -rf "$RELEASEDIR/data/core/misc_textures/flags" # END echo "creating $PACKAGE" diff --git a/mk/linux/makerelease-embedded.sh b/mk/linux/makerelease-embedded.sh index 8ba9287c..1dd13cd1 100755 --- a/mk/linux/makerelease-embedded.sh +++ b/mk/linux/makerelease-embedded.sh @@ -1,6 +1,7 @@ #!/bin/bash # Use this script to build MegaGlest Embedded Library Source Code Archive for # a Version Release +# (Archive for 'make install', with embedded/missing content in other archives) # ---------------------------------------------------------------------------- # Written by Mark Vejvoda # Copyright (c) 2011 Mark Vejvoda under GNU GPL v3.0+ @@ -9,7 +10,7 @@ VERSION=$(./mg-version.sh --version) RELEASENAME=megaglest-source-embedded PACKAGE="$RELEASENAME-$VERSION.tar.xz" CURRENTDIR="$(dirname $(readlink -f $0))" -RELEASEDIR_ROOT="$CURRENTDIR/../../../release/" +RELEASEDIR_ROOT="$CURRENTDIR/../../../release" RELEASEDIR="$RELEASEDIR_ROOT/$RELEASENAME-$VERSION/megaglest-$VERSION" SOURCEDIR="$CURRENTDIR/../../source/" REPODIR="$CURRENTDIR/../../" @@ -33,9 +34,9 @@ git archive --remote ${REPODIR} HEAD:source/shared_lib/sources/platform/miniupnp cd "$RELEASEDIR/source/shared_lib/include/platform/miniupnpc/" git archive --remote ${REPODIR} HEAD:source/shared_lib/include/platform/miniupnpc | tar x -mkdir -p "$RELEASEDIR/source/masterserver/flags/" -cd "$RELEASEDIR/source/masterserver/flags/" -git archive --remote ${REPODIR}/data/glest_game/data/core/misc_textures HEAD:flags | tar x +mkdir -p "$RELEASEDIR/data/core/misc_textures/flags/" +cd "$RELEASEDIR/data/core/misc_textures/flags/" +git archive --remote ${REPODIR}/data/glest_game/ HEAD:data/core/misc_textures/flags | tar x mkdir -p "$RELEASEDIR/data/core/fonts/" cd "$RELEASEDIR/data/core/fonts/" diff --git a/mk/linux/makerelease.sh b/mk/linux/makerelease.sh index 1071a3b9..4be7dcfc 100755 --- a/mk/linux/makerelease.sh +++ b/mk/linux/makerelease.sh @@ -1,5 +1,6 @@ #!/bin/bash # Use this script to build MegaGlest Source Code Archive for a Version Release +# (Source archive for 'make install', without embedded content) # ---------------------------------------------------------------------------- # Written by Mark Vejvoda # Copyright (c) 2011 Mark Vejvoda under GNU GPL v3.0+ @@ -8,7 +9,7 @@ VERSION=$(./mg-version.sh --version) RELEASENAME=megaglest-source PACKAGE="$RELEASENAME-$VERSION.tar.xz" CURRENTDIR="$(dirname $(readlink -f $0))" -RELEASEDIR_ROOT="$CURRENTDIR/../../../release/" +RELEASEDIR_ROOT="$CURRENTDIR/../../../release" RELEASEDIR="$RELEASEDIR_ROOT/$RELEASENAME-$VERSION/megaglest-$VERSION" SOURCEDIR="$CURRENTDIR/../../source/" REPODIR="$CURRENTDIR/../../" @@ -69,7 +70,6 @@ rm -rf "$RELEASEDIR/source/shared_lib/sources/libircclient/" rm -rf "$RELEASEDIR/source/shared_lib/include/libircclient/" rm -rf "$RELEASEDIR/source/shared_lib/sources/platform/miniupnpc/" rm -rf "$RELEASEDIR/source/shared_lib/include/platform/miniupnpc/" -#rm -rf "$RELEASEDIR/source/masterserver/flags/" # END cd ${CURRENTDIR} diff --git a/mk/windoze/make-data-archive.bat b/mk/windoze/make-data-archive.bat index b053d86f..42f31a20 100644 --- a/mk/windoze/make-data-archive.bat +++ b/mk/windoze/make-data-archive.bat @@ -99,14 +99,6 @@ echo GIT ARCHIVE tutorials ... git archive --remote %REPODIR%/data/glest_game/ HEAD:tutorials | tar -x cd /d "%~dp0" -rem special export for flag images -mkdir %RELEASEDIR%\data\core\misc_textures\flags\ -cd /d %RELEASEDIR%\data\core\misc_textures\flags\ -echo GIT ARCHIVE flags ... -git archive --remote %REPODIR%/data/glest_game/data/core/misc_textures HEAD:flags | tar -x -cd /d "%~dp0" - - rem START rem remove embedded data rem rm -rf "%RELEASEDIR%\data\core\fonts"