diff options
author | Gerald Combs <gerald@wireshark.org> | 2017-10-03 15:28:40 -0700 |
---|---|---|
committer | Gerald Combs <gerald@wireshark.org> | 2017-10-03 22:40:59 +0000 |
commit | 5826a8532ed4e2a0387aa8a2857bca62b8d2371f (patch) | |
tree | a25665b7a874dd4e13e98c61ea0048dafbd94328 /packaging | |
parent | 2c89e6c448101de562844ac6ca0fa0890964321c (diff) |
macOS: Fixup app bundle rpathification.
rpathify_dir is not recursive so the plugin path fix in g94af9724d1
wasn't sufficient. Make sure $pkgplugin is set to the versioned plugin
subdirectory so that both rpathification and code signing work.
Find the Qt frameworks directory using qmake while we're here. This
should be more reliable than calling pkg-config (which doesn't work on
my laptop).
Bug: 14096
Change-Id: I0196015f849fd27994a439359cddd88c21106fde
Reviewed-on: https://code.wireshark.org/review/23832
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Diffstat (limited to 'packaging')
-rwxr-xr-x | packaging/macosx/osx-app.sh | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/packaging/macosx/osx-app.sh b/packaging/macosx/osx-app.sh index 2fd3b4a016..a114e1953d 100755 --- a/packaging/macosx/osx-app.sh +++ b/packaging/macosx/osx-app.sh @@ -219,15 +219,9 @@ elif [ ! -d "$bundle" ] ; then exit 1 fi -for i in 5 "" -do - qt_frameworks_dir=`pkg-config --libs Qt${i}Core | sed -e 's/-F//' -e 's/ -framework.*//'` - if [ ! -z "$qt_frameworks_dir" ] ; then - # found it - break; - fi -done -if [ -z "$qt_frameworks_dir" ] ; then + +qt_frameworks_dir=$( qmake -query QT_INSTALL_LIBS ) +if [ ! -d "$qt_frameworks_dir" ] ; then echo "Can't find the Qt frameworks directory" >&2 exit 1 fi @@ -242,7 +236,7 @@ pkgexec="$bundle/Contents/MacOS" pkgres="$bundle/Contents/Resources" pkgbin="$pkgres/bin" pkglib="$bundle/Contents/Frameworks" -pkgplugin="$bundle/Contents/PlugIns/wireshark" +pkgplugin=$( find "$bundle/Contents/PlugIns/wireshark" -type d -maxdepth 1 -name '[1-9]*' | head -1 ) # Set the 'macosx' directory, usually the current directory. resdir=`pwd` @@ -550,6 +544,7 @@ rpathify_dir () { # if [ -d "$1" ]; then (cd "$1" + echo "rpathifying $1" # # Make sure we *have* files to fix # @@ -624,7 +619,7 @@ if [ -n "$CODE_SIGN_IDENTITY" ] ; then done echo "Signing plugins" - find $pkgplugin -type f -name "*.so" | while read plugin ; do + for plugin in $pkgplugin/*.so ; do codesign_file "$plugin" done |