diff --git a/Mk/Scripts/qa.sh b/Mk/Scripts/qa.sh --- a/Mk/Scripts/qa.sh +++ b/Mk/Scripts/qa.sh @@ -649,7 +649,7 @@ } proxydeps() { - local file dep_file dep_file_pkg already rc + local file dep_file dep_file_pkg already rc dep_lib_file dep_lib_files rc=0 @@ -697,6 +697,8 @@ rc=1 fi already="${already} ${dep_file}" + dep_lib_file=$(basename ${dep_file}) + dep_lib_files="${dep_lib_files} ${dep_lib_file%%.so*}.so" done <<-EOT $(env LD_LIBMAP_DISABLE=1 ldd -a "${STAGEDIR}${file}" | \ awk ' @@ -712,6 +714,13 @@ sed -e 's/^\.//') EOT + # Check whether all files in LIB_DPEENDS are actually linked against + for _library in ${WANTED_LIBRARIES} ; do + if ! listcontains ${_library} "${dep_lib_files}" ; then + warn "you might not need LIB_DEPENDS on ${_library}" + fi + done + [ -z "${PROXYDEPS_FATAL}" ] && return 0 return ${rc} diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk --- a/Mk/bsd.port.mk +++ b/Mk/bsd.port.mk @@ -1650,6 +1650,7 @@ PKGORIGIN=${PKGORIGIN} \ LIB_RUN_DEPENDS='${_LIB_RUN_DEPENDS:C,[^:]*:([^:]*):?.*,\1,}' \ UNIFIED_DEPENDS=${_UNIFIED_DEPENDS:C,([^:]*:[^:]*):?.*,\1,:O:u:Q} \ + WANTED_LIBRARIES='${LIB_DEPENDS:C,([^:]*):([^:]*):?.*,\1,}' \ PKGBASE=${PKGBASE} \ LICENSE="${LICENSE}" \ LICENSE_PERMS="${_LICENSE_PERMS}" \