From 24b08b11a50bbccb7628c427f93b43bf2734decc Mon Sep 17 00:00:00 2001
From: goro <qtc-committer@nokia.com>
Date: Thu, 22 Jan 2009 17:07:45 +0100
Subject: [PATCH] Update rpath handling

---
 .../shipping/prepare-linux-qt-for-shipping.sh | 32 ++++---------------
 1 file changed, 6 insertions(+), 26 deletions(-)

diff --git a/scripts/shipping/prepare-linux-qt-for-shipping.sh b/scripts/shipping/prepare-linux-qt-for-shipping.sh
index 4d624ff5386..869f0e837f8 100755
--- a/scripts/shipping/prepare-linux-qt-for-shipping.sh
+++ b/scripts/shipping/prepare-linux-qt-for-shipping.sh
@@ -76,20 +76,6 @@ build() {
 	ret=$?; [ ${ret} = 0 ] || exit ${ret}
 }
 
-fix_rpath() {
-	folder=$1
-	pattern=$2
-	rpath=$3
-	(
-		cd "${destdir}" || die "cd failed"
-		while read file ; do
-			echo "Fixing ${file}"
-			chrpath -r "${rpath}" "${file}" 2>&1 | sed 's/^/\t/'
-		done < <(find "${folder}" -type f -name "${pattern}")
-	)
-	ret=$?; [ ${ret} = 0 ] || exit ${ret}
-}
-
 inst() {
 	(
 		cd "${dir}" || die "cd failed"
@@ -98,19 +84,13 @@ inst() {
 			env -i "${MAKE}" install || die "make install failed"
 		fi
 
+		# Fix rpath's
 		cd "${destdir}" || die "cd failed"
-
-		# Fix files bin/*
-		fix_rpath bin '*' '$ORIGIN/../lib'
-
-		# Fix files lib/*.so
-		fix_rpath lib '*.so.?.?.?.debug' '$ORIGIN'
-
-		# Fix files examples/tools/*/*/*.so
-		fix_rpath examples/tools '*.so' '$ORIGIN/../../../lib'
-
-		# Fix files plugins/*/*.so
-		fix_rpath plugins '*.so' '$ORIGIN/../../lib'
+		find bin -mindepth 1 -maxdepth 1 -type f -perm -100 | xargs -n 1 chrpath -r '$ORIGIN/../lib'
+		find lib -mindepth 1 -maxdepth 1 -type f -perm -100 | xargs -n 1 chrpath -r '$ORIGIN'
+		find . -mindepth 3 -maxdepth 3 -type f -perm -100 | xargs -n 1 chrpath -r '$ORIGIN/../../lib'
+		find . -mindepth 4 -maxdepth 4 -type f -perm -100 | xargs -n 1 chrpath -r '$ORIGIN/../../../lib'
+		find . -mindepth 5 -maxdepth 5 -type f -perm -100 | xargs -n 1 chrpath -r '$ORIGIN/../../../../lib'
 	)
 	ret=$?; [ ${ret} = 0 ] || exit ${ret}
 }
-- 
GitLab