diff --git a/xbps-src/shutils/verify_rundeps.sh b/xbps-src/shutils/verify_rundeps.sh index 1f4da6502db..d979b0946c0 100644 --- a/xbps-src/shutils/verify_rundeps.sh +++ b/xbps-src/shutils/verify_rundeps.sh @@ -101,7 +101,6 @@ verify_rundeps() # for f in ${verify_deps}; do unset j rdep _rdep rdepcnt - # Bail out if maplib is not aware for this lib rdep="$(grep "$f" $maplib|awk '{print $2}')" rdepcnt="$(grep "$f" $maplib|awk '{print $2}'|wc -l)" if [ -z "$rdep" ]; then @@ -115,25 +114,38 @@ verify_rundeps() echo " SONAME: $f <-> $pkgname (ignored)" continue else + # Bail out if maplib is not aware for this lib echo " SONAME: $f <-> UNKNOWN PKG PLEASE FIX!" broken=1 fi - fi - # Check if shlib is provided by multiple pkgs. - if [ "$rdepcnt" -gt 1 ]; then + elif [ "$rdepcnt" -gt 1 ]; then + unset j found + # Check if shlib is provided by multiple pkgs. for j in ${rdep}; do - [ -z "${_rdep}" ] && _rdep=$j + # if there's a SONAME matching pkgname, use it. + [ "${j}" != "${pkgname}" ] && continue + found=1 + break done + if [ -n "$found" ]; then + _rdep=$j + else + # otherwise pick up the first one. + for j in ${rdep}; do + [ -z "${_rdep}" ] && _rdep=$j + done + fi else _rdep=$rdep fi - # Ignore libs by current pkg - if [ "${_rdep}" = "$pkgname" ]; then + if [ "${_rdep}" != "$pkgname" ]; then + echo " SONAME: $f <-> ${_rdep}" + else + # Ignore libs by current pkg echo " SONAME: $f <-> ${_rdep} (ignored)" continue fi # Add required shlib to rundeps. - echo " SONAME: $f <-> ${_rdep}" if [ -z "$soname_list" ]; then soname_list="${f}" else diff --git a/xbps-src/xbps-src.sh.in b/xbps-src/xbps-src.sh.in index 6075c8b6410..ec74775579a 100644 --- a/xbps-src/xbps-src.sh.in +++ b/xbps-src/xbps-src.sh.in @@ -23,7 +23,7 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #- -readonly XBPS_SRC_BUILD_VERSION=20111116 +readonly XBPS_SRC_BUILD_VERSION=20111117 XBPS_CONFIG_FILE=@@XBPS_INSTALL_ETCDIR@@/xbps-src.conf PROGNAME=$(basename $0)