summaryrefslogtreecommitdiff
path: root/packaging/linux
diff options
context:
space:
mode:
Diffstat (limited to 'packaging/linux')
-rwxr-xr-xpackaging/linux/build.sh83
1 files changed, 36 insertions, 47 deletions
diff --git a/packaging/linux/build.sh b/packaging/linux/build.sh
index 80dd7be..d6d7bf8 100755
--- a/packaging/linux/build.sh
+++ b/packaging/linux/build.sh
@@ -1,29 +1,35 @@
-#!/bin/sh
+#!/usr/bin/env sh
# Created by Tomas Chvatal (Scarabeus_IV)
###############################################################################
echo "<******************************>"
-echo "<GNU/Linux TUXANCI Binary Packager>"
+echo "<GNU/Linux TUXANCI Packager>"
echo "<******************************>"
# This tool is only for tuxanci game developers, don't use it for yourself
###############################################################################
# HELP
###############################################################################
if [[ $1 == "--help" ]]; then
- echo "usage: $0 -v version"
+ echo "usage: $0 -v version -a arch -r revision"
echo "-v 0.2.5 \"compile version 0.2.5\""
+ echo "-a 32b \"compile 32b ELF (64b for 64b ELF)\""
+ echo "-r 183 \"create packages from svn revision 183\""
echo "!if no version is specified svn version is created!"
- echo "!This build tool is for 64b version (creates 32b and 64b thought)!"
+ echo "!if no arch is specified 64b is used!"
+ echo "!if no revision is specified HEAD is used!"
exit 1
fi
###############################################################################
# ARGUMENT PASSING
###############################################################################
VERSION="9999"
-while getopts v:s arg
+ARCH="64b"
+SVN_REV=""
+while getopts v:a:r: arg
do
case $arg in
v) VERSION=${OPTARG};;
- *) VERSION="9999";;
+ a) ARCH=${OPTARG};;
+ r) SVN_REV="-r ${OPTARG}";;
esac
done
###############################################################################
@@ -33,81 +39,64 @@ APPNAME="tuxanci"
SVN="https://opensvn.csie.org/tuxanci_ng/"
BUNDLE_PREFIX="${HOME}/tuxanci-bundle"
LOG="${BUNDLE_PREFIX}/linux.log"
-SOURCE="${BUNDLE_PREFIX}/source"
+SOURCE="${BUNDLE_PREFIX}"/"${APPNAME}"_source_"${VERSION}"
D="${BUNDLE_PREFIX}/${APPNAME}"
-ARCHS="64b 32b"
OPTIONS="client server"
ERROR_MESSAGE="Check ${LOG}, cause i was unable to finish my stuff correctly!"
-CMAKE_PARAMS="-DBundle=1 -DTUXANCI_VERSION=${VERSION}"
+CMAKE_PARAMS="-DBundle=1 -DTUXANCI_VERSION=${VERSION} -DCMAKE_BUILD_TYPE=Release"
###############################################################################
# PREPARING ENVIROMENT
###############################################################################
mkdir -p "${BUNDLE_PREFIX}" || ( echo "I was unable to create working directory"; exit 1 )
-#rm -rf "${BUNDLE_PREFIX}"/*
+rm -rf "${BUNDLE_PREFIX}"/*
+cd "${BUNDLE_PREFIX}"
touch "${LOG}" || ( echo "I was unable to create log file"; exit 1 )
echo "" > "${LOG}" # LOG CLEANUP
echo "<Downloading files from SVN repository>"
echo "<******************************>"
-svn export $SVN ${SOURCE} >> "${LOG}" || ( echo "${ERROR_MESSAGE}"; exit 1 )
-# fix prefix placement
-
-for X in ${ARCHS}; do
-if [[ ${X} == "32b" ]]; then
- CMAKE_PARAMS="${CMAKE_PARAMS} -DCMAKE_C_FLAGS=-m32"
-fi
+svn export $SVN ${SVN_REV} ${SOURCE} >> "${LOG}" || ( echo "${ERROR_MESSAGE}"; exit 1 )
+rm -rf ${SOURCE}/packaging
###############################################################################
-# BUILDING CLIENT
+# CREATE SOURCE PACKAGE
###############################################################################
-echo "<******************************>"
-echo "<Building Client ${X}>"
-echo "<******************************>"
-cd "${SOURCE}"
-cmake . ${CMAKE_PARAMS} >> "${LOG}" || ( echo "${ERROR_MESSAGE}"; exit 1 )
-make >> "${LOG}" || ( echo "${ERROR_MESSAGE}"; exit 1 )
-make install DESTDIR="${D}_client-${X}/" >> "${LOG}" || ( echo "${ERROR_MESSAGE}"; exit 1 )
+tar cjf "${APPNAME}"_source_"${VERSION}".tar.bz2 "${APPNAME}"_source_"${VERSION}"/
###############################################################################
-# SRC CLEANUP
-###############################################################################
-rm CMakeCache.txt || ( echo "I was unable to cleanup CMakeCache.txt"; exit 1; )
-make clean
-###############################################################################
-# BUILDING SERVER
+# BUILDING BINARIES
###############################################################################
+for Y in ${OPTIONS}; do
echo "<******************************>"
-echo "<Building Server ${X}>"
+echo "<Building ${Y} ${ARCH}>"
echo "<******************************>"
+if [[ ${Y} == "server" ]]; then
+ CMAKE_PARAMS="${CMAKE_PARAMS} -DServer=1"
+fi
cd "${SOURCE}"
-cmake . ${CMAKE_PARAMS} -DServer=ON >> "${LOG}" || ( echo "${ERROR_MESSAGE}"; exit 1 )
+cmake . ${CMAKE_PARAMS} >> "${LOG}" || ( echo "${ERROR_MESSAGE}"; exit 1 )
make >> "${LOG}" || ( echo "${ERROR_MESSAGE}"; exit 1 )
-make install DESTDIR="${D}_server-${X}/" >> "${LOG}" || ( echo "${ERROR_MESSAGE}"; exit 1 )
-###############################################################################
-# SRC CLEANUP
-###############################################################################
+make install DESTDIR="${D}_${Y}_${VERSION}-${ARCH}/" >> "${LOG}" || ( echo "${ERROR_MESSAGE}"; exit 1 )
+cd "${D}"_"${Y}"_"${VERSION}"-"${ARCH}"/
+`which strip` --strip-unneeded lib/tuxanci/* bin/*
rm CMakeCache.txt || ( echo "I was unable to cleanup CMakeCache.txt"; exit 1; )
make clean
-###############################################################################
done
+###############################################################################
# DESTRUCTION OF SRC
###############################################################################
cd "${BUNDLE_PREFIX}"
-#rm -rf "${SOURCE}"
+rm -rf "${SOURCE}"
###############################################################################
# BUILDING TARS
###############################################################################
echo "<Creating tar.bz2 archives>"
echo "<******************************>"
-for X in ${ARCHS}; do
- for Y in ${OPTIONS}; do
- tar cjf "${APPNAME}"_"${Y}"-"${X}".tar.bz2 "${APPNAME}"_"${Y}"-"${X}"/*
- done
+for Y in ${OPTIONS}; do
+ tar cjf "${APPNAME}"_"${Y}"_"${VERSION}"-"${ARCH}".tar.bz2 "${APPNAME}"_"${Y}"_${VERSION}-"${ARCH}"/*
done
###############################################################################
# DESTRUCTION OF UNPACKED BINARIES
###############################################################################
-for X in ${ARCHS}; do
- for Y in ${OPTIONS}; do
- rm -rf "${APPNAME}"_"${Y}"-"${X}"/
- done
+for Y in ${OPTIONS}; do
+ rm -rf "${APPNAME}"_"${Y}"_${VERSION}-"${ARCH}"/
done
###############################################################################
# SHOW WHAT HAVE WE DONE