Miscellany
public text v1 · immutablecopywithlibdeps() {
file=$1
echo "Copying library dependencies for $file..."
cp $file ${file/\//}
ldd $file | ( while read ; do
# Strip leading whitespace.
REPLY=`echo "$REPLY" | sed -e 's+^[ \t]*++'`
# Try to parse the possible ldd output lines.
src=
dest=
case "$REPLY" in
*' => '*)
src=`echo $REPLY | \
sed -re 's+^.* => ([^ ]*).*$+\1+;/=>/d'`
dst=`echo $REPLY | \
sed -re 's+^.*[ /\t]*([^ /\t]*) => .*$+lib/\1+;/=>/d'`
;;
/*)
src=`echo $REPLY | sed -re 's+^([^ \t]*)[ \t].*$+\1+'`
dst=`echo $src | sed -e 's+^/++'`
;;
*)
;;
esac
if [ -n "$src" -a -n "$dst" ]; then
case "$src" in
\(*)
echo "Skipping $REPLY"
;;
*)
/bin/cp -u $src $dst || \
echo "oops on $REPLY ($src) ($dst)"
;;
esac
else
echo "WARNING: Unparseable $REPLY"
fi
done )
}