X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fxonotic.git;a=blobdiff_plain;f=all;h=de482c746186eb173108dd34fd7f9cb27f2f8364;hp=c809ebd424b9b932b37ac162fccf2d7b4309ae44;hb=fd036680da98c60fb477f33424843b65e03b36b3;hpb=2281e724ba38df796e46d7ccf3bc040868768036 diff --git a/all b/all index c809ebd4..de482c74 100755 --- a/all +++ b/all @@ -224,10 +224,9 @@ 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" + # if we have .no file, skip + if [ -f "$d.no" ]; then + msg "Repository $d disabled by a .no file, delete $d.no to enable" continue fi # if .yes file exists, always keep it @@ -236,9 +235,16 @@ listrepos() $ECHO "$d" continue fi - # if we have .no file, skip - if [ -f "$d.no" ]; then - msg "Repository $d disabled by a .no file, delete $d.no to enable" + # remove broken clones so they don't mess up stuff + if [ x"$d" != x"." ] && [ -d "$d" ] && ! [ -d "$d/.git" ]; then + msg "$d exists but has no .git subdir. Probably a broken clone. Deleting." + verbose rm -rf "$d" + continue + fi + # 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 we have matching pk3, skip @@ -380,6 +386,10 @@ fix_upstream_rebase_mergefail() fix_git_config() { + if ! [ -f ".git/config" ]; then + $ECHO "Not a git repository. Bailing out to not cause damage." + exit 1 + fi verbose git config remote.origin.url "$1" if [ -n "$2" ]; then verbose git config remote.origin.pushurl "$2" @@ -516,7 +526,7 @@ case "$cmd" in url=`repourl "$d"` pushurl=`repopushurl "$d"` branch=`repobranch "$d"` - if [ -d "$d0/$d" ]; then + if [ -f "$d0/$d/.git/config" ]; then verbose cd "$d0/$d" fix_git_config "$url" "$pushurl" cd "$d0" @@ -579,29 +589,33 @@ case "$cmd" in ;; update|pull) allow_pull=true - fix_config=false location=current + oldbase=$base + oldpushbase=$pushbase + # transition old URLs + if [ x"$base" = x"ssh://xonotic@git.xonotic.org/" ]; then + base=ssh://xonotic@push.git.xonotic.org/ + fi + if [ x"$pushbase" = x"ssh://xonotic@git.xonotic.org/" ]; then + pushbase=ssh://xonotic@push.git.xonotic.org/ + fi while :; do if [ x"$1" = x"-N" ]; then allow_pull=false elif [ x"$1" = x"-p" ]; then - fix_config=true - pushbase=ssh://xonotic@git.xonotic.org/ + pushbase=ssh://xonotic@push.git.xonotic.org/ elif [ x"$1" = x"-ps" ]; then - fix_config=true - pushbase=ssh://xonotic@git.xonotic.org/ + pushbase=ssh://xonotic@push.git.xonotic.org/ elif [ x"$1" = x"-ph" ]; then - fix_config=true - pushbase=http://git.xonotic.org/login/xonotic/ + pushbase=http://push.git.xonotic.org/login/xonotic/ elif [ x"$1" = x"-s" ]; then - fix_config=true - base=ssh://xonotic@git.xonotic.org/ + base=ssh://xonotic@push.git.xonotic.org/ elif [ x"$1" = x"-g" ]; then - fix_config=true base=git://git.xonotic.org/xonotic/ + location=best elif [ x"$1" = x"-h" ]; then - fix_config=true base=http://git.xonotic.org/xonotic/ + location=best elif [ x"$1" = x"-l" ]; then case "$2" in nl) ;; @@ -620,7 +634,6 @@ case "$cmd" in exit 1 ;; esac - fix_config=true location=$2 shift else @@ -677,24 +690,23 @@ case "$cmd" in esac if [ -n "$location" ]; then base=`$ECHO "$base" | sed "s,://\(.*\.\)\?git.xonotic.org/,://$location.git.xonotic.org/,"` - pushbase=`$ECHO "$pushbase" | sed "s,://\(.*\.\)\?git.xonotic.org/,://$location.git.xonotic.org/,"` else base=`$ECHO "$base" | sed "s,://\(.*\.\)\?git.xonotic.org/,://git.xonotic.org/,"` - pushbase=`$ECHO "$pushbase" | sed "s,://\(.*\.\)\?git.xonotic.org/,://git.xonotic.org/,"` fi - if $fix_config; then + pushbase=`$ECHO "$pushbase" | sed "s,://\(.*\.\)\?git.xonotic.org/,://xonotic@push.git.xonotic.org/,"` + if [ x"$base" != x"$oldbase" ] || [ x"$pushbase" != x"$oldpushbase" ]; then url=`repourl .` pushurl=`repopushurl .` fix_git_config "$url" "$pushurl" - fi - if $allow_pull || $fix_config; then + "$SELF" fix_config + elif $allow_pull; then "$SELF" fix_config fi for d in $repos; do url=`repourl "$d"` pushurl=`repopushurl "$d"` branch=`repobranch "$d"` - if [ -d "$d0/$d" ]; then + if [ -f "$d0/$d/.git/config" ]; then # if we have .no file, skip if [ -f "$d0/$d.no" ]; then msg "Repository $d disabled by a .no file, delete $d.no to enable; thus, not updated" @@ -722,6 +734,14 @@ case "$cmd" in cd "$d0" fi else + if [ -d "$d0/$d" ]; then + if yesno "$d0/$d is in the way, get rid of it and reclone?"; then + verbose rm -rf "$d0/$d" + else + echo "Note: $d0/$d will stay broken." + continue + fi + fi verbose git clone "$url" "$d0/$d" enter "$d0/$d" verbose fix_git_config "$url" "$pushurl" @@ -951,7 +971,9 @@ case "$cmd" in [5-9]*|[1-9][0-9]*|4.[3-9]*|4.[1-9][0-9]*) # gcc 4.3 or higher # -march=native is broken < 4.3 - export CC="$CC -mtune=native -march=native" + if $CC -mtune=native -march=native misc/tools/conftest.c -o conftest >/dev/null 2>&1; then + export CC="$CC -mtune=native -march=native" + fi ;; esac if [ -n "$WE_HATE_OUR_USERS" ]; then @@ -1021,7 +1043,7 @@ case "$cmd" in fi if [ -z "$MAKEFLAGS" ]; then if [ -f /proc/cpuinfo ]; then - ncpus=$((`grep -c '^processor :' /proc/cpuinfo`+0)) + ncpus=$((`grep -c '^processor :' /proc/cpuinfo || true`+0)) if [ $ncpus -gt 1 ]; then MAKEFLAGS=-j$ncpus fi @@ -1031,6 +1053,33 @@ case "$cmd" in fi fi + + if ! verbose $CC misc/tools/conftest.c -o conftest; then + msg "" + msg "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" + msg "~~~~~~~~~~ COMPILER ~~~~~~~~~~" + msg "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" + msg "~~~~~~~~~~~~~~_...._~~~~~~~~~~" + msg "~~~~~~~~~~~,-' \\\`-._~~~~~~" + msg "~~~~~~~~~~/ --. >< \\~~~~~" + msg "~~~~~~~~~/ (*)> -<: \\~~~~" + msg "~~~~~~~~~( ^~-' (*) )~~~~" + msg "~~~~~~~~~\\ ^+-_/ |~~~~" + msg "~~~~~~~~~~\\ {vvv} |~~~~" + msg "~~~~~~~~~~,\\ , {^^^},/~~~~~" + msg "~~~~~~~~,/ \`---.....-'~~W~~~~" + msg "~~~~~~,/ \\_____/_\\_W~~/~~~~~" + msg "~~~~~/ /~~~\\__/~~~~~~" + msg "~~~~/ /~~~~~~~~~~~~~~" + msg "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" + msg "~~~~~~~ Y U NO COMPILE ~~~~~~~" + msg "~~~~~~~~~~~~ CODE ~~~~~~~~~~~~" + msg "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" + msg "" + exit 1 + fi + rm -f conftest + verbose cd "$d0/d0_blind_id" if ! $compiled0; then # compilation of crypto library failed @@ -1158,7 +1207,7 @@ case "$cmd" in if [ x"$USE_GDB" = x"yes" ]; then set -- gdb --args "$@" - elif [ x"$USE_GDB" != x"no" ] && which gdb >/dev/null 2>&1; then + elif [ x"$USE_GDB" = x"core" ] && which gdb >/dev/null 2>&1; then set -- gdb --batch -x savecore.gdb --args "$@" elif which catchsegv >/dev/null 2>&1; then set -- catchsegv "$@" @@ -1627,8 +1676,8 @@ case "$cmd" in rm -f Xonotic/key_15.d0pk { verbose cd Xonotic/mapping - verbose wget http://www.icculus.org/netradiant/files/netradiant-1.5.0-20110223.tar.bz2 - verbose wget http://www.icculus.org/netradiant/files/netradiant-1.5.0-20110223-win32-7z.exe + verbose wget http://www.icculus.org/netradiant/files/netradiant-1.5.0-20120114.tar.bz2 + verbose wget http://www.icculus.org/netradiant/files/netradiant-1.5.0-20120114-win32-7z.exe for X in *-7z.exe; do 7za x "$X" rm -f "$X" @@ -1748,7 +1797,7 @@ case "$cmd" in verbose "$SELF" update-maps ;; release-qc) - verbose make -C Xonotic/source FTEQCC="../../../fteqcc/fteqcc.linux32" XON_BUILDSYSTEM=1 clean all + verbose env GIT_DIR="$d0/data/xonotic-data.pk3dir/.git" make -C Xonotic/source FTEQCC="$d0/Xonotic/fteqcc/fteqcc.linux32" XON_BUILDSYSTEM=1 clean all verbose rm -f Xonotic/source/qcsrc/*/fteqcc.log ;; release-buildpk3-transform-raw) @@ -1762,7 +1811,8 @@ case "$cmd" in verbose export jpeg_qual_rgb=97 verbose export jpeg_qual_a=99 verbose export do_dds=false - verbose export do_ogg=false + verbose export do_ogg=true + verbose export ogg_ogg=false verbose export del_src=true find . -type f -print0 | verbose xargs -0 "$d0"/misc/tools/cached-converter.sh ;; @@ -1778,6 +1828,7 @@ case "$cmd" in verbose export do_dds=true verbose export dds_flags= verbose export do_ogg=true + verbose export ogg_ogg=false verbose export del_src=true find . -type f -print0 | verbose xargs -0 "$d0"/misc/tools/cached-converter.sh ;; @@ -1811,6 +1862,29 @@ case "$cmd" in verbose export del_src=true find . -type f -print0 | verbose xargs -0 "$d0"/misc/tools/cached-converter.sh ;; + release-buildpk3-transform-mapping) + dir=$1 + verbose cd "$dir" + # remove stuff radiant has no use for + verbose find . -name \*_norm.\* -exec rm -f {} \; + verbose find . -name \*_bump.\* -exec rm -f {} \; + verbose find . -name \*_glow.\* -exec rm -f {} \; + verbose find . -name \*_gloss.\* -exec rm -f {} \; + verbose find . -name \*_pants.\* -exec rm -f {} \; + verbose find . -name \*_shirt.\* -exec rm -f {} \; + verbose find . -name \*_reflect.\* -exec rm -f {} \; + verbose find . -not \( -name \*.tga -o -name \*.png -o -name \*.jpg \) -exec rm -f {} \; + # texture: convert to jpeg and dds + # music: reduce bitrate + verbose export do_jpeg=true + verbose export jpeg_qual_rgb=80 + verbose export jpeg_qual_a=97 + verbose export do_dds=false + verbose export do_ogg=true + verbose export ogg_qual=1 + verbose export del_src=true + find . -type f -print0 | verbose xargs -0 "$d0"/misc/tools/cached-converter.sh + ;; release-buildpk3) src=$1 dst=$2 @@ -1846,7 +1920,7 @@ case "$cmd" in versionstr="$versionstr$RELEASETYPE" ;; esac - if [ $gv -lt 900 ]; then + if [ $gv -lt 9900 ]; then # pre-1.0: compatible with any other pre-1.0 verbose sed " s/^set g_xonoticversion [^ ]* /set g_xonoticversion $versionstr /; @@ -1889,6 +1963,8 @@ case "$cmd" in release_timereport "processed data" verbose "$SELF" release-buildpk3-transform-$transform "Xonotic/temp" release_timereport "transformed data" + find . -type f -size +4k | verbose "$d0"/misc/tools/symlink-deduplicate.sh + release_timereport "deduplicated data" verbose mkzipr "../../$dst" * release_timereport "zipped data" verbose cd ../.. @@ -1918,7 +1994,7 @@ case "$cmd" in verbose "$SELF" release-buildpk3s data/font-nimbussansl.pk3dir raw '' verbose "$SELF" release-buildpk3s data/font-xolonium.pk3dir raw '' verbose "$SELF" release-buildpk3s data/xonotic-data.pk3dir normal '-high' low '-low' normaldds '' - verbose "$SELF" release-buildpk3s data/xonotic-maps.pk3dir normal '-high' low '-low' normaldds '' + verbose "$SELF" release-buildpk3s data/xonotic-maps.pk3dir normal '-high' low '-low' normaldds '' mapping '-mapping' verbose "$SELF" release-buildpk3s data/xonotic-music.pk3dir raw '' low '-low' verbose "$SELF" release-buildpk3s data/xonotic-nexcompat.pk3dir normal '-high' normaldds '' ;; @@ -1945,15 +2021,17 @@ case "$cmd" in rm -f $crypto_libs fi # build the archives + verbose mkzip Xonotic-$stamp-enginesource.zip \ + Xonotic/source/darkplaces/ \ + Xonotic/COPYING Xonotic/GPL-2 Xonotic/GPL-3 + verbose cp Xonotic-$stamp-enginesource.zip Xonotic-$stamp-engine.zip verbose mkzip Xonotic-$stamp-engine.zip \ Xonotic/*.dll \ Xonotic/bin32/*.dll \ Xonotic/bin64/*.dll \ Xonotic/*.app \ Xonotic/xonotic-* \ - Xonotic/xonotic.exe \ - Xonotic/source/darkplaces/ \ - Xonotic/COPYING Xonotic/GPL-2 Xonotic/GPL-3 + Xonotic/xonotic.exe verbose cp Xonotic-$stamp-engine.zip Xonotic-$stamp-common.zip verbose mkzip Xonotic-$stamp-common.zip \ Xonotic/source/fteqcc/ \ @@ -1965,6 +2043,11 @@ case "$cmd" in Xonotic/key_0.d0pk \ Xonotic/data/font-nimbussansl-$stamp.pk3 \ Xonotic/data/font-xolonium-$stamp.pk3 + verbose cp Xonotic-$stamp-enginesource.zip Xonotic-$stamp-source.zip + verbose mkzip Xonotic-$stamp-source.zip \ + Xonotic/source/fteqcc/ \ + Xonotic/source/qcsrc/ \ + Xonotic/misc/logos verbose cp Xonotic-$stamp-common.zip Xonotic-$stamp.zip verbose mkzip0 Xonotic-$stamp.zip \ Xonotic/data/xonotic-$stamp-data.pk3 \ @@ -1987,7 +2070,7 @@ case "$cmd" in verbose mkzip Xonotic-$stamp-mappingsupport.zip \ Xonotic/mapping verbose mkzip0 Xonotic-$stamp-mappingsupport.zip \ - Xonotic/data/xonotic-$stamp-maps-low.pk3 + Xonotic/data/xonotic-$stamp-maps-mapping.pk3 ;; release) verbose "$SELF" release-prepare @@ -2008,13 +2091,12 @@ case "$cmd" in $ECHO " $SELF checkout|switch /" $ECHO " $SELF clean [-m] [-f | -fu | -fU] [-r] [-D]" $ECHO " $SELF clean --reclone" - $ECHO " $SELF compile [-c] [-r|-p] [-0]" + $ECHO " $SELF compile [-c] [-r|-p] [-0] [sdl|glx|wgl|agl|dedicated]" $ECHO " $SELF each|foreach [-k] command..." $ECHO " $SELF fix_upstream_rebase" $ECHO " $SELF keygen" $ECHO " $SELF merge" $ECHO " $SELF push|commit [-s]" - $ECHO " $SELF release" $ECHO " $SELF restore-patches" $ECHO " $SELF run [sdl|glx|wgl|agl|dedicated] options..." $ECHO " $SELF save-patches"