[vlc-commits] macosx: codesign: Check whether vlc-cache-gen can be executed
David Fuhrmann
git at videolan.org
Mon Dec 14 19:26:34 UTC 2020
vlc | branch: master | David Fuhrmann <dfuhrmann at videolan.org> | Mon Dec 14 20:22:24 2020 +0100| [18271e16182312cc2d0a80848d562e52efc2ebf8] | committer: David Fuhrmann
macosx: codesign: Check whether vlc-cache-gen can be executed
Check whether vlc-cache-gen can actually be executed, to
detect whether it is available for the right architecture.
If it is not available, support the possibility to not
sign the plugins.dat cache file. Also support the case
the cache file is not there from the beginning.
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=18271e16182312cc2d0a80848d562e52efc2ebf8
---
extras/package/macosx/codesign.sh | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/extras/package/macosx/codesign.sh b/extras/package/macosx/codesign.sh
index 22f6cbb61a..3d6e796aad 100755
--- a/extras/package/macosx/codesign.sh
+++ b/extras/package/macosx/codesign.sh
@@ -79,13 +79,19 @@ if [ -e "./vlc-cache-gen" ]; then
VLCCACHEGEN="./vlc-cache-gen"
fi
+$VLCCACHEGEN --help 1>/dev/null 2>&1 && returncode=$? || returncode=$?
+if [ $returncode -ne 0 ]; then
+ info "WARN: Cannot execute vlc-cache-gen with path '$VLCCACHEGEN' (wrong arch?)"
+ VLCCACHEGEN=""
+fi
+
if [ -z "$VLCCACHEGEN" ]; then
-info "WARN: Cannot find vlc-cache-gen, cache will be corrupt after signing"
+ info "WARN: Cannot find vlc-cache-gen, cache will be removed for signing"
fi
SCRIPTDIR=$(dirname "$0")
if [ ! -z "$RUNTIME" ]; then
-RUNTIME_FLAGS="--options runtime --entitlements $SCRIPTDIR/vlc-hardening.entitlements"
+ RUNTIME_FLAGS="--options runtime --entitlements $SCRIPTDIR/vlc-hardening.entitlements"
fi
# Call with $1 = file or folder
@@ -124,10 +130,11 @@ done
if [ ! -z "$VLCCACHEGEN" ]; then
$VLCCACHEGEN VLC.app/Contents/Frameworks/plugins
+ sign "VLC.app/Contents/Frameworks/plugins/plugins.dat"
+else
+ rm "VLC.app/Contents/Frameworks/plugins/plugins.dat" || true
fi
-sign "VLC.app/Contents/Frameworks/plugins/plugins.dat"
-
info "Signing the libraries"
for i in $(find VLC.app/Contents/Frameworks -type f -name "*.dylib" -d 1 -exec echo {} \;)
More information about the vlc-commits
mailing list