diff options
author | Guy Harris <guy@alum.mit.edu> | 2015-07-12 20:21:32 -0700 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2015-07-13 03:21:54 +0000 |
commit | 0571d849dfdf54bc7253daf5d36bab9527892b8a (patch) | |
tree | ba64a246820f9bf51896aeb4ca6bfb38bfabf749 /packaging | |
parent | c6aa2b5b2c687f855d0c0a5a1fa7ea53f4b89415 (diff) | |
download | wireshark-0571d849dfdf54bc7253daf5d36bab9527892b8a.tar.gz wireshark-0571d849dfdf54bc7253daf5d36bab9527892b8a.tar.bz2 wireshark-0571d849dfdf54bc7253daf5d36bab9527892b8a.zip |
Handle both @rpath/ and absolute paths in Qt framework install names.
When looking for Qt framework dependencies, look for dependencies that
begin either with @rpath or with the Qt framework directory.
Then, first transform @rpath/ to a path relative to the Qt framework
directory, and then strip off everything past the framework directory,
to get the absolute path of the framework directory (not of the
framework binary - we want to copy the whole framework).
In the loop looking for dependencies on things *other* than Qt
frameworks, exclude Qt framework references with absolute paths from the
dependencies we find; they get processed later. (We already excluded
those with @rpath paths.)
Change-Id: I1e345a5fb82c758d5c1541693b46cb36d2677fab
Reviewed-on: https://code.wireshark.org/review/9614
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Diffstat (limited to 'packaging')
-rwxr-xr-x | packaging/macosx/osx-app.sh | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/packaging/macosx/osx-app.sh b/packaging/macosx/osx-app.sh index 936cf0e07b..00408af52f 100755 --- a/packaging/macosx/osx-app.sh +++ b/packaging/macosx/osx-app.sh @@ -468,7 +468,7 @@ while $endl; do otool -L $lib_dep_search_list 2>/dev/null \ | fgrep compatibility \ | cut -d\( -f1 \ - | egrep -v "$exclude_prefixes" \ + | egrep -v "$exclude_prefixes|$qt_frameworks_dir" \ | sort \ | uniq \ `" @@ -483,17 +483,17 @@ while $endl; do otool -L $lib_dep_search_list 2>/dev/null \ | fgrep compatibility \ | cut -d\( -f1 \ - | egrep '@rpath/Qt[a-zA-Z0-9_]*\.framework/' \ + | egrep "(@rpath|$qt_frameworks_dir)/Qt[a-zA-Z0-9_]*\.framework/" \ | sort \ | uniq \ `" for lib in $libs do if [ ! -d "$pkglib/$lib" ] ; then - libfrompath=`echo "$lib" | sed -n "s;@rpath/Qt\([a-zA-Z0-9_]*\)\.framework/.*;$qt_frameworks_dir/Qt\1.framework;p"` - libbinarypath=`echo "$lib" | sed -n "s;@rpath/Qt\([a-zA-Z0-9_]*\)\.framework/.*;$pkglib/Qt\1.framework/Versions/*/Qt\1;p"` + libfrompath=`echo "$lib" | sed -e "s;@rpath/Qt\([a-zA-Z0-9_]*\)\.framework/;$qt_frameworks_dir/Qt\1.framework;" -e "s;$qt_frameworks_dir/Qt\([a-zA-Z0-9_]*\)\.framework/.*;$qt_frameworks_dir/Qt\1.framework;"` + libbinarypath=`echo "$lib" | sed "s;@rpath/Qt\([a-zA-Z0-9_]*\)\.framework/.*;$pkglib/Qt\1.framework/Versions/*/Qt\1;p"` echo "$libfrompath -> $pkglib" - cp -vnR $libfrompath "$pkglib" + cp -nR $libfrompath "$pkglib" lib_dep_search_list=" $lib_dep_search_list $libbinarypath" |