#!/bin/bash prov=${1:-libtool.prov} req=${2:-libtool.req} dbpath= help() { echo Usage: `basename $0` /path/to/libtool.prov /path/to/libtool.req \[dbpath\] exit 1 } /usr/bin/which $prov >/dev/null 2> /dev/null || help /usr/bin/which $req >/dev/null 2> /dev/null || help temp=`mktemp -d ${TMPDIR:-/tmp}/check-libtool-closure.XXXXXX` test -n "$temp" || exit 1 trap "rm -rf $temp" EXIT find /lib* /usr/lib* -name "*.la" | $prov | sort -u > $temp/provides find /lib* /usr/lib* -name "*.la" | while read lafile ; do reqpackage=`env LANG=en_US rpm -qf ${dbpath:+--define "_dbpath ${dbpath}"} "$lafile" 2> /dev/null | grep -v "is not owned by any package"` echo $lafile | $req | sort -u | while read ladep ; do if ! grep -q ^"${ladep}"\$ $temp/provides ; then provpackage=`env LANG=en_US rpm -qf ${dbpath:+--define "_dbpath ${dbpath}"} "$ladep" 2> /dev/null | grep -v "is not owned by any package"` echo "${reqpackage:+ ${reqpackage}:}$lafile -> ${provpackage:+${provpackage}:}$ladep" fi done done