blob: 8183c3e0edc833096775b83ffa1d97e9ad3056f3 (
plain) (
tree)
|
|
#!/bin/bash
mkdir logs
export dir=$(pwd)
export ERRFILE=${dir}/logs/${LOGFILE}
cat /etc/os-release
rm ${ERRFILE}
function check_error {
if [ "$1" != 0 ]; then
echo "Error $1"
exit $1
fi
}
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 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 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 {
update_repos
apt-get update
if [ "$?" != 0 ]; then
sleep 1s
apt-get update
if [ "$?" != 0 ]; then
sleep 1s
apt-get update
fi
fi
check_error $?
}
function aptget_install {
apt-get -y -qq install $*
if [ "$?" != 0 ]; then
sleep 1s
apt-get -y -qq install $*
if [ "$?" != 0 ]; then
sleep 2s
apt-get -y -qq install $*
fi
fi
check_error $?
}
function make_server {
ls -la ../server-data
ls -la ../server-data/plugins
if [ -e "../server-data/.tools/beta.patch2" ]
then
echo "Download and install Python 2.7 Minimal ........"
aptget_install python2.7-minimal wget
echo "Download and apply reapply patch ........"
cd ../server-data/.tools; python2.7 applicator.py
echo "Apply beta.patch2 ........"
cd ../../server-code ; git apply ../server-data/.tools/beta.patch2
echo "........ Done."
fi
echo source src/evol/tools/vars.sh
source ./src/evol/tools/vars.sh
check_error $?
export CPPFLAGS="$CPPFLAGS -DI_AM_AWARE_OF_THE_RISK_AND_STILL_WANT_TO_RUN_HERCULES_AS_ROOT -UPYTHON_LOGS"
echo "autoreconf -i"
autoreconf -i
check_error $?
echo ./configure $1 CPPFLAGS=\"${CPPFLAGS}${HERCCPPFLAGS}\"
./configure $1 CPPFLAGS="$CPPFLAGS$HERCCPPFLAGS"
export err="$?"
if [ "$err" != 0 ]; then
echo "Error $err"
echo cat config.log
cat config.log
exit $err
fi
echo "make -j2"
make -j2
check_error $?
echo "make -j2 plugin.script_mapquit"
make -j2 plugin.script_mapquit
check_error $?
make install
check_error $?
cd src/evol
echo "autoreconf -i"
mkdir m4
autoreconf -i
check_error $?
mkdir build
cd build
echo ../configure $2 CPPFLAGS=\"${VARS} -UPYTHON_LOGS\"
../configure $2 CPPFLAGS="${VARS} -UPYTHON_LOGS"
check_error $?
echo "make -j2 V=0"
make -j2 V=0
check_error $?
cd ../../../..
ls -la server-data/plugins
}
function do_init_data {
mkdir shared
rm -rf ../server-data
cp -r . ../server-data
cd ..
ls -la server-data
check_error $?
}
function do_init_tools {
cd ..
rm -rf tools
gitclone https://gitlab.com/TMW2 evol-tools.git tools
}
function do_init {
do_init_data
rm -rf server-code
gitclone https://gitlab.com/TMW2 hercules.git server-code
check_error $?
cd server-code/src ; git checkout tmw2
check_error $?
#: ' #Use this to force an old version. You need s20190422 for this.
echo "Rolling server back to correct version"
cd ..
# 10.0 and prior: Server s20190513
#git diff master 41b5d5e9b6f14fd26197958aec29a02858dff299 > x.diff
# Current version: Server s20190819
#git diff master ce2dbb6acdc559ec256d1f9f9a779b8283064708 > x.diff
#ls
#head -n 25 x.diff
#tail -n 40 x.diff
#git apply --reject --whitespace=nowarn x.diff
#echo "====================================== CHANGES APPLIED"
git status
ls --recursive|grep ".rej"
echo "====================================== Continuing..."
cd src
check_error $?
#'
gitclone https://gitlab.com/TMW2 evol-hercules.git evol ; cd evol ; git checkout tmw2 ; cd ..
check_error $?
cd ../..
check_error $?
mkdir -p server-data/plugins
}
function build_init {
if [ "$CI_SERVER" == "" ];
then
return
fi
mkdir -p /local/bin
echo "#!/bin/bash" > /local/bin/id
echo "echo 1000" >> /local/bin/id
export PATH="/local/bin:$PATH"
chmod +x /local/bin/id
echo "fake id check"
id
cd server-code/src/evol
source tools/vars.sh
check_error $?
cd ../../..
check_error $?
echo $CC --version
$CC --version
check_error $?
}
function init_configs {
cd tools/localserver
./installconfigs.sh
cd ../..
cp server-data/.tools/conf/$1/* server-data/conf/import/
cp server-data/.tools/npc/motd-* server-data/npc/commands/
ls -la server-data/conf/import
cat server-data/conf/import/inter_conf.txt
}
|