summaryrefslogtreecommitdiff
path: root/packaging
diff options
context:
space:
mode:
authorGerald Combs <gerald@wireshark.org>2013-09-30 11:29:58 +0000
committerGerald Combs <gerald@wireshark.org>2013-09-30 11:29:58 +0000
commit2468b33ccef7189a2ee845f3c926ec12cb01e02f (patch)
treef2a7ee40ad9597e4a573d09448e3333b60d1f47b /packaging
parent0a75c9d87291d2cdd56724c470e29f2668116c31 (diff)
downloadwireshark-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-xpackaging/macosx/osx-app.sh32
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
}