]> git.xonotic.org Git - xonotic/xonotic.git/blobdiff - all
do not set +x on exe files
[xonotic/xonotic.git] / all
diff --git a/all b/all
index ee4d75aa64b808170180e095d1593d8d969fe63f..322764b8c9df4d2dd2021364042309866e610c43 100755 (executable)
--- a/all
+++ b/all
@@ -272,6 +272,22 @@ fix_git_config()
        fi
 }
 
+mkzip()
+{
+       archive=$1
+       shift
+       ziplist=`mktemp`
+       find "$@" -xtype f \( -executable -or -type l \) -print > "$ziplist"
+       7za a -tzip -mx=9 -x@"$ziplist" "$archive" "$@" || true
+       zip         -9y   -@<"$ziplist" "$archive"      || true
+       rm -f "$ziplist"
+}
+
+mkzip0()
+{
+       zip -0y "$@"
+}
+
 case "$cmd" in
        fix_upstream_rebase)
                for d in $repos; do
@@ -1211,7 +1227,7 @@ case "$cmd" in
                fi
                verbose export git_src_repo="$d0/$src" # skip hash-object
                verbose "$SELF" release-buildpk3-transform-$transform "Xonotic/temp"
-               verbose zip -9yr "../../$dst" .
+               verbose mkzip "../../$dst" .
                verbose cd ../..
                verbose rm -rf Xonotic/temp
                ;;
@@ -1253,14 +1269,17 @@ case "$cmd" in
                ;;
        release-zip)
                stamp=`cat Xonotic/stamp.txt`
-               verbose zip -9yr Xonotic-$stamp-engine.zip \
+               # exe and dll files do not need +x, so this makes them eligible for 7zip compression too
+               chmod a-x *.exe *.dll
+               # need to use infozip for these (+x bits)
+               verbose mkzip Xonotic-$stamp-engine.zip \
                        Xonotic/*.dll \
                        Xonotic/bin64/*.dll \
                        Xonotic/*.app \
                        Xonotic/xonotic-* \
                        Xonotic/xonotic.exe
                verbose cp Xonotic-$stamp-engine.zip Xonotic-$stamp-common.zip
-               verbose zip -9yr Xonotic-$stamp-common.zip \
+               verbose mkzip Xonotic-$stamp-common.zip \
                        Xonotic/source/*/ \
                        Xonotic/Docs \
                        Xonotic/misc \
@@ -1268,23 +1287,23 @@ case "$cmd" in
                        Xonotic/server \
                        Xonotic/data/font-nimbussansl-$stamp.pk3
                verbose cp Xonotic-$stamp-common.zip Xonotic-$stamp.zip
-               verbose zip -0yr 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
-               verbose zip -0yr 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 cp Xonotic-$stamp-common.zip Xonotic-$stamp-lowdds.zip
-               verbose zip -0yr 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 zip -0yr 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 \