diff options
author | Gerald Combs <gerald@wireshark.org> | 2013-09-30 11:29:58 +0000 |
---|---|---|
committer | Gerald Combs <gerald@wireshark.org> | 2013-09-30 11:29:58 +0000 |
commit | 2468b33ccef7189a2ee845f3c926ec12cb01e02f (patch) | |
tree | f2a7ee40ad9597e4a573d09448e3333b60d1f47b /packaging | |
parent | 0a75c9d87291d2cdd56724c470e29f2668116c31 (diff) | |
download | wireshark-2468b33ccef7189a2ee845f3c926ec12cb01e02f.tar.gz |
More Qt app bundle migration. Still doesn't work quite right.
svn path=/trunk/; revision=52293
Diffstat (limited to 'packaging')
-rwxr-xr-x | packaging/macosx/osx-app.sh | 32 |
1 files changed, 28 insertions, 4 deletions
diff --git a/packaging/macosx/osx-app.sh b/packaging/macosx/osx-app.sh index f407a23bef..bdfa4a99e8 100755 --- a/packaging/macosx/osx-app.sh +++ b/packaging/macosx/osx-app.sh @@ -209,7 +209,8 @@ resdir=`pwd` pkgexec="$package/Contents/MacOS" pkgres="$package/Contents/Resources" pkgbin="$pkgres/bin" -pkglib="$package/Contents/Frameworks" +# Should pkglib be Contents/Frameworks instead? +pkglib="$pkgres/lib" pkgplugin="$pkglib/wireshark/plugins" pkgpython="$pkglib/wireshark/python" @@ -400,7 +401,7 @@ elif [ "$ui_toolkit" = "qt" ] ; then lib_dep_search_list=" $pkgexec/Wireshark $lib_dep_search_list - $pkglib/Qt*.framework/Versions/[0-9]*/* + $pkglib/Qt*.framework/Versions/[0-9]*/Qt* " fi @@ -493,6 +494,29 @@ rpathify_file () { echo "Changing reference to $lib in $1" /usr/bin/install_name_tool -change $lib $to $1 done + # + # Rewrite framework paths + # + if [ "$ui_toolkit" = "qt" ] ; then + frameworks="`otool -L $1 | egrep "Qt.*framework/.* \(compatibility" | cut -d\( -f1`" + for fwk in $frameworks ; do + # + # Get the file name of the framework. + # + base=`echo $fwk | awk 'BEGIN{FS="/";OFS="/"} {print $(NF-3), $(NF-2), $(NF-1), $NF}'` + # + # The library will end up in a directory in + # the rpath; this is what we should change its + # file name to. + # + to=@rpath/$base + # + # Change the reference to that library. + # + echo "Changing reference to $fwk in $1" + /usr/bin/install_name_tool -change $fwk $to $1 + done + fi ;; esac fi @@ -534,8 +558,8 @@ rpathify_files () { rpathify_dir "$pkgbin" "*" if [ "$ui_toolkit" = "qt" ] ; then rpathify_dir "$pkgexec" "Wireshark" - for fwk_dir in "$pkglib/Qt*.framework/Versions/[0-9]*" ; do - rpathify_dir "$fwk_dir" "*" + for fwk_dir in $pkglib/Qt*.framework/Versions/[0-9]* ; do + rpathify_dir "$fwk_dir" "Qt*" done fi } |