]> git.xonotic.org Git - xonotic/xonotic.git/blobdiff - misc/tools/all/release.subr
Merge branch 'master' of git://nl.git.xonotic.org/xonotic/xonotic
[xonotic/xonotic.git] / misc / tools / all / release.subr
index df50cfe9de4e1dea195f2c520b31f40e7963ddac..e97bddb2595e270435d9dad2b9ae864b4f8f5dd8 100644 (file)
@@ -52,49 +52,40 @@ release_common()
        mkzipr()
        {
                archive=$1; shift
-               case "$RELEASETYPE" in
-                       release)
-                               sevenzipflags=-mx=9
-                               zipflags=-9
-                               ;;
-                       *)
-                               sevenzipflags=-mx=1
-                               zipflags=-1
-                               ;;
-               esac
+
+               # get rid of this hack once we have done large enough changes
+               # to be no longer rsync compatible (and then enable the below
+               # code)
+               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"
+               find "$@" -xtype f \( -executable -or -type l \) -print | sed 's,\([./][^./]*$\),\1 \1,' | sort -k2 | cut -d\  -f1 > "$ziplist"
                7za a -tzip $sevenzipflags -x@"$ziplist" "$archive" "$@" || true
                zip         $zipflags -y   -@<"$ziplist" "$archive"      || true
                rm -f "$ziplist"
+
+               #zipflags=-1r
+               #find "$@" -exec touch -d "2001-01-01 01:01:01 +0000" {} \+ # ugly hack to make the pk3 files rsync-friendly
+               #zip $zipflags -y "$archive" "$@" || true
+               #advzip -4 "$archive"
        }
 
        mkzip()
        {
                archive=$1; shift
-               case "$RELEASETYPE" in
-                       release)
-                               sevenzipflags=-mx=9
-                               zipflags=-9
-                               ;;
-                       *)
-                               sevenzipflags=-mx=1
-                               zipflags=-1
-                               ;;
-               esac
-               ziplist=`mktemp`
-               find "$@" -xtype f \( -executable -or -type l \) -print > "$ziplist"
-               7za a -tzip $sevenzipflags -x@"$ziplist" "$archive" "$@" || true
-               zip         $zipflags -y   -@<"$ziplist" "$archive"      || true
-               rm -f "$ziplist"
+               zipflags=-1ry
+               zip $zipflags "$archive" "$@" || true
+               advzip -z -4 "$archive"
        }
 
        mkzip0()
        {
                archive=$1; shift
-               zip -0ry "$archive" "$@"
+               zipflags=-0ry
+               zip $zipflags "$archive" "$@" || true
        }
+
        getversion()
        {
                gv=`grep "^gameversion " "$1/defaultXonotic.cfg" | awk '{ print $2 }'`
@@ -167,10 +158,19 @@ 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
+               release_git_extract_dir "." "Xonotic" Docs misc server xonotic-linux-glx.sh xonotic-linux-sdl.sh xonotic-linux-dedicated.sh Makefile misc/buildfiles key_0.d0pk COPYING GPL-2 GPL-3
                (
                        verbose cd Xonotic
                        verbose mkdir data fteqcc source source/darkplaces source/fteqcc source/d0_blind_id mapping
@@ -293,14 +293,14 @@ case "$cmd" in
        release-engine-linux32)
                release_common
                verbose "$SELF" release-compile linux32 \
-                       'STRIP=: CC="gcc -m32 -march=i686 -g1 -I.deps/include -L.deps/lib -DSUPPORTIPV6" DP_MODPLUG_STATIC_LIBDIR=.deps/lib LIB_JPEG=.deps/lib/libjpeg.a DP_CRYPTO_STATIC_LIBDIR=.deps/lib' \
+                       'STRIP=: CC="gcc -m32 -march=i686 -g1 -I.deps/include -L.deps/lib -DSUPPORTIPV6" DP_MODPLUG_STATIC_LIBDIR=.deps/lib LIB_JPEG=.deps/lib/libjpeg.a DP_CRYPTO_STATIC_LIBDIR=.deps/lib DP_GMP_STATIC_LIBDIR=.deps/lib' \
                        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)
                release_common
                verbose "$SELF" release-compile linux64 \
-                       'STRIP=: CC="gcc -m64 -g1 -I.deps/include -L.deps/lib -DSUPPORTIPV6" DP_MODPLUG_STATIC_LIBDIR=.deps/lib LIB_JPEG=.deps/lib/libjpeg.a DP_CRYPTO_STATIC_LIBDIR=.deps/lib' \
+                       'STRIP=: CC="gcc -m64 -g1 -I.deps/include -L.deps/lib -DSUPPORTIPV6" DP_MODPLUG_STATIC_LIBDIR=.deps/lib LIB_JPEG=.deps/lib/libjpeg.a DP_CRYPTO_STATIC_LIBDIR=.deps/lib DP_GMP_STATIC_LIBDIR=.deps/lib' \
                        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'
                ;;
@@ -503,16 +503,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
@@ -523,12 +523,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
@@ -544,6 +544,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
@@ -556,6 +557,7 @@ case "$cmd" in
                fi
                # build the archives
                verbose mkzip Xonotic-$stamp-enginesource.zip \
+                       Xonotic/Makefile \
                        Xonotic/source/darkplaces/ \
                        Xonotic/COPYING Xonotic/GPL-2 Xonotic/GPL-3
                verbose cp Xonotic-$stamp-enginesource.zip Xonotic-$stamp-engine.zip
@@ -576,8 +578,8 @@ 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/ \
@@ -586,27 +588,19 @@ case "$cmd" in
                        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