summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorgoro <qtc-committer@nokia.com>2009-01-15 17:19:53 +0100
committergoro <qtc-committer@nokia.com>2009-01-15 17:29:18 +0100
commit9d029cd4be095f31fff5de6c620297e59dd85fe7 (patch)
tree5820fb77b12eb82248483dd9aff7c6ed2fd2212f /scripts
parent5ebaf0964bb1bc3d8d02c55065f69622bc2387f5 (diff)
downloadqt-creator-9d029cd4be095f31fff5de6c620297e59dd85fe7.tar.gz
Add proper chrpath fixing
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/shipping/prepare-linux-qt-for-shipping.sh50
1 files changed, 42 insertions, 8 deletions
diff --git a/scripts/shipping/prepare-linux-qt-for-shipping.sh b/scripts/shipping/prepare-linux-qt-for-shipping.sh
index d56a58763e..10f4620a2c 100755
--- a/scripts/shipping/prepare-linux-qt-for-shipping.sh
+++ b/scripts/shipping/prepare-linux-qt-for-shipping.sh
@@ -1,8 +1,9 @@
#!/usr/bin/env bash
-workdir=/home/berlin/dev/qt-4.4.3-temp
-destdir=/home/berlin/dev/qt-4.4.3-shipping
-dir=qt-x11-opensource-src-4.4.3
+version=4.4.3
+workdir=/home/berlin/dev/qt-${version}-temp
+destdir=/home/berlin/dev/qt-${version}-shipping
+dir=qt-x11-opensource-src-${version}
file_tar="${dir}.tar"
file_tar_gz="${file_tar}.gz"
[ -z ${MAKE} ] && MAKE=make
@@ -44,7 +45,7 @@ download() {
mirror=http://wftp.tu-chemnitz.de/pub/Qt/qt/source
;;
esac
- wget "${mirror}/${file}" || die "Download failed"
+ wget "${mirror}/${file_tar_gz}" || die "Download failed"
}
unpack() {
@@ -55,7 +56,7 @@ unpack() {
build() {
(
- cd "${dir}"
+ cd "${dir}" || die "cd failed"
if [ ! -f config.status ] ; then
env -i PATH=${envpath} ./configure \
-prefix "${destdir}" \
@@ -75,11 +76,44 @@ 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}"
- mkdir -p "${destdir}"
- env -i "${MAKE}" install || die "make install failed"
+ cd "${dir}" || die "cd failed"
+ if [ ! -d "${destdir}" ]; then
+ mkdir -p "${destdir}"
+ env -i "${MAKE}" install || die "make install failed"
+ fi
+
+ cd "${destdir}" || die "cd failed"
+
+ # Fix files bin/*
+ fix_rpath bin '*' '$ORIGIN/../lib'
+
+ # Fix files lib/*.so
+ fix_rpath lib '*.so.?.?.?' '$ORIGIN'
+ fix_rpath lib '*.so.?.?.?.debug' '$ORIGIN'
+
+ # Fix files examples/tools/*/*/*.so
+ fix_rpath examples/tools '*.so' '$ORIGIN/../../../lib'
+ fix_rpath examples/tools '*.so.debug' '$ORIGIN/../../../lib'
+
+ # Fix files plugins/*/*.so
+ fix_rpath plugins '*.so' '$ORIGIN/../../lib'
+ fix_rpath plugins '*.so.debug' '$ORIGIN/../../lib'
)
ret=$?; [ ${ret} = 0 ] || exit ${ret}
}