1
0
mirror of https://github.com/skeeto/w64devkit.git synced 2025-07-02 01:41:38 +03:00

Higher zip compression, disable default advzip

As of GDB 13.1, gdb.exe contains data triggering a bug in x64 Explorer
zip integration at last as far back as Windows 7. After recompressing
with advzip, gdb.exe extraction fails with 0x80004005 "Unspecified
error". This happens with both 32-bit and 64-bit gdb.exe regardless of
compiler flags. No other zip program has trouble with this file.

Until this is resolved, give up on advzip and tell zip to use -9. Also
renamed the build script option from -q (quick) to -O (optimize) and
disable its use by default.
This commit is contained in:
Christopher Wellons
2023-05-02 14:54:16 -04:00
parent 0423b551db
commit e76624e29c
2 changed files with 4 additions and 10 deletions

View File

@ -496,4 +496,4 @@ RUN printf "id ICON \"$PREFIX/src/w64devkit.ico\"" >w64devkit.rc \
>>$PREFIX/COPYING.MinGW-w64-runtime.txt \ >>$PREFIX/COPYING.MinGW-w64-runtime.txt \
&& echo $VERSION >$PREFIX/VERSION.txt && echo $VERSION >$PREFIX/VERSION.txt
ENV PREFIX=${PREFIX} ENV PREFIX=${PREFIX}
CMD zip -qXr - $PREFIX CMD zip -q9Xr - $PREFIX

View File

@ -9,7 +9,7 @@
set -e set -e
arch="" arch=""
compact=auto compact=no
dryrun= dryrun=
flavors="" flavors=""
suffix="$(git describe --exact-match 2>/dev/null | tr v - || true)" suffix="$(git describe --exact-match 2>/dev/null | tr v - || true)"
@ -25,8 +25,8 @@ usage: multibuild.sh [-48abfhmnq] [-s SUFFIX]
-h Print this help message -h Print this help message
-m Enable mini build (default: no) -m Enable mini build (default: no)
-n Dry run, print commands but do nothing -n Dry run, print commands but do nothing
-O Compact with advzip (default: no, less compatible)
-s SUFFIX Append a version suffix (e.g. "-s -1.2.3", default:auto) -s SUFFIX Append a version suffix (e.g. "-s -1.2.3", default:auto)
-q Quick: do no compact with advzip (default: auto)
EOF EOF
} }
@ -40,8 +40,8 @@ while getopts 48abfhmnqs: opt; do
h) usage; exit 0;; h) usage; exit 0;;
m) flavors="$flavors -mini";; m) flavors="$flavors -mini";;
n) dryrun=echo;; n) dryrun=echo;;
O) compact=yes;;
s) suffix="$OPTARG";; s) suffix="$OPTARG";;
q) compact=no;;
?) usage >&2; exit 1;; ?) usage >&2; exit 1;;
esac esac
done done
@ -53,12 +53,6 @@ if [ $# -gt 0 ]; then
exit 1 exit 1
fi fi
if [ $compact = auto ] && command -v advzip >/dev/null 2>&1; then
compact=yes
else
compact=no
fi
if [ -z "$arch" ]; then if [ -z "$arch" ]; then
arch="w64devkit" arch="w64devkit"
fi fi