diff options
Diffstat (limited to 'packaging')
| -rwxr-xr-x | packaging/linux/build.sh | 83 | ||||
| -rwxr-xr-x | packaging/source/source.sh | 34 |
2 files changed, 36 insertions, 81 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 diff --git a/packaging/source/source.sh b/packaging/source/source.sh deleted file mode 100755 index de0e8cd..0000000 --- a/packaging/source/source.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/sh - -echo "*** Source Packager ***" - -if [ ! $1 ]; then - echo "usage: $0 version" - exit 1 -fi - -VERSION=$1 -INSTALL_DIR="pkgs/tuxanci-${VERSION}-src" -SVN='https://opensvn.csie.org/tuxanci_ng/' -error="Error! See pkgs/src.log for more iformation" - -mkdir pkgs -p -touch pkgs/src.log -2&>1 - -rm -rfv $INSTALL_DIR > pkgs/src.log || `echo $error; exit 1` - - -echo "* Fetching files from SVN" -svn export $SVN pkgs/tuxanci-0.20.0-src >> pkgs/src.log || `echo $error; exit 1` - -echo "* Configuring" -echo "#define TUXANCI_VERSION \"${VERSION}\"" > $INSTALL_DIR/config.h || `echo $error; exit 1` - -rm -fv $INSTALL_DIR/ci >> pkgs/src.log || `echo $error; exit 1` - -echo "* Packaging" -tar cjf $INSTALL_DIR.tar.bz2 $INSTALL_DIR || `echo $error; exit 1` - -echo "** Source package is ready!" - |