]> git.xonotic.org Git - xonotic/xonotic.git/blobdiff - misc/tools/all/release.subr
use good compression for autobuilds too to keep rsync diff sizes smaller
[xonotic/xonotic.git] / misc / tools / all / release.subr
index b84d57b4e302701f504e38ac8166d6a6427f27ad..057175c619413bf9adcebaa17bc47559a82f72a3 100644 (file)
@@ -52,16 +52,8 @@ release_common()
        mkzipr()
        {
                archive=$1; shift
-               case "$RELEASETYPE" in
-                       release)
-                               sevenzipflags=-mx=9
-                               zipflags=-9
-                               ;;
-                       *)
-                               sevenzipflags=-mx=1
-                               zipflags=-1
-                               ;;
-               esac
+               sevenzipflags=-mx=9
+               zipflags=-9
                find "$@" -exec touch -d "2001-01-01 01:01:01 +0000" {} \+ # ugly hack to make the pk3 files rsync-friendly
                ziplist=`mktemp`
                find "$@" -xtype f \( -executable -or -type l \) -print > "$ziplist"
@@ -73,16 +65,8 @@ release_common()
        mkzip()
        {
                archive=$1; shift
-               case "$RELEASETYPE" in
-                       release)
-                               sevenzipflags=-mx=9
-                               zipflags=-9
-                               ;;
-                       *)
-                               sevenzipflags=-mx=1
-                               zipflags=-1
-                               ;;
-               esac
+               sevenzipflags=-mx=9
+               zipflags=-9
                ziplist=`mktemp`
                find "$@" -xtype f \( -executable -or -type l \) -print > "$ziplist"
                7za a -tzip $sevenzipflags -x@"$ziplist" "$archive" "$@" || true
@@ -95,6 +79,14 @@ release_common()
                archive=$1; shift
                zip -0ry "$archive" "$@"
        }
+       getversion()
+       {
+               gv=`grep "^gameversion " "$1/defaultXonotic.cfg" | awk '{ print $2 }'`
+               major=$(($gv / 10000))
+               minor=$((($gv / 100) - ($major * 100)))
+               patch=$(($gv - ($major * 10000) - ($minor * 100)))
+               versionstr="$major.$minor.$patch"
+       }
 }
 
 handled=true
@@ -148,6 +140,8 @@ case "$cmd" in
                                ;;
                        release)
                                msg "Building a FINISHED RELEASE"
+                               getversion data/xonotic-data.pk3dir
+                               verbose "$SELF" each -k git tag -m "TEMP TAG" -f "xonotic-v$versionstr"
                                ;;
                        *)
                                msg "Building a $RELEASETYPE"
@@ -157,8 +151,17 @@ case "$cmd" in
                verbose mkdir -p Xonotic
                if [ -n "$RELEASEDATE" ]; then
                        verbose $ECHO "$RELEASEDATE" > Xonotic/stamp.txt
+                       case "$RELEASETYPE" in
+                               release)
+                                       verbose $ECHO "${RELEASEDATE%_*}" > Xonotic/pk3stamp.txt
+                                       ;;
+                               *)
+                                       verbose $ECHO "$RELEASEDATE" > Xonotic/pk3stamp.txt
+                                       ;;
+                       esac
                else
                        verbose date +%Y%m%d > Xonotic/stamp.txt
+                       verbose date +%Y%m%d > Xonotic/pk3stamp.txt
                fi
                release_git_extract_dir "." "Xonotic" Docs misc server xonotic-linux-glx.sh xonotic-linux-sdl.sh misc/buildfiles key_0.d0pk COPYING GPL-2 GPL-3
                (
@@ -183,8 +186,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-20120114.tar.bz2
-                       verbose wget http://www.icculus.org/netradiant/files/netradiant-1.5.0-20120114-win32-7z.exe
+                       verbose wget http://www.icculus.org/netradiant/files/netradiant-1.5.0-20120301.tar.bz2
+                       verbose wget http://www.icculus.org/netradiant/files/netradiant-1.5.0-20120301-win32-7z.exe
                        for X in *-7z.exe; do
                                7za x "$X"
                                rm -f "$X"
@@ -432,11 +435,7 @@ case "$cmd" in
                        verbose cp ../source/csprogs.dat .
                        verbose cp ../source/menu.dat .
                        verbose rm -rf qcsrc
-                       gv=`grep "^gameversion " "defaultXonotic.cfg" | awk '{ print $2 }'`
-                       major=$(($gv / 10000))
-                       minor=$((($gv / 100) - ($major * 100)))
-                       patch=$(($gv - ($major * 10000) - ($minor * 100)))
-                       versionstr="$major.$minor.$patch"
+                       getversion .
                        case "$RELEASETYPE" in
                                release)
                                        ;;
@@ -497,16 +496,16 @@ case "$cmd" in
                ;;
        release-buildpk3s)
                release_common
-               stamp=`cat Xonotic/stamp.txt`
+               pk3stamp=`cat Xonotic/pk3stamp.txt`
                src=$1
                shift
                dst=${src%.pk3dir}
                case "$dst" in
                        data/xonotic-*)
-                               dst="data/xonotic-$stamp-${dst#data/xonotic-}"
+                               dst="data/xonotic-$pk3stamp-${dst#data/xonotic-}"
                                ;;
                        *)
-                               dst="$dst-$stamp"
+                               dst="$dst-$pk3stamp"
                                ;;
                esac
                while [ "$#" -gt 1 ]; do
@@ -517,12 +516,12 @@ case "$cmd" in
                ;;
        release-pack)
                release_common
-               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 '' mapping '-mapping'
-               verbose "$SELF" release-buildpk3s data/xonotic-music.pk3dir                     raw '' low '-low'
-               verbose "$SELF" release-buildpk3s data/xonotic-nexcompat.pk3dir  normal '-high'                   normaldds ''
+               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             low '-low' normaldds ''
+               verbose "$SELF" release-buildpk3s data/xonotic-maps.pk3dir             low '-low' normaldds '' mapping '-mapping'
+               verbose "$SELF" release-buildpk3s data/xonotic-music.pk3dir     raw '' low '-low'
+               verbose "$SELF" release-buildpk3s data/xonotic-nexcompat.pk3dir                   normaldds ''
                ;;
        release-pack-needsx11)
                release_common
@@ -538,6 +537,7 @@ case "$cmd" in
        release-zip)
                release_common
                stamp=`cat Xonotic/stamp.txt`
+               pk3stamp=`cat Xonotic/pk3stamp.txt`
                # exe and dll files do not need +x, so this makes them eligible for 7zip compression too
                chmod a-x Xonotic/*.exe Xonotic/*.dll || true
                # let's pass crypto import laws of some nasty countries
@@ -562,6 +562,7 @@ case "$cmd" in
                        Xonotic/xonotic.exe
                verbose cp Xonotic-$stamp-engine.zip Xonotic-$stamp-common.zip
                verbose mkzip Xonotic-$stamp-common.zip \
+                       Xonotic/source/d0_blind_id/ \
                        Xonotic/source/fteqcc/ \
                        Xonotic/source/qcsrc/ \
                        Xonotic/Docs \
@@ -569,36 +570,29 @@ case "$cmd" in
                        Xonotic/fteqcc \
                        Xonotic/server \
                        Xonotic/key_0.d0pk \
-                       Xonotic/data/font-nimbussansl-$stamp.pk3 \
-                       Xonotic/data/font-xolonium-$stamp.pk3
+                       Xonotic/data/font-nimbussansl-$pk3stamp.pk3 \
+                       Xonotic/data/font-xolonium-$pk3stamp.pk3
                verbose cp Xonotic-$stamp-enginesource.zip Xonotic-$stamp-source.zip
                verbose mkzip Xonotic-$stamp-source.zip \
+                       Xonotic/source/d0_blind_id/ \
                        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 \
-                       Xonotic/data/xonotic-$stamp-maps.pk3 \
-                       Xonotic/data/xonotic-$stamp-music.pk3 \
-                       Xonotic/data/xonotic-$stamp-nexcompat.pk3
-               verbose cp Xonotic-$stamp-common.zip Xonotic-$stamp-low.zip
+                       Xonotic/data/xonotic-$pk3stamp-data.pk3 \
+                       Xonotic/data/xonotic-$pk3stamp-maps.pk3 \
+                       Xonotic/data/xonotic-$pk3stamp-music.pk3 \
+                       Xonotic/data/xonotic-$pk3stamp-nexcompat.pk3
+               verbose mv Xonotic-$stamp-common.zip Xonotic-$stamp-low.zip
                verbose mkzip0 Xonotic-$stamp-low.zip \
-                       Xonotic/data/xonotic-$stamp-data-low.pk3 \
-                       Xonotic/data/xonotic-$stamp-maps-low.pk3 \
-                       Xonotic/data/xonotic-$stamp-music-low.pk3
-               verbose mv Xonotic-$stamp-common.zip Xonotic-$stamp-high.zip
-               verbose mkzip Xonotic-$stamp-high.zip \
-                       Xonotic/mapping
-               verbose mkzip0 Xonotic-$stamp-high.zip \
-                       Xonotic/data/xonotic-$stamp-data-high.pk3 \
-                       Xonotic/data/xonotic-$stamp-maps-high.pk3 \
-                       Xonotic/data/xonotic-$stamp-music.pk3 \
-                       Xonotic/data/xonotic-$stamp-nexcompat-high.pk3
+                       Xonotic/data/xonotic-$pk3stamp-data-low.pk3 \
+                       Xonotic/data/xonotic-$pk3stamp-maps-low.pk3 \
+                       Xonotic/data/xonotic-$pk3stamp-music-low.pk3
                verbose mkzip Xonotic-$stamp-mappingsupport.zip \
                        Xonotic/mapping
                verbose mkzip0 Xonotic-$stamp-mappingsupport.zip \
-                       Xonotic/data/xonotic-$stamp-maps-mapping.pk3
+                       Xonotic/data/xonotic-$pk3stamp-maps-mapping.pk3
                ;;
        release)
                release_common