#!/bin/bash die() { echo "$*" >&2 exit 1 } [[ -z $1 ]] && die "Missing argument" path=${1%/*} [[ -z $path ]] && path="." for l in $(scanelf -n "$@" | awk '/^ET/{gsub(/,/,"\n",$2);print $2}' | sort -u); do [[ $l = libgcc* || $l = libstdc* ]] && continue lp=$(find ${path} -type f -name "${l}") [[ -n ${lp} ]] && echo "Found local version of $l ($lp)" >&2 && continue lib="$(find /lib{,64} /usr/lib{,64} -maxdepth 2 -name "$l")" [[ -z $lib ]] && echo "Could not find $l" >&2 && continue pkg=$(qfile -C -e -q "$lib") [[ -z $pkg ]] && echo "No package found containing $lib" >&2 && continue echo $pkg | eix '-|*' --format '' done | sort -u