if [ -z "$r_me" ] || [ -z "$r_other" ]; then
return
fi
+
+ # one of the two sides of the merge should be remote upstream, or all is fine
+ r_r=`git symbolic-ref HEAD`
+ r_r=${r_r#refs/heads/}
+ r_rem=`git config "branch.$r_rem.remote" || $ECHO origin`
+ r_bra=`git config "branch.$r_bra.merge" || $ECHO "$r_r"`
+ r_bra=${r_bra#refs/heads/}
+ if [ x"$r_me" != x"`git rev-parse "$r_rem/$r_bra"`" ]; then
+ if [ x"$r_other" != x"`git rev-parse "$r_rem/$r_bra"`" ]; then
+ return
+ fi
+ fi
+
r_base=`git merge-base "$r_me" "$r_other"`
# no merge-base? upstream did filter-branch
bestin=
bestt=
- for in in "$@"; do
+ for mir in "$@"; do
+ case "$mir" in
+ *:*)
+ in=${mir%%:*}
+ op=${mir#*:}
+ ;;
+ *)
+ in=$mir
+ op=
+ ;;
+ esac
m=$pre$in$suf
if t=`mirrorspeed "$m"`; then
- msg "$m -> $t ticks"
if [ -n "$t" ]; then
- if [ -z "$bestt" ] || [ "$t" -lt "$bestt" ]; then
+ tt=$(($t$op)) # fudge factor
+ msg "$m -> $t$op = $tt ticks"
+ if [ -z "$bestt" ] || [ "$tt" -lt "$bestt" ]; then
bestin=$in
- bestt=$t
+ bestt=$tt
fi
+ else
+ msg "$m -> error"
fi
else
msg "$m -> FAIL"
case "$2" in
nl) ;;
de) ;;
+ us) ;;
best) ;;
default) ;;
*)
msg "Possible locations for the -l option:"
msg " nl (Netherlands, run by merlijn)"
msg " de (Germany, run by divVerent)"
+ msg " us (United States of America, run by detrate)"
msg " best (find automatically)"
msg " default (currently nl)"
exit 1
fi
shift
done
+ case "$location" in
+ current)
+ if [ x"`git config xonotic.all.mirrorselection 2>/dev/null || true`" != x"done" ]; then
+ git config xonotic.all.mirrorselection done
+ location=best
+ fi
+ ;;
+ esac
case "$location" in
best)
+ # if we fetched via ssh://, switch to git:// for fetching and keep using ssh:// for pushing
+ case "$base" in
+ ssh://*)
+ pushbase=$base
+ base=git://git.xonotic.org/xonotic/
+ ;;
+ esac
newbase=`$ECHO "$base" | sed "s,://\(.*\.\)\?git.xonotic.org/,:// .git.xonotic.org/,"`
case "$newbase" in
*\ *)
- if location=`bestmirror $newbase"xonotic.git" de nl`; then
+ if location=`bestmirror $newbase"xonotic.git" de us nl:'*6/5'`; then # 20% malus to the NL server to not overload it too much
:
else
location=current
mkdir -p .libs
if [ -n "$WE_HATE_OUR_USERS" ]; then
verbose cp "$d0/misc/buildfiles/win32/libd0_blind_id"-* .libs/
+ verbose cp "$d0/misc/buildfiles/win32/libd0_rijndael"-* .libs/
verbose cp "$d0/misc/buildfiles/win32/libgmp"-* .libs/
else
case "`uname`" in
Linux)
case `uname -m` in
x86_64)
- verbose cp "$d0/misc/builddeps/dp.linux64/lib/libd0_blind_id".* .libs/
- verbose cp "$d0/misc/builddeps/dp.linux64/lib/libgmp".* .libs/
- MAKEFLAGS="$MAKEFLAGS DP_CRYPTO_STATIC_LIBDIR=../misc/builddeps/dp.linux64/lib/"
+ #verbose cp "$d0/misc/builddeps/dp.linux64/lib/libd0_blind_id".* .libs/
+ #verbose cp "$d0/misc/builddeps/dp.linux64/lib/libd0_rijndael".* .libs/
+ #verbose cp "$d0/misc/builddeps/dp.linux64/lib/libgmp".* .libs/
+ MAKEFLAGS="$MAKEFLAGS DP_CRYPTO_STATIC_LIBDIR=../misc/builddeps/dp.linux64/lib/ DP_CRYPTO_RIJNDAEL_STATIC_LIBDIR=../misc/builddeps/dp.linux64/lib/"
;;
*86)
- verbose cp "$d0/misc/builddeps/dp.linux32/lib/libd0_blind_id".* .libs/
- verbose cp "$d0/misc/builddeps/dp.linux32/lib/libgmp".* .libs/
- MAKEFLAGS="$MAKEFLAGS DP_CRYPTO_STATIC_LIBDIR=../misc/builddeps/dp.linux32/lib/"
+ #verbose cp "$d0/misc/builddeps/dp.linux32/lib/libd0_blind_id".* .libs/
+ #verbose cp "$d0/misc/builddeps/dp.linux32/lib/libd0_rijndael".* .libs/
+ #verbose cp "$d0/misc/builddeps/dp.linux32/lib/libgmp".* .libs/
+ MAKEFLAGS="$MAKEFLAGS DP_CRYPTO_STATIC_LIBDIR=../misc/builddeps/dp.linux32/lib/ DP_CRYPTO_RIJNDAEL_STATIC_LIBDIR=../misc/builddeps/dp.linux32/lib/"
;;
*)
compiled0=true
;;
Darwin)
verbose cp "$d0/misc/buildfiles/osx/Xonotic.app/Contents/MacOS/libd0_blind_id".* .libs/
+ verbose cp "$d0/misc/buildfiles/osx/Xonotic.app/Contents/MacOS/libd0_rijndael".* .libs/
;;
*)
compiled0=true
binary=$1
- if [ -n "$USE_GDB" ]; then
+ if [ x"$USE_GDB" = x"yes" ]; then
set -- gdb --args "$@"
- elif which gdb >/dev/null 2>&1; then
+ elif [ x"$USE_GDB" != x"no" ] && which gdb >/dev/null 2>&1; then
set -- gdb --batch -x savecore.gdb --args "$@"
elif which catchsegv >/dev/null 2>&1; then
set -- catchsegv "$@"
verbose git branch -D "${B#refs/heads/}"
fi
done
- git rev-parse refs/heads/master >/dev/null 2>&1 || verbose git checkout --track -b master origin/master || true
- git rev-parse "refs/heads/`repobranch "$d"`" >/dev/null 2>&1 || verbose git checkout --track -b "`repobranch "$d"`" origin/"`repobranch "$d"`" || true
+ git rev-parse refs/heads/master >/dev/null 2>&1 || verbose git branch --track master origin/master || true
+ git rev-parse "refs/heads/`repobranch "$d"`" >/dev/null 2>&1 || verbose git branch --track "`repobranch "$d"`" origin/"`repobranch "$d"`" || true
fi
checkself "$cmd" "$@"
done
release-prepare)
#"$SELF" each git clean -fxd
case "$RELEASETYPE" in
- beta)
- msg "Building a BETA"
- ;;
- release)
- msg "Building a RELEASE"
- ;;
- *)
+ '')
$ECHO >&2 -n "$ESC[2J$ESC[H"
msg ""
msg ""
# (YYYYMMDD)
exit 1
;;
+ release)
+ msg "Building a FINISHED RELEASE"
+ ;;
+ *)
+ msg "Building a $RELEASETYPE"
+ ;;
esac
verbose rm -rf Xonotic Xonotic*.zip
verbose mkdir -p Xonotic
verbose "$SELF" update-maps
;;
release-qc)
- case "$RELEASETYPE" in
- beta)
- verbose make -C Xonotic/source FTEQCC="../../../fteqcc/fteqcc.linux32" XON_BUILDSYSTEM=1 clean all
- # back out of: source/qcsrc/server
- ;;
- release)
- verbose make -C Xonotic/source FTEQCC="../../../fteqcc/fteqcc.linux32" XON_BUILDSYSTEM=1 FTEQCCFLAGS_WATERMARK= clean all
- ;;
- esac
+ verbose make -C Xonotic/source FTEQCC="../../../fteqcc/fteqcc.linux32" XON_BUILDSYSTEM=1 clean all
verbose rm -f Xonotic/source/*/fteqcc.log
;;
release-buildpk3-transform-raw)
patch=$(($gv - $major * 10000 - $minor * 100))
versionstr="$major.$minor.$patch"
case "$RELEASETYPE" in
- beta)
- versionstr="$versionstr""beta"
+ release)
+ ;;
+ *)
+ versionstr="$versionstr$RELEASETYPE"
;;
esac
verbose sed -i "
s/^gameversion_min [0-9]*/gameversion_min $(( ($gv / 100) * 100 - 100 ))/;
s/^gameversion_max [0-9]*/gameversion_max $(( ($gv / 100) * 100 + 199 ))/;
" defaultXonotic.cfg
+ case "$RELEASETYPE" in
+ release)
+ echo "" >> defaultXonotic.cfg
+ echo "// nicer menu" >> defaultXonotic.cfg
+ echo "set menu_watermark \"\"" >> defaultXonotic.cfg
+ ;;
+ esac
(
verbose cd gfx/menu/luminos
verbose cp "$d0"/mediasource/gfx/menu/luminos_versionbuilder/background_l2.svg .
Xonotic/data/xonotic-$stamp-data-low.pk3 \
Xonotic/data/xonotic-$stamp-maps-low.pk3 \
Xonotic/data/xonotic-$stamp-music-low.pk3
-# verbose cp Xonotic-$stamp-common.zip Xonotic-$stamp-high.zip
-# verbose mkzip0 Xonotic-$stamp-high.zip \
-# Xonotic/data/xonotic-$stamp-data-raw.pk3 \
-# Xonotic/data/xonotic-$stamp-maps-raw.pk3 \
-# Xonotic/data/xonotic-$stamp-music.pk3 \
-# Xonotic/data/xonotic-$stamp-nexcompat.pk3
verbose mv Xonotic-$stamp-common.zip Xonotic-$stamp-lowdds.zip
verbose mkzip0 Xonotic-$stamp-lowdds.zip \
Xonotic/data/xonotic-$stamp-data-lowdds.pk3 \