mirror of
https://github.com/blacktop/ipsw.git
synced 2026-05-08 12:22:26 +00:00
38 lines
1.0 KiB
Bash
Executable File
38 lines
1.0 KiB
Bash
Executable File
#!/bin/sh
|
|
# This file is a part of Julia. License is MIT: https://julialang.org/license
|
|
# https://github.com/JuliaLang/julia/blob/master/contrib/delete-all-rpaths.sh
|
|
|
|
[ "$(uname)" = Darwin ] || {
|
|
echo "Requires Darwin." 2>&1
|
|
exit 1
|
|
}
|
|
|
|
if [ $# -lt 1 ]; then
|
|
echo "usage: $(basename $0) lib1 [lib2 ...]" 2>&1
|
|
exit 1
|
|
fi
|
|
|
|
LIBS=''
|
|
|
|
# filter out symlinks
|
|
for lib in "$@"; do
|
|
if [ ! -L "$lib" ]; then
|
|
LIBS="$LIBS $lib"
|
|
fi
|
|
done
|
|
|
|
# regex to match and capture the path in a LC_RPATH as output by `otool -l`.
|
|
rpath_r="^ +path ([[:print:]]+) \(offset [[:digit:]]+\)$"
|
|
|
|
for lib in $LIBS; do
|
|
# Find the LC_RPATH commands, with two lines of trailing
|
|
# context, and for each line look for the path to delete it.
|
|
otool -l "$lib" | grep LC_RPATH -A2 |
|
|
while IFS='' read -r line || [ -n "$line" ]; do
|
|
if [[ $line =~ $rpath_r ]]; then
|
|
echo $(basename $lib) deleting rpath "${BASH_REMATCH[1]}" \""$lib"\"
|
|
install_name_tool -delete_rpath "${BASH_REMATCH[1]}" "$lib"
|
|
fi
|
|
done
|
|
done
|