summaryrefslogtreecommitdiffstats
path: root/support/scripts/check-host-rpath
diff options
context:
space:
mode:
Diffstat (limited to 'support/scripts/check-host-rpath')
-rwxr-xr-xsupport/scripts/check-host-rpath8
1 files changed, 5 insertions, 3 deletions
diff --git a/support/scripts/check-host-rpath b/support/scripts/check-host-rpath
index 020c12379f..adabfdf53f 100755
--- a/support/scripts/check-host-rpath
+++ b/support/scripts/check-host-rpath
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
-# This script scans $(HOST_DIR)/{bin,sbin} for all ELF files, and checks
-# they have an RPATH to $(HOST_DIR)/usr/lib if they need libraries from
+# This script scans $(HOST_DIR)/{,usr/}{bin,sbin} for all ELF files, and checks
+# they have an RPATH to $(HOST_DIR)/{,usr/}lib if they need libraries from
# there.
# Override the user's locale so we are sure we can parse the output of
@@ -40,7 +40,7 @@ elf_needs_rpath() {
local lib
while read lib; do
- [ -e "${hostdir}/usr/lib/${lib}" ] && return 0
+ [ -e "${hostdir}/lib/${lib}" ] && return 0
done < <( readelf -d "${file}" \
|sed -r -e '/^.* \(NEEDED\) .*Shared library: \[(.+)\]$/!d;' \
-e 's//\1/;' \
@@ -58,6 +58,8 @@ check_elf_has_rpath() {
for dir in ${rpath//:/ }; do
# Remove duplicate and trailing '/' for proper match
dir="$( sed -r -e 's:/+:/:g; s:/$::;' <<<"${dir}" )"
+ [ "${dir}" = "${hostdir}/lib" -o "${dir}" = "\$ORIGIN/../lib" ] && return 0
+ # For the time being, the rpath is allowed with both usr/lib and lib
[ "${dir}" = "${hostdir}/usr/lib" -o "${dir}" = "\$ORIGIN/../../usr/lib" ] && return 0
done
done < <( readelf -d "${file}" \
OpenPOWER on IntegriCloud