quakeforge/tools/build_scripts/qf-release

130 lines
2.4 KiB
Text
Raw Normal View History

2010-12-24 00:51:07 +00:00
#! /bin/bash -x
. ~/.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-08 13:54:56 +00:00
pref=`dirname $0`
if test $# -lt 1; then
2007-03-08 13:54:56 +00:00
echo 'Usage: $0 <version> [targets]'
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
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
;;
*)
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
cd quakeforge-$ver
2010-12-24 00:51:07 +00:00
git checkout $tag_name
cp NEWS $RELEASE
if test "$tag_name" != master; then
sed -e "s/git-master/$tag_name/" configure.ac > configure.ac-
mv configure.ac- configure.ac
fi
2007-03-08 13:54:56 +00:00
mkdir -p linux.o qf-win32.o
./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
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
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
rm -rf $DIR
cd ..
2010-12-24 00:51:07 +00:00
mv q*.[a-z]* $RELEASE
cd ..
fi
#make dist-all-local
2010-12-24 00:51:07 +00:00
mv *.tar.gz *.tar.bz2 *.zip $RELEASE
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
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} \
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
mkdir -p ${qf_win32_dir}/pkgconfig
mv ${qf_win32_dir}/QF/*.pc ${qf_win32_dir}/pkgconfig
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
cd ..
fi