[LyX/2.3.x] Add packaging option to code sign the LyX application
Stephan Witt
switt at lyx.org
Fri May 22 05:01:55 UTC 2020
commit 957192d7f39d7370425e6482c60f293cb0112e44
Author: Stephan Witt <switt at lyx.org>
Date: Thu Feb 20 10:47:23 2020 +0100
Add packaging option to code sign the LyX application
(cherry picked from commit d2257bb0ffde6706f3ef0a469fa839d0d0ac4985)
---
development/LyX-Mac-binary-release.sh | 33 +++++++++++++++++++++++++++++++++
1 files changed, 33 insertions(+), 0 deletions(-)
diff --git a/development/LyX-Mac-binary-release.sh b/development/LyX-Mac-binary-release.sh
index 3380711..af00aa2 100644
--- a/development/LyX-Mac-binary-release.sh
+++ b/development/LyX-Mac-binary-release.sh
@@ -212,6 +212,10 @@ while [ $# -gt 0 ]; do
esac
shift
;;
+ --codesign-identity=*)
+ CODESIGN_IDENTITY=$(echo "${1}"|cut -d= -f2)
+ shift
+ ;;
--libmagic-deployment=*)
libmagic_deployment=$(echo ${1}|cut -d= -f2)
shift
@@ -867,6 +871,34 @@ convert_universal() {
done
}
+# -------------------------
+# Create code sign signatures
+# -------------------------
+code_sign() {
+ target="$1"
+ condir=$(content_directory "${target}"/lyx)
+ appdir=$(dirname "${condir}")
+ # have to sign frameworks first
+ for csitem in \
+ "${condir}"/Frameworks/Qt*.framework/Versions/${QtFrameworkVersion} \
+ "${condir}"/Frameworks/*.framework/lib*.dylib \
+ "${condir}"/PlugIns/*/lib*.dylib \
+ "${condir}"/Library/Spotlight/* \
+ "${target}"/inkscape \
+ "${target}"/maxima \
+ "${target}"/tex2lyx \
+ "${target}"/lyxeditor \
+ "${target}"/lyxconvert \
+ "${target}"/lyxclient
+ do
+ codesign --verbose --force --sign "${CODESIGN_IDENTITY}" "${csitem}"
+ done
+
+ /usr/bin/codesign --verbose --force --sign "${CODESIGN_IDENTITY}" "${appdir}" || {
+ echo Warning: codesign failed with certificate named '"'${CODESIGN_IDENTITY}'"'
+ }
+}
+
deduplicate() {
find "$@" -type f -print | while read file ; do
echo $(md5 -q "$file") "$file"
@@ -1027,6 +1059,7 @@ build_package() {
if [ ${LyxOnlyPackage:-"no"} = "no" ]; then
build_lyx
convert_universal
+ test -n "${CODESIGN_IDENTITY}" && code_sign "${LYX_BUNDLE_PATH}"
copy_dictionaries
fi
build_package
More information about the lyx-cvs
mailing list