blob: 80dd7be10cdced8f5232811fa60f936547352eb2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
#!/bin/sh
# Created by Tomas Chvatal (Scarabeus_IV)
###############################################################################
echo "<******************************>"
echo "<GNU/Linux TUXANCI Binary 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 "-v 0.2.5 \"compile version 0.2.5\""
echo "!if no version is specified svn version is created!"
echo "!This build tool is for 64b version (creates 32b and 64b thought)!"
exit 1
fi
###############################################################################
# ARGUMENT PASSING
###############################################################################
VERSION="9999"
while getopts v:s arg
do
case $arg in
v) VERSION=${OPTARG};;
*) VERSION="9999";;
esac
done
###############################################################################
# VARIABLES
###############################################################################
APPNAME="tuxanci"
SVN="https://opensvn.csie.org/tuxanci_ng/"
BUNDLE_PREFIX="${HOME}/tuxanci-bundle"
LOG="${BUNDLE_PREFIX}/linux.log"
SOURCE="${BUNDLE_PREFIX}/source"
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}"
###############################################################################
# PREPARING ENVIROMENT
###############################################################################
mkdir -p "${BUNDLE_PREFIX}" || ( echo "I was unable to create working directory"; exit 1 )
#rm -rf "${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
###############################################################################
# BUILDING CLIENT
###############################################################################
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 )
###############################################################################
# SRC CLEANUP
###############################################################################
rm CMakeCache.txt || ( echo "I was unable to cleanup CMakeCache.txt"; exit 1; )
make clean
###############################################################################
# BUILDING SERVER
###############################################################################
echo "<******************************>"
echo "<Building Server ${X}>"
echo "<******************************>"
cd "${SOURCE}"
cmake . ${CMAKE_PARAMS} -DServer=ON >> "${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
###############################################################################
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}"
###############################################################################
# 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
done
###############################################################################
# DESTRUCTION OF UNPACKED BINARIES
###############################################################################
for X in ${ARCHS}; do
for Y in ${OPTIONS}; do
rm -rf "${APPNAME}"_"${Y}"-"${X}"/
done
done
###############################################################################
# SHOW WHAT HAVE WE DONE
###############################################################################
echo "<What have i created :>"
echo "<******************************>"
find ./ -maxdepth 1 -type f -print
echo
echo
echo "<GNU/Linux binary packages are ready>"
echo
echo
|