2010-12-24 00:51:07 +00:00
|
|
|
#! /bin/bash -x
|
2007-03-07 14:28:51 +00:00
|
|
|
|
|
|
|
. ~/.bash_profile
|
|
|
|
|
|
|
|
set -e
|
|
|
|
|
|
|
|
PATH=/usr/local/bin:$PATH
|
2010-12-24 00:51:07 +00:00
|
|
|
MINGW=~/src/mingw/mingw-cross-env-2.18/usr/i686-pc-mingw32
|
|
|
|
RELEASE=~/release
|
2010-12-24 01:41:09 +00:00
|
|
|
export QFSMP=${QFSMP--j4}
|
2007-03-07 14:28:51 +00:00
|
|
|
|
2007-03-08 13:54:56 +00:00
|
|
|
pref=`dirname $0`
|
2007-03-07 14:28:51 +00:00
|
|
|
if test $# -lt 1; then
|
2007-03-08 13:54:56 +00:00
|
|
|
echo 'Usage: $0 <version> [targets]'
|
2007-03-07 14:28:51 +00:00
|
|
|
exit 1;
|
|
|
|
fi
|
|
|
|
|
|
|
|
ver="$1"
|
2010-12-24 00:51:07 +00:00
|
|
|
shift
|
2007-03-08 13:54:56 +00:00
|
|
|
if test "$ver" = "current"; then
|
2010-12-24 00:51:07 +00:00
|
|
|
tag_name=master
|
2007-03-08 13:54:56 +00:00
|
|
|
else
|
2010-12-24 00:51:07 +00:00
|
|
|
tag_name="$ver"
|
2007-03-08 13:54:56 +00:00
|
|
|
fi
|
|
|
|
|
|
|
|
do_rpm=0
|
|
|
|
do_deb=0
|
|
|
|
do_win32=0
|
|
|
|
no_rm=0
|
2007-03-07 14:28:51 +00:00
|
|
|
|
|
|
|
if test $# -ne 0; then
|
|
|
|
while test $# -ne 0; do
|
|
|
|
case $1 in
|
|
|
|
rpm)
|
|
|
|
do_rpm=1
|
|
|
|
;;
|
|
|
|
deb)
|
|
|
|
do_deb=1
|
|
|
|
;;
|
|
|
|
win32)
|
|
|
|
do_win32=1
|
|
|
|
;;
|
2007-03-08 13:54:56 +00:00
|
|
|
norm)
|
|
|
|
no_rm=1
|
|
|
|
;;
|
2007-03-07 14:28:51 +00:00
|
|
|
*)
|
|
|
|
echo 'Unknown target'
|
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
shift
|
|
|
|
done
|
|
|
|
else
|
|
|
|
do_rpm=1
|
|
|
|
do_deb=1
|
|
|
|
do_win32=1
|
|
|
|
fi
|
|
|
|
|
2010-12-24 00:51:07 +00:00
|
|
|
git_url=${git_url:-git://git.quakeforge.net/gitroot/quake/quakeforge}
|
2007-03-08 13:54:56 +00:00
|
|
|
|
2010-12-24 00:51:07 +00:00
|
|
|
mkdir -p $RELEASE
|
|
|
|
cd $RELEASE
|
2007-03-08 13:54:56 +00:00
|
|
|
if test $no_rm -ne 1; then
|
2011-09-10 09:10:51 +00:00
|
|
|
rm -rf NEWS quakeforge-* qfcc-* quakeforge_* qfcc_*
|
2007-03-08 13:54:56 +00:00
|
|
|
fi
|
2010-12-24 00:51:07 +00:00
|
|
|
git clone $git_url || true
|
|
|
|
mv quakeforge quakeforge-$ver
|
2007-03-07 14:28:51 +00:00
|
|
|
cd quakeforge-$ver
|
2010-12-24 00:51:07 +00:00
|
|
|
git checkout $tag_name
|
|
|
|
cp NEWS $RELEASE
|
2011-12-09 02:27:46 +00:00
|
|
|
if test "$tag_name" != master; then
|
2012-07-11 04:38:27 +00:00
|
|
|
sed -i -e "s/git-master/$tag_name/" configure.ac
|
2011-12-09 02:27:46 +00:00
|
|
|
fi
|
2007-03-08 13:54:56 +00:00
|
|
|
mkdir -p linux.o qf-win32.o
|
2007-03-07 14:28:51 +00:00
|
|
|
./bootstrap
|
|
|
|
#begin linux
|
|
|
|
cd linux.o
|
|
|
|
../configure -C --without-clients --with-servers=master
|
2007-03-08 13:54:56 +00:00
|
|
|
#make changelog
|
|
|
|
touch ChangeLog
|
2007-03-07 14:28:51 +00:00
|
|
|
make dist-all-local
|
|
|
|
if test $do_rpm -eq 1; then
|
|
|
|
cd RPM
|
|
|
|
make rpm
|
2010-12-24 00:51:07 +00:00
|
|
|
mv *.rpm $RELEASE
|
2007-03-07 14:28:51 +00:00
|
|
|
cd ..
|
|
|
|
fi
|
|
|
|
if test $do_deb -eq 1; then
|
|
|
|
DIR=`basename quakeforge-*.tar.gz .tar.gz`
|
|
|
|
cd debian
|
|
|
|
rm -rf $DIR
|
|
|
|
tar zxvf ../${DIR}.tar.gz
|
|
|
|
cd $DIR
|
2010-12-24 01:41:09 +00:00
|
|
|
dpkg-buildpackage -rfakeroot -us -uc
|
2007-03-07 14:28:51 +00:00
|
|
|
rm -rf $DIR
|
|
|
|
cd ..
|
2010-12-24 00:51:07 +00:00
|
|
|
mv q*.[a-z]* $RELEASE
|
2007-03-07 14:28:51 +00:00
|
|
|
cd ..
|
|
|
|
fi
|
|
|
|
#make dist-all-local
|
2010-12-24 00:51:07 +00:00
|
|
|
mv *.tar.gz *.tar.bz2 *.zip $RELEASE
|
2007-03-07 14:28:51 +00:00
|
|
|
cd ..
|
|
|
|
# end linux
|
|
|
|
if test $do_win32 -eq 1; then
|
|
|
|
cd qf-win32.o
|
|
|
|
qf_win32="quakeforge-$ver-win32"
|
|
|
|
qf_win32_dir=`pwd`"/$qf_win32"
|
2007-03-08 13:54:56 +00:00
|
|
|
mingw32="/usr/local/cross-tools/i386-mingw32msvc"
|
2010-12-24 00:51:07 +00:00
|
|
|
sed -e 's@^\./config@../config@' \
|
2012-02-08 12:06:39 +00:00
|
|
|
../tools/cross/mingw/cross-configure.sh > cross-configure.sh
|
2007-03-08 13:54:56 +00:00
|
|
|
chmod +x cross-configure.sh
|
2007-03-07 14:28:51 +00:00
|
|
|
rm -rf $qf_win32_dir *.zip
|
2007-03-08 13:54:56 +00:00
|
|
|
./cross-configure.sh \
|
2010-12-24 00:51:07 +00:00
|
|
|
--disable-debug --disable-shared \
|
2007-03-08 13:54:56 +00:00
|
|
|
--program-prefix=
|
2012-02-08 12:06:39 +00:00
|
|
|
../tools/cross/mingw/cross-make.sh $QFSMP \
|
2007-03-08 13:54:56 +00:00
|
|
|
prefix=${qf_win32_dir} \
|
|
|
|
exec_prefix=${qf_win32_dir} \
|
2011-09-11 08:13:20 +00:00
|
|
|
pkgdatadir=${qf_win32_dir}/QF \
|
2010-12-24 01:41:09 +00:00
|
|
|
man1dir=${qf_win32_dir} \
|
2010-12-24 00:51:07 +00:00
|
|
|
install
|
2012-06-29 02:15:11 +00:00
|
|
|
mkdir -p ${qf_win32_dir}/pkgconfig
|
2012-07-13 09:14:50 +00:00
|
|
|
mv ${qf_win32_dir}/QF/*.pc ${qf_win32_dir}/pkgconfig
|
2012-07-13 08:03:11 +00:00
|
|
|
cp -a ../tools/io_mesh_qfmdl ${qf_win32_dir}
|
2010-12-24 00:51:07 +00:00
|
|
|
$MINGW/bin/strip --strip-unneeded "$qf_win32"/bin/*.exe
|
|
|
|
../tools/build_scripts/qf-win32.py "$ver-win32" quakeforge "$qf_win32"
|
|
|
|
mv *.zip $RELEASE
|
2007-03-07 14:28:51 +00:00
|
|
|
cd ..
|
|
|
|
fi
|