blob: 51362a864e8d7bccfadae2e64665725c702a8168 [file] [log] [blame]
#!/bin/bash
# Copyright 2013 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# Changes all RPATHs in a given directory from XORIGIN to $ORIGIN
# See the comment about XORIGIN in instrumented_libraries.gyp
# Fixes rpath from XORIGIN to $ORIGIN in a single file $1.
function fix_rpath {
if [ -w "$1" ]
then
# Only attempt to fix RPATH if the entry actually exists.
# FIXME(eugenis): find out why zlib1g on Precise doesn't get RPATH set.
if chrpath -l $1
then
echo "fix_rpaths.sh: fixing $1"
chrpath -r $(chrpath $1 | cut -d " " -f 2 | sed s/XORIGIN/\$ORIGIN/g \
| sed s/RPATH=//g) $1
fi
else
# FIXME(eugenis): libcups2 DSOs are created non-writable, causing this
# script to fail. As a temporary measure, ignore non-writable files.
echo "fix_rpaths.sh: skipping non-writable file $1"
fi
}
for i in $(find $1 | grep -P "\.so(.\d+)*$"); do
fix_rpath $i
done