wesnoth/utils/mp-server/new_release

42 lines
1.7 KiB
Bash
Executable File

#!/bin/bash
if [ "$1" == "-n" ]; then
echo=echo
shift
else
echo=""
fi
if ! [ $# -ge 1 ]; then
echo "Syntax: $0 [-n] <new minor version>"
exit 1
fi
[ $1 -ge 1 ] || exit 1
DEV_VERSION=1.3
NEW_VERSION=$DEV_VERSION.$1
PREV_VERSION=$DEV_VERSION.$(($1-1))
PPREV_VERSION=$DEV_VERSION.$(($1-2))
NEXT_VERSION=$DEV_VERSION.$(($1+1))
DEV_SERVER_CONFIG=$HOME/servers/$DEV_VERSION/wesnothd.cfg
PREV_SERVER_CONFIG=$HOME/servers/$DEV_VERSION-prev/wesnothd.cfg
PREV_SERVER_REDIRECT=$HOME/servers/$DEV_VERSION-prev/redirect.cfg
#if ! ps -C wesnothd-$DEV_VERSION-prev>/dev/null; then
# echo "Previous server isn't running!"
# exit 1
#fi
$echo sed -i -e "/versions_accepted=/s/$PPREV_VERSION/$PREV_VERSION/" $PREV_SERVER_CONFIG
$echo sed -i -e "/motd=/s/$PREV_VERSION/$NEW_VERSION/g" $PREV_SERVER_CONFIG
# reload the config
$echo killall -SIGHUP wesnothd-$DEV_VERSION-prev || exit 1
# check if we currently allow the previous version to prevent announcing the same version twice
$echo [ grep "versions_accepted=.*$PREV_VERSION" ] || exit 1
$echo sed -i -e "/versions_accepted=/s/$PREV_VERSION/$NEXT_VERSION/" $DEV_SERVER_CONFIG
$echo sed -i -e "/motd=/s/$PREV_VERSION/$NEW_VERSION/g" $DEV_SERVER_CONFIG
# update previous version redirect
$echo sed -i -e "/\[redirect\]/N;/version=/s/$PPREV_VERSION/$PREV_VERSION/" $PREV_SERVER_REDIRECT
$echo sed -i -e "s,#{./$DEV_VERSION-prev-redirect.cfg},{./$DEV_VERSION-prev-redirect.cfg}," $DEV_SERVER_CONFIG
# reload the config
$echo killall -SIGHUP wesnothd-$DEV_VERSION wesnothd-trunk || exit 1
$echo send_server_command $DEV_VERSION msg Version $NEW_VERSION released! New users with the previous version will be redirected to a temporary server that will run until binaries for all major OSs are out.