#!/bin/bash SCANELF="scanelf -nyRB" SONAME="$1" BINDIR="$2" if [[ -z ${BINDIR} ]] then # use scanelf opts to scan everything in path/ldpath BINDIR="-p -l" fi build_filename_list() { local files local i files="$(${SCANELF} ${BINDIR} | grep ${SONAME} | cut -d' ' -f3)" FILENAME_LIST="$(for i in ${files}; do echo ${i}; done | sort -u)" export FILENAME_LIST } build_depname_list() { local file local deps local i for file in ${FILENAME_LIST} do # search exact filenames! deps+=" $(magequery -e ${file})" done DEPNAME_LIST="$(for i in ${deps}; do echo ${i}; done | sort -u)" export DEPNAME_LIST } build_filename_list #echo "${FILENAME_LIST}" build_depname_list echo "${DEPNAME_LIST}"