From 301e003db0a43705b2971b94cd30ce6413ddcc5c Mon Sep 17 00:00:00 2001 From: Stephan Witt Date: Wed, 8 Jul 2015 18:02:21 +0200 Subject: [PATCH] Don't touch @rpath based frameworks with install_name_tool --- development/LyX-Mac-binary-release.sh | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/development/LyX-Mac-binary-release.sh b/development/LyX-Mac-binary-release.sh index 16bada01d8..fc26c1e404 100644 --- a/development/LyX-Mac-binary-release.sh +++ b/development/LyX-Mac-binary-release.sh @@ -678,6 +678,11 @@ content_directory() { echo "${content}" } +installname() { + echo install_name_tool "$@" + install_name_tool "$@" +} + private_framework() { fwdir=$(framework_name "$1") source="$2" @@ -687,11 +692,9 @@ private_framework() { mkdir -p "${condir}/${fwdir}" if [ ! -f "${condir}/${fwdir}/${libnm}" ]; then cp -p "${source}" "${condir}/${fwdir}" - echo Set library id in "${condir}/${fwdir}/${libnm}" - install_name_tool -id "@executable_path/../${fwdir}/${libnm}" "${condir}/${fwdir}/${libnm}" + installname -id "@executable_path/../${fwdir}/${libnm}" "${condir}/${fwdir}/${libnm}" fi - echo Correct library id reference to "${libnm}" in "${target}" - install_name_tool -change "${source}" "@executable_path/../${fwdir}/${libnm}" "${target}" + installname -change "${source}" "@executable_path/../${fwdir}/${libnm}" "${target}" } deploy_qtlibs() { @@ -724,16 +727,17 @@ EOF test -d "${condir}/${fwdir}" || ( echo Copy framework "${source}/lib/"$(basename "${fwdir}") cp -pR "${source}/lib/"$(basename "${fwdir}") "${condir}/${fwdir}" - echo Set library id in "${condir}/${fwdir}/${version}${libnm}" - install_name_tool -id "@executable_path/../${fwdir}/${version}${libnm}" "${condir}/${fwdir}/${version}${libnm}" + installname -id "@executable_path/../${fwdir}/${version}${libnm}" "${condir}/${fwdir}/${version}${libnm}" find "${condir}/PlugIns" "${condir}/"$(dirname "${fwdir}") -name Headers -prune -o -type f -print | while read filename ; do if [ "${filename}" != "${target}" ]; then otool -L "${filename}" 2>/dev/null | sort -u | while read library ; do # pattern match for: /path/to/qt/lib/QtGui.framework/Versions/4/QtGui (compatibility version 4.6.0, current version 4.6.2) case "${library}" in + *@rpath/*"${libnm}"*"("*version*")"*) + echo rpath based name for ${libnm} is ok. + ;; *"${libnm}"*"("*version*")"*) - echo Correct library id reference to "${libnm}" in "${filename}" - install_name_tool -change\ + installname -change\ "${source}/lib/${dirname}/${version}${libnm}"\ "@executable_path/../${fwdir}/${version}${libnm}"\ "${filename}" @@ -743,8 +747,7 @@ EOF fi done ) - echo Correct library id reference to "${libnm}" in "${target}" - install_name_tool -change\ + installname -change\ "${source}/lib/${dirname}/${version}${libnm}"\ "@executable_path/../${fwdir}/${version}${libnm}"\ "${target}"