X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fxonotic.git;a=blobdiff_plain;f=all;h=58e1ea40bf8011ec3a6b4d971287cbc4df4f3403;hp=92e54cb670930d9b231776c240fd3f50169c2dad;hb=dcd912a0c53cc36d110c610650b7a4c5d1422f78;hpb=19b34c1c8a68c618595b11567e72b8f1d263cc86 diff --git a/all b/all index 92e54cb6..58e1ea40 100755 --- a/all +++ b/all @@ -113,11 +113,11 @@ repos_urls=" data/xonotic-data.pk3dir | | master | data/xonotic-maps.pk3dir | | master | data/xonotic-music.pk3dir | | master | -data/xonotic-nexcompat.pk3dir | | master | -mediasource | | master | +data/xonotic-nexcompat.pk3dir | | master | no +mediasource | | master | no darkplaces | | div0-stable | svn fteqcc | git://github.com/Blub/qclib.git | master | -div0-gittools | | master | +div0-gittools | | master | no netradiant | | master | " # todo: in darkplaces, change repobranch to div0-stable @@ -171,12 +171,47 @@ repoflags() echo "$repos_urls" | grep "^$1 " | cut -d '|' -f 4 | tr -d ' ' } -repos=`for d in $repos; do - p="${d%dir}" - if [ x"$p" = x"$d" ] || [ -d "$d" ] || ! { [ -f "$d.no" ] || [ -f "$p" ]; }; then +listrepos() +{ + for d in $repos; do + p="${d%dir}" + f="`repoflags "$d"`" + # if we have the dir, always keep it + if [ -d "$d" ]; then + msg "Repository $d enabled because it already exists" + echo "$d" + continue + fi + # if .yes file exists, always keep it + if [ -f "$d.yes" ]; then + msg "Repository $d enabled by a .yes file" + echo "$d" + continue + fi + # if we have .no file, skip + if [ -f "$d.no" ]; then + msg "Repository $d disabled by a .no file, delete $p.no to enable" + continue + fi + # if we have matching pk3, skip + if [ x"$p" != x"$d" ] && [ -f "$p" ]; then + msg "Repository $d disabled by matching .pk3 file, delete $p or create $d.yes to enable" + continue + fi + # if "no" flag is set, skip + case ",$f," in + *,no,*) + msg "Repository $d disabled by default, create $d.yes to enable" + continue + ;; + esac + # default: enable + msg "Repository $d enabled by default" echo "$d" - fi -done` + done +} + +repos=`listrepos` if [ "$#" = 0 ]; then set -- help @@ -229,6 +264,14 @@ fix_upstream_rebase_mergefail() fix_upstream_rebase } +fix_git_config() +{ + verbose git config core.autocrlf input + if [ -z "`git config push.default`" ]; then + verbose git config push.default current # or is tracking better? + fi +} + case "$cmd" in fix_upstream_rebase) for d in $repos; do @@ -247,11 +290,9 @@ case "$cmd" in if [ -d "$d0/$d" ]; then if $allow_pull; then enter "$d0/$d" verbose + fix_git_config verbose git config remote.origin.url "$url" verbose git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*" - - verbose git config core.autocrlf input - r=`git symbolic-ref HEAD` r=${r#refs/heads/} if git config branch.$r.remote >/dev/null 2>&1; then @@ -274,6 +315,7 @@ case "$cmd" in else verbose git clone "$url" "$d0/$d" enter "$d0/$d" verbose + fix_git_config if [ "$branch" != "master" ]; then verbose git checkout --track -b "$branch" origin/"$branch" fi @@ -506,16 +548,10 @@ case "$cmd" in cleanqc=true shift ;; - -n) - cleandp=false - cleanqcc=false - cleanqc=false - shift - ;; *) cleandp=false cleanqcc=false - cleanqc=true # version info + cleanqc=false ;; esac if [ $# -gt 0 ] && [ x"$1" = x"" ]; then @@ -557,13 +593,8 @@ case "$cmd" in MAKEFLAGS=-j$ncpus fi fi - case "`uname`" in - Linux|*BSD) - MAKEFLAGS="$MAKEFLAGS DP_LINK_TO_LIBJPEG=1" - ;; - esac if [ -n "$WE_HATE_OUR_USERS" ]; then - MAKEFLAGS="$MAKEFLAGS DP_MAKE_TARGET=mingw" + MAKEFLAGS="$MAKEFLAGS DP_MAKE_TARGET=mingw LIB_JPEG= CFLAGS_LIBJPEG=" fi fi @@ -797,7 +828,7 @@ case "$cmd" in elif yesno "Branch \"$ref\" may want to get merged. Do it?" '{ echo "$logdata"; echo "$diffdata"; } | less -r'; then git checkout "$realbase" org=`git rev-parse HEAD` - if ! git merge --no-ff "$ref" 2>&1 | tee "$t" && ! { git ls-files -u | grep ' 1 ' >/dev/null; }; then + if ! git merge --no-ff "$ref" 2>&1 | tee "$t" && ! { git ls-files -u | grep ' 1 ' >/dev/null; }; then git reset --hard "$org" GIT_NOTES_REF=refs/notes/admin-merge git notes edit -m "Merge failed:$LF`cat "$t"`" "$ref" reportdo4 cat "$t" @@ -867,9 +898,10 @@ case "$cmd" in force=true fi for d in $repos; do - enter "$d0/$d" verbose + verbose cd "$d0/$d" if $force; then - verbose git checkout-index -fa + verbose git reset --hard + #redundant# verbose git checkout-index -fa fi case "$d" in .) @@ -899,7 +931,11 @@ case "$cmd" in esac verbose rm -rf Xonotic Xonotic*.zip verbose mkdir -p Xonotic - verbose date +%Y%m%d > Xonotic/stamp.txt + if [ -n "$RELEASEDATE" ]; then + verbose echo "$RELEASEDATE" > Xonotic/stamp.txt + else + verbose date +%Y%m%d > Xonotic/stamp.txt + fi verbose git archive --format=tar HEAD -- Docs misc server xonotic-linux-glx.sh xonotic-linux-sdl.sh misc/buildfiles | { verbose cd Xonotic verbose mkdir data fteqcc source source/darkplaces source/fteqcc @@ -939,26 +975,28 @@ case "$cmd" in makeflags=$4 srcdir=$5 targetfiles=$6 - case " $HOSTS_THAT_ARE_MYSELF " in - *\ $host\ *) - verbose rsync --delete -zvaSHP "$srcdir"/ "$buildpath/" - verbose eval make -C "$buildpath" clean $maketargets $makeflags - for f in $targetfiles; do - verbose mv "$buildpath/${f%:*}" "${f##*:}" || true - done - ;; - *) - verbose rsync --delete -zvaSHP "$srcdir"/ "$host:$buildpath/" - verbose ssh "$host" ". ~/.profile && cd $buildpath && make clean $maketargets $makeflags" - for f in $targetfiles; do - verbose rsync -zvaSHP "$host:$buildpath/${f%:*}" "${f##*:}" || true - done - ;; - esac - # now rebrand the binaries... - for f in $targetfiles; do - verbose "$d0/misc/tools/rebrand-darkplaces-engine.sh" "$d0/misc/tools/xonotic.brand" "${f##*:}" || true - done + if [ -n "$targetfiles" ]; then + case " $HOSTS_THAT_ARE_MYSELF " in + *\ $host\ *) + verbose rsync --delete -zvaSHP "$srcdir"/ "$buildpath/" + verbose eval make -C "$buildpath" clean $maketargets $makeflags + for f in $targetfiles; do + verbose mv "$buildpath/${f%:*}" "${f##*:}" || true + done + ;; + *) + verbose rsync --delete -zvaSHP "$srcdir"/ "$host:$buildpath/" + verbose ssh "$host" ". ~/.profile && cd $buildpath && make clean $maketargets $makeflags" + for f in $targetfiles; do + verbose rsync -zvaSHP "$host:$buildpath/${f%:*}" "${f##*:}" || true + done + ;; + esac + # now rebrand the binaries... + for f in $targetfiles; do + verbose "$d0/misc/tools/rebrand-darkplaces-engine.sh" "${XONOTIC_BRAND:-$d0/misc/tools/xonotic.brand}" "${f##*:}" || true + done + fi ;; release-compile) suffix=$1 @@ -972,33 +1010,44 @@ case "$cmd" in ;; release-engine-win32) verbose "$SELF" release-compile win32 \ - 'STRIP=: DP_MAKE_TARGET=mingw CC="i586-mingw32msvc-gcc -g -Wl,--dynamicbase -Wl,--nxcompat -DSUPPORTDIRECTX -DUSE_WSPIAPI_H -I$HOME/dp.win32/include -L$HOME/dp.win32/lib" WINDRES="i586-mingw32msvc-windres" SDL_CONFIG="$HOME/dp.win32/bin/sdl-config"' \ + 'STRIP=: DP_MAKE_TARGET=mingw CC="i586-mingw32msvc-gcc -g -Wl,--dynamicbase -Wl,--nxcompat -I$HOME/dp.win32/include -L$HOME/dp.win32/lib" WINDRES="i586-mingw32msvc-windres" SDL_CONFIG="$HOME/dp.win32/bin/sdl-config" LIB_JPEG= CFLAGS_LIBJPEG= WIN32RELEASE=1 D3D=0' \ win 'fteqcc.exe:Xonotic/fteqcc/fteqcc.exe' \ release 'darkplaces.exe:Xonotic/xonotic.exe darkplaces-sdl.exe:Xonotic/xonotic-sdl.exe darkplaces-dedicated.exe:Xonotic/xonotic-dedicated.exe' ;; release-engine-win64) verbose "$SELF" release-compile win64 \ - 'STRIP=: DP_MAKE_TARGET=mingw CC="amd64-mingw32msvc-gcc -g -Wl,--dynamicbase -Wl,--nxcompat -DSUPPORTDIRECTX -I$HOME/dp.win64/include -L$HOME/dp.win64/lib" WINDRES="amd64-mingw32msvc-windres" SDL_CONFIG="$HOME/dp.win64/bin/sdl-config" LDFLAGS_WINCOMMON=""' \ + 'STRIP=: DP_MAKE_TARGET=mingw CC="amd64-mingw32msvc-gcc -g -Wl,--dynamicbase -Wl,--nxcompat -I$HOME/dp.win64/include -L$HOME/dp.win64/lib" WINDRES="amd64-mingw32msvc-windres" SDL_CONFIG="$HOME/dp.win64/bin/sdl-config" LIB_JPEG= CFLAGS_LIBJPEG= WIN64RELEASE=1 D3D=0' \ win 'fteqcc.exe:Xonotic/fteqcc/fteqcc-x64.exe' \ 'sv-release cl-release' 'darkplaces.exe:Xonotic/xonotic-x64.exe darkplaces-dedicated.exe:Xonotic/xonotic-dedicated-x64.exe' # release 'darkplaces.exe:Xonotic/xonotic-x64.exe darkplaces-sdl.exe:Xonotic/xonotic-sdl-x64.exe darkplaces-dedicated.exe:Xonotic/xonotic-dedicated-x64.exe' ;; - release-engine-osx) + release-engine-osx-sv-sdl) # gcc on OSX is buggy, needs -fno-reorder-blocks for a release build to succeed verbose "$SELF" release-compile osx \ 'STRIP=: CC="gcc -g -arch i386 -arch ppc -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.4 -I$HOME/dp.osx/include -L$HOME/dp.osx/lib -fno-reorder-blocks"' \ all 'fteqcc.bin:Xonotic/fteqcc/fteqcc.osx' \ - 'sv-release sdl-release' 'darkplaces-sdl:Xonotic/Xonotic-SDL.app/Contents/MacOS/xonotic-osx-sdl-bin' 'darkplaces-dedicated:xonotic-osx-dedicated' + 'sv-release sdl-release' 'darkplaces-sdl:Xonotic/Xonotic-SDL.app/Contents/MacOS/xonotic-osx-sdl-bin darkplaces-dedicated:Xonotic/xonotic-osx-dedicated' + ;; + release-engine-osx-agl) + # gcc on OSX is buggy, needs -fno-reorder-blocks for a release build to succeed + verbose "$SELF" release-compile osx \ + 'STRIP=: CC="gcc -g -arch i386 -arch ppc -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.4 -I$HOME/dp.osx/include -L$HOME/dp.osx/lib -fno-reorder-blocks"' \ + '' '' \ + 'cl-release' 'darkplaces-agl:Xonotic/Xonotic.app/Contents/MacOS/xonotic-osx-agl-bin' + ;; + release-engine-osx) + verbose "$SELF" release-engine-osx-sv-sdl + verbose "$SELF" release-engine-osx-agl ;; release-engine-linux32) verbose "$SELF" release-compile linux32 \ - 'STRIP=: CC="gcc -m32 -g -Wl,--hash-style=sysv -I$HOME/dp.linux32/include -L$HOME/dp.linux32/lib" DP_MODPLUG_STATIC_LIBDIR=$HOME/dp.linux32/lib DP_LINK_TO_LIBJPEG=1' \ + 'STRIP=: CC="gcc -m32 -g -Wl,--hash-style=sysv -I$HOME/dp.linux32/include -L$HOME/dp.linux32/lib" DP_MODPLUG_STATIC_LIBDIR=$HOME/dp.linux32/lib LIB_JPEG=$HOME/dp.linux32/lib/libjpeg.a' \ all 'fteqcc.bin:Xonotic/fteqcc/fteqcc.linux32' \ release 'darkplaces-glx:Xonotic/xonotic-linux32-glx darkplaces-sdl:Xonotic/xonotic-linux32-sdl darkplaces-dedicated:Xonotic/xonotic-linux32-dedicated' ;; release-engine-linux64) verbose "$SELF" release-compile linux64 \ - 'STRIP=: CC="gcc -m64 -g -Wl,--hash-style=sysv -I$HOME/dp.linux64/include -L$HOME/dp.linux64/lib" DP_MODPLUG_STATIC_LIBDIR=$HOME/dp.linux64/lib DP_LINK_TO_LIBJPEG=1' \ + 'STRIP=: CC="gcc -m64 -g -Wl,--hash-style=sysv -I$HOME/dp.linux64/include -L$HOME/dp.linux64/lib" DP_MODPLUG_STATIC_LIBDIR=$HOME/dp.linux64/lib LIB_JPEG=$HOME/dp.linux64/lib/libjpeg.a' \ all 'fteqcc.bin:Xonotic/fteqcc/fteqcc.linux64' \ release 'darkplaces-glx:Xonotic/xonotic-linux64-glx darkplaces-sdl:Xonotic/xonotic-linux64-sdl darkplaces-dedicated:Xonotic/xonotic-linux64-dedicated' ;;