ipfire-2.x/tools/find-dependencies

33 lines
528 B
Bash
Executable File

#!/bin/bash
main() {
if [ $# -lt 2 ]; then
echo "${0}: Usage: PATH LIBRARY ..."
return 2
fi
local root="${1}"
shift
if [ ! -d "${root}" ]; then
echo "${0}: ${root}: No such file or directory"
return 1
fi
local libraries="$@"
# Build the regex filter
local filter="(${libraries[*]// /|})"
local file
for file in $(find "${root}" -xdev -type f -executable); do
if readelf -d "${file}" 2>/dev/null | grep -qE "NEEDED.*\[${filter}\]$"; then
echo "${file}"
fi
done
return 0
}
main "$@" || exit $?