diff options
author | zimbatm <zimbatm@zimbatm.com> | 2016-02-26 22:37:04 +0000 |
---|---|---|
committer | zimbatm <zimbatm@zimbatm.com> | 2016-02-26 22:37:04 +0000 |
commit | 35ab3d301f083bbffc4f14220b46b0372605d6f9 (patch) | |
tree | dc8a1963525b4b0f555a033d82357598dc250ebb /pkgs/development/tools/misc/patchelf/setup-hook.sh | |
parent | c3ed0a249401b6006768bfd62cbb628121d2209e (diff) | |
parent | fe19d0a3273811549333f624d48d04a8dd406228 (diff) | |
download | nixlib-35ab3d301f083bbffc4f14220b46b0372605d6f9.tar nixlib-35ab3d301f083bbffc4f14220b46b0372605d6f9.tar.gz nixlib-35ab3d301f083bbffc4f14220b46b0372605d6f9.tar.bz2 nixlib-35ab3d301f083bbffc4f14220b46b0372605d6f9.tar.lz nixlib-35ab3d301f083bbffc4f14220b46b0372605d6f9.tar.xz nixlib-35ab3d301f083bbffc4f14220b46b0372605d6f9.tar.zst nixlib-35ab3d301f083bbffc4f14220b46b0372605d6f9.zip |
Merge remote-tracking branch 'upstream/staging'
Diffstat (limited to 'pkgs/development/tools/misc/patchelf/setup-hook.sh')
-rw-r--r-- | pkgs/development/tools/misc/patchelf/setup-hook.sh | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/pkgs/development/tools/misc/patchelf/setup-hook.sh b/pkgs/development/tools/misc/patchelf/setup-hook.sh index a76fbfbd509c..563ef57fce11 100644 --- a/pkgs/development/tools/misc/patchelf/setup-hook.sh +++ b/pkgs/development/tools/misc/patchelf/setup-hook.sh @@ -5,12 +5,16 @@ fixupOutputHooks+=('if [ -z "$dontPatchELF" ]; then patchELF "$prefix"; fi') patchELF() { - header "patching ELF executables and libraries in $prefix" - if [ -e "$prefix" ]; then - find "$prefix" \( \ - \( -type f -a -name "*.so*" \) -o \ - \( -type f -a -perm -0100 \) \ - \) -print -exec patchelf --shrink-rpath '{}' \; - fi + local dir="$1" + header "shrinking RPATHs of ELF executables and libraries in $dir" + + local i + while IFS= read -r -d $'\0' i; do + if [[ "$i" =~ .build-id ]]; then continue; fi + if ! isELF "$i"; then continue; fi + echo "shrinking $i" + patchelf --shrink-rpath "$i" || true + done < <(find "$dir" -type f -print0) + stopNest } |