blob: 01df562298998242360bad5f246285a928f9c807 (
plain) (
blame)
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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
|
#!/bin/bash
pwd
mkdir logs
export dir=$(pwd)
export ERRFILE=${dir}/logs/${LOGFILE}
cat /etc/os-release
rm ${ERRFILE}
function do_init {
cd ..
ln -s evol-hercules server-plugin
}
function update_repos {
if [ "$CI_SERVER" == "" ];
then
return
fi
export DATA=$(cat /etc/resolv.conf|grep "nameserver 1.10.100.101")
if [ "$DATA" != "" ];
then
echo "Detected local runner"
sed -i 's!http://httpredir.debian.org/debian!http://1.10.100.103/debian!' /etc/apt/sources.list
else
echo "Detected non local runner"
fi
}
function aptget_update {
echo "apt-get update"
apt-get update
if [ "$?" != 0 ]; then
sleep 1s
apt-get update
if [ "$?" != 0 ]; then
sleep 2s
apt-get update
if [ "$?" != 0 ]; then
sleep 5s
apt-get update
fi
fi
fi
}
function aptget_install {
echo "apt-get -y -qq install $*"
apt-get -y -qq install $*
if [ "$?" != 0 ]; then
sleep 1s
apt-get -y -qq install $*
if [ "$?" != 0 ]; then
sleep 2s
if [ "$?" != 0 ]; then
sleep 5s
apt-get -y -qq install $*
fi
apt-get -y -qq install $*
fi
fi
}
function gitclone1 {
echo git clone $2 $3
git clone $2 $3
if [ "$?" != 0 ]; then
echo git clone $1 $3
git clone $1 $3
return $?
fi
return $?
}
function gitclone {
export name1=$1/$2
export name2=${CI_BUILD_REPO##*@}
export name2=https://${name2%/*}/$2
gitclone1 "$name1" "$name2" $3
if [ "$?" != 0 ]; then
sleep 1s
gitclone1 "$name1" "$name2" $3
if [ "$?" != 0 ]; then
sleep 3s
gitclone1 "$name1" "$name2" $3
if [ "$?" != 0 ]; then
sleep 5s
gitclone1 "$name1" "$name2" $3
fi
fi
fi
check_error $?
}
function check_error {
if [ "$1" != 0 ]; then
echo "error $1"
exit $1
fi
}
function run_configure_simple {
echo "autoreconf -i"
mkdir m4
autoreconf -i
check_error $?
mkdir build
cd build
echo "../configure $*"
../configure $*
check_error $?
}
function run_configure {
run_configure_simple $*
}
function run_make {
echo "make -j2 V=0 $*"
make -j2 V=0 $*
check_error $?
}
function run_check_warnings {
DATA=$(cat $ERRFILE)
if [ "$DATA" != "" ];
then
cat $ERRFILE
exit 1
fi
}
function run_h {
rm $ERRFILE
echo "$CC -c -x c++ $* $includes */*/*/*.h */*/*.h */*.h *.h"
$CC -c -x c++ $* $includes */*/*/*.h */*/*.h */*.h *.h 2>$ERRFILE
DATA=$(cat $ERRFILE)
if [ "$DATA" != "" ];
then
cat $ERRFILE
exit 1
fi
}
function run_tarball {
rm $ERRFILE
echo "make dist-xz"
make dist-xz 2>$ERRFILE
check_error $?
mkdir $1
cd $1
echo "tar xf ../*.tar.xz"
tar xf ../*.tar.xz
cd manaplus*
}
function run_mplint {
rm $ERRFILE
echo "mplint/src/mplint $*"
mplint/src/mplint $* >$ERRFILE
check_error $?
run_check_warnings
}
function clone_tool {
rm -rf tools
gitclone https://gitlab.com/evol evol-tools.git tools
}
function clone_servercode {
rm -rf server-code
gitclone https://gitlab.com/evol hercules.git server-code
}
function build_init {
clone_servercode
mkdir server-code/src/evol
mkdir -p server-data/plugins
cp -r evol-hercules/* server-code/src/evol/
check_error $?
cd server-code/src/evol
check_error $?
}
update_repos
aptget_update
|