]> de.git.xonotic.org Git - xonotic/xonotic.git/commitdiff
Merge remote branch 'refs/remotes/origin/divVerent/switchback-to-http'
authorRudolf Polzer <divverent@alientrap.org>
Tue, 19 Oct 2010 05:38:51 +0000 (07:38 +0200)
committerRudolf Polzer <divverent@alientrap.org>
Tue, 19 Oct 2010 05:38:51 +0000 (07:38 +0200)
all
misc/infrastructure/xonotic-map-compiler.cron [new file with mode: 0755]
misc/infrastructure/xonotic-map-screenshot.cron [new file with mode: 0755]
misc/infrastructure/xonotic-release-build.cron [new file with mode: 0755]

diff --git a/all b/all
index 9a27bbc375d806b8418ddcc4b3029529868a04a4..f1eb1971a54b0f983c447f7db628ee17a8ae8714 100755 (executable)
--- a/all
+++ b/all
@@ -349,12 +349,133 @@ case "$cmd" in
                        fi
                done
                ;;
+       keygen)
+               # enable the ssh URL for pushing
+               "$SELF" update -N -p
+
+               if [ -f ~/.ssh/id_rsa.pub ]; then
+                       msg ""
+                       msg "A key already exists and no new one will be generated. If you"
+                       msg "already have done the procedure for getting your key approved, you"
+                       msg "can skip the following paragraph and already use the repository."
+                       msg ""
+                       msg "To get access, your key has to be approved first. For that, visit"
+                       msg "http://dev.xonotic.org/, then log in, create a \"New Issue\" on"
+                       msg "the \"Support\" tracker in the \"Repository\" category where you"
+                       msg "apply for access and paste the following output into the issue:"
+                       msg ""
+                       msg "`cat ~/.ssh/id_rsa.pub`"
+                       msg ""
+                       msg "Note that you will only have write access to branches that start"
+                       msg "with your user name."
+               elif [ -f ~/.ssh/id_dsa.pub ]; then
+                       msg ""
+                       msg "A key already exists and no new one will be generated. If you"
+                       msg "already have done the procedure for getting your key approved, you"
+                       msg "can skip the following paragraph and already use the repository."
+                       msg ""
+                       msg "To get access, your key has to be approved first. For that, visit"
+                       msg "http://dev.xonotic.org/, then log in, create a \"New Issue\" on"
+                       msg "the \"Support\" tracker in the \"Repository\" category where you"
+                       msg "apply for access and paste the following output into the issue:"
+                       msg ""
+                       msg "`cat ~/.ssh/id_dsa.pub`"
+                       msg ""
+                       msg "Note that you will only have write access to branches that start"
+                       msg "with your user name."
+               else
+                       msg ""
+                       msg "No key has been generated yet. One will be generated now."
+                       msg "If other people are using your computer, it is recommended"
+                       msg "to specify a passphrase. Otherwise you can simply hit ENTER"
+                       msg "when asked for a passphrase."
+                       msg ""
+                       ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa
+                       msg ""
+                       msg "To get access, your key has to be approved first. For that, visit"
+                       msg "http://dev.xonotic.org/, then log in, create a \"New Issue\" on"
+                       msg "the \"Support\" tracker in the \"Repository\" category where you"
+                       msg "apply for access and paste the following output into the issue:"
+                       msg ""
+                       msg "`cat ~/.ssh/id_rsa.pub`"
+                       msg ""
+                       msg "Note that you will only have write access to branches that start"
+                       msg "with your user name."
+               fi
+               ;;
        update|pull)
                allow_pull=true
-               if [ x"$1" = x"-N" ]; then
-                       allow_pull=false
+               fix_config=false
+               location=current
+               while :; do
+                       if [ x"$1" = x"-N" ]; then
+                               allow_pull=false
+                       elif [ x"$1" = x"-p" ]; then
+                               fix_config=true
+                               if [ x"$base" != x"ssh://xonotic@git.xonotic.org/" ]; then
+                                       pushbase=ssh://xonotic@git.xonotic.org/
+                               fi
+                       elif [ x"$1" = x"-s" ]; then
+                               fix_config=true
+                               base=ssh://xonotic@git.xonotic.org/
+                               pushbase=
+                       elif [ x"$1" = x"-g" ]; then
+                               fix_config=true
+                               base=git://git.xonotic.org/xonotic/
+                       elif [ x"$1" = x"-h" ]; then
+                               fix_config=true
+                               base=http://git.xonotic.org/xonotic/
+                       elif [ x"$1" = x"-l" ]; then
+                               case "$2" in
+                                       nl) ;;
+                                       de) ;;
+                                       default) ;;
+                                       *)
+                                               msg "Invalid location!"
+                                               msg "Possible locations for the -l option:"
+                                               msg "  nl (Netherlands, run by merlijn)"
+                                               msg "  de (Germany, run by divVerent)"
+                                               msg "  default (currently nl)"
+                                               exit 1
+                                               ;;
+                               esac
+                               fix_config=true
+                               location=$2
+                               shift
+                       else
+                               break
+                       fi
+                       shift
+               done
+               case "$location" in
+                       default)
+                               location=
+                               ;;
+                       current)
+                               case "$base" in
+                                       *://*.git.xonotic.org/*)
+                                               location=${base%%.git.xonotic.org/*}
+                                               location=${location##*://}
+                                               ;;
+                                       *)
+                                               location=
+                                               ;;
+                               esac
+                               ;;
+               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 $allow_pull; then
+               if $fix_config; then
+                       url=`repourl .`
+                       pushurl=`repopushurl .`
+                       fix_git_config "$url" "$pushurl"
+               fi
+               if $allow_pull || $fix_config; then
                        "$SELF" fix_config
                fi
                for d in $repos; do
@@ -723,9 +844,10 @@ case "$cmd" in
 
                enter "$d0/data/xonotic-data.pk3dir" verbose
                if $cleanqc; then
-                       verbose make FTEQCC="$d0/fteqcc/fteqcc.bin" "$@" $MAKEFLAGS clean
+                       verbose make FTEQCC="../../../../fteqcc/fteqcc.bin" "$@" $MAKEFLAGS clean
                fi
-               verbose make FTEQCC="$d0/fteqcc/fteqcc.bin" "$@" $MAKEFLAGS
+               verbose make FTEQCC="../../../../fteqcc/fteqcc.bin" "$@" $MAKEFLAGS
+               # 4 levels up: data, xonotic-data, qcsrc, server
 
                enter "$d0/darkplaces" verbose
                if [ x"$BAD_TARGETS" = x" " ]; then
@@ -1361,10 +1483,10 @@ case "$cmd" in
        release-qc)
                case "$RELEASETYPE" in
                        beta)
-                               verbose make -C Xonotic/source FTEQCC="$d0/Xonotic/fteqcc/fteqcc.linux32" XON_BUILDSYSTEM=1 clean all
+                               verbose make -C Xonotic/source FTEQCC="../fteqcc/fteqcc.linux32" XON_BUILDSYSTEM=1 clean all
                                ;;
                        release)
-                               verbose make -C Xonotic/source FTEQCC="$d0/Xonotic/fteqcc/fteqcc.linux32" XON_BUILDSYSTEM=1 FTEQCCFLAGS_WATERMARK= clean all
+                               verbose make -C Xonotic/source FTEQCC="../fteqcc/fteqcc.linux32" XON_BUILDSYSTEM=1 FTEQCCFLAGS_WATERMARK= clean all
                                ;;
                esac
                verbose rm -f Xonotic/source/*/fteqcc.log
@@ -1498,8 +1620,8 @@ case "$cmd" in
                ;;
        release-pack)
                verbose "$SELF" release-buildpk3s data/font-nimbussansl.pk3dir             raw ''
-               verbose "$SELF" release-buildpk3s data/xonotic-data.pk3dir       normal '' raw '-raw' low '-low' lowdds '-lowdds'
-               verbose "$SELF" release-buildpk3s data/xonotic-maps.pk3dir       normal '' raw '-raw' low '-low' lowdds '-lowdds'
+               verbose "$SELF" release-buildpk3s data/xonotic-data.pk3dir       normal ''            low '-low' lowdds '-lowdds'
+               verbose "$SELF" release-buildpk3s data/xonotic-maps.pk3dir       normal ''            low '-low' lowdds '-lowdds'
                verbose "$SELF" release-buildpk3s data/xonotic-music.pk3dir                raw ''     low '-low'
                verbose "$SELF" release-buildpk3s data/xonotic-nexcompat.pk3dir                       low ''
                ;;
@@ -1553,17 +1675,17 @@ case "$cmd" in
                        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-lowdds.zip
+#              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 \
                        Xonotic/data/xonotic-$stamp-maps-lowdds.pk3 \
                        Xonotic/data/xonotic-$stamp-music-low.pk3
-               verbose mv 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
                ;;
        release)
                verbose "$SELF" release-prepare
@@ -1584,9 +1706,10 @@ case "$cmd" in
                echo "  $SELF checkout|switch <remote>/<branch>"
                echo "  $SELF clean [-m] [-f | -fu | -fU] [-r] [-D]"
                echo "  $SELF clean --reclone"
-               echo "  $SELF compile [-c]"
+               echo "  $SELF compile [-c] [-r] [-0]"
                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"
@@ -1594,6 +1717,6 @@ case "$cmd" in
                echo "  $SELF run [sdl|glx|wgl|agl|dedicated] options..."
                echo "  $SELF save-patches"
                echo "  $SELF update-maps"
-               echo "  $SELF update|pull [-N]"
+               echo "  $SELF update|pull [-N] [-s | -h [-p] | -g [-p]] [-l de|nl|default]"
                ;;
 esac
diff --git a/misc/infrastructure/xonotic-map-compiler.cron b/misc/infrastructure/xonotic-map-compiler.cron
new file mode 100755 (executable)
index 0000000..6434f96
--- /dev/null
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+mepwd=$PWD
+me=$0
+if ! lockfile-create "$me"; then
+       exit 1
+fi
+lockfile-touch "$me" & lockpid=$!
+trap 'kill $lockpid || true; cd "$mepwd"; lockfile-remove "$me"' EXIT
+trap 'exit 1' INT TERM
+
+set -e
+cd xonotic-map-compiler
+./all clean -m -fU -D
+# like reclone but do not delete untracked, so q3map2.x86 compile stays
+make -C netradiant install/q3map2.x86
+./misc/tools/xonotic-map-compiler-autobuild build
diff --git a/misc/infrastructure/xonotic-map-screenshot.cron b/misc/infrastructure/xonotic-map-screenshot.cron
new file mode 100755 (executable)
index 0000000..829fab8
--- /dev/null
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+mepwd=$PWD
+me=$0
+if ! lockfile-create "$me"; then
+        exit 1
+fi
+lockfile-touch "$me" & lockpid=$!
+trap 'kill $lockpid || true; cd "$mepwd"; lockfile-remove "$me"' EXIT
+trap 'exit 1' INT TERM
+
+set -e
+cd xonotic
+./all clean -m -fU -D
+# like reclone but do not delete untracked, so q3map2.x86 compile stays
+./all compile
+export __GL_FSAA_MODE=8
+sh -x ./misc/tools/xonotic-map-compiler-autobuild screenshot
+
+GET http://beta.xonotic.org/autobuild-bsp/ >/dev/null
+cd "$HOME/autobuild-bsp" || exit 1
+now=`date +%s`
+deltime=$(($now + 86400))
+grep -l -- '-->(none)<!--' */index.html | cut -d / -f 1 | while IFS= read -r D; do
+       for F in "$D" "$D.pk3" "`echo "$D" | rev | cut -d - -f 3- | rev`-full-`echo "$D" | rev | cut -d - -f 1-2 | rev`.pk3"; do
+               echo "$deltime $F" >> .to_delete
+       done
+done
+deltime=$(($now - 86400))
+while IFS=' ' read -r d f; do
+       if [ $d -lt $now ]; then
+               rm -f "$f"
+       else
+               echo "$d $f"
+       done
+done < .to_delete > .to_delete_new
+mv .to_delete_new .to_delete
diff --git a/misc/infrastructure/xonotic-release-build.cron b/misc/infrastructure/xonotic-release-build.cron
new file mode 100755 (executable)
index 0000000..0248878
--- /dev/null
@@ -0,0 +1,65 @@
+#!/bin/sh
+
+# is being run as cronjob, better set PATH
+export PATH=/home/xonotic-build/bin:/usr/local/bin:/usr/bin:/bin:/usr/games
+
+mepwd=$PWD
+me=$0
+if ! lockfile-create "$me"; then
+       exit 1
+fi
+lockfile-touch "$me" & lockpid=$!
+trap 'kill $lockpid || true; cd "$mepwd"; lockfile-remove "$me"' EXIT
+trap 'exit 1' INT TERM
+
+set -ex
+export HOSTS_THAT_ARE_MYSELF="xonotic-build-win32 xonotic-build-win64"
+export HOSTS_THAT_ARE_DISABLED=""
+ssh xonotic-beta '
+       cd autobuild/;
+       s0=`date -d "now - 7 days - 12 hours" +%s`;
+       s00=`date -d "now - 60 days - 12 hours" +%s`;
+       for X in *; do
+               [ -f "$X" ] || continue;
+               d=${X#Xonotic-};
+               d=${d%%[_-.]*};
+               [ x"$d" != x"latest" ] || continue;
+               w=`date -d $d +%w`;
+               s=`date -d $d +%s`;
+               if [ "$w" -ne 0 -a "$s" -lt "$s0" -o "$s" -lt "$s00" ]; then
+                       rm -f "$X";
+               fi;
+       done
+'
+cd ~/xonotic-release-build
+./all clean --reclone
+./all each git checkout HEAD^0
+# add all feature branches we want
+
+# map branches that we include:
+#   winners in the poll for upcoming CTF maps
+#   maps near completion
+
+for b in \
+       origin/fruitiex/space_elevator \
+       origin/fruitiex/dance \
+       origin/fruitiex/runningmanctf \
+       origin/mintox/geoplanetary
+do
+       b=$b ./all each sh -c 'if git rev-parse $b >/dev/null 2>&1; then git merge $b; fi'
+done
+./all update -N
+d0=`date +%Y%m%d`
+d=$d0
+i=1
+while HEAD http://xonotic:g-23@beta.xonotic.org/autobuild/"Xonotic-$d.zip"; do
+       i=$(($i+1))
+       d="$d0"_"$i"
+done
+RELEASETYPE=beta RELEASEDATE=$d ./all release
+for X in Xonotic-$d*.zip; do
+       ln -snf "$X" "Xonotic-latest${X#Xonotic-$d}"
+done
+rsync -vaSHP Xonotic*.zip xonotic-beta:autobuild/
+echo "Finished a new beta build at http://beta.xonotic.org/autobuild/" | $IRCSPAM
+cd