echo "$prefix$fromversion"patch"$toversion$suffix"
}
-zipdiff -z "zip -9r" -f "$from" -t "$to" -o "$output" -x "$excludes"
+zipdiff -f "$from" -t "$to" -o "$output" -x "$excludes"
tempdir=`mktemp -d -t zipdiff.XXXXXX`
cd "$tempdir"
patchname=`makepatchname "$x" "$fromname" "$toname"`
patchdir="c/$patchname"; patchdir=${patchdir%/*}
mkdir -p "$patchdir"
- zipdiff -z "zip -9r" -f a/"$fromname" -t b/"$toname" -o c/"$patchname"
+ zipdiff -f a/"$fromname" -t b/"$toname" -o c/"$patchname"
if [ -f c/"$patchname" ]; then
(cd c && zip -0r "$output" "$patchname")
fi
from=
to=
excludes=
-ziptool="7za a -tzip -mx=9"
+ziptool="mkzip"
+
+mkzip()
+{
+ archive=$1; shift
+ sevenzipflags=-mx=9
+ zipflags=-9
+ 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"
+}
while [ $# -gt 0 ]; do
o=$1