diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk --- a/Mk/bsd.port.mk +++ b/Mk/bsd.port.mk @@ -2604,6 +2604,8 @@ # The "latest version" link -- ${PKGNAME} minus everthing after the last '-' PKGLATESTREPOSITORY?= ${PACKAGES}/Latest +PKGPROVIDESDIR?= ${PACKAGES}/provides +PKGSHLIBSPROVIDEDDIR?= ${PACKAGES}/shlibs_provided PKGBASE?= ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX} PKGLATESTFILE= ${PKGLATESTREPOSITORY}/${PKGBASE}${PKG_SUFX} . if ${PKG_COMPRESSION_FORMAT} == txz @@ -3435,6 +3437,8 @@ . if defined(_HAVE_PACKAGES) _EXTRA_PACKAGE_TARGET_DEP+= ${PKGFILE} _PORTS_DIRECTORIES+= ${PKGREPOSITORY} +_PORTS_DIRECTORIES+= ${PKGPROVIDESDIR} +_PORTS_DIRECTORIES+= ${PKGSHLIBSPROVIDEDDIR} . if ${PKGORIGIN} == "ports-mgmt/pkg" || ${PKGORIGIN} == "ports-mgmt/pkg-devel" _EXTRA_PACKAGE_TARGET_DEP+= ${PKGLATESTREPOSITORY} @@ -3470,6 +3474,13 @@ ${PKGFILE${_SP.${sp}}}: ${WRKDIR_PKGFILE${_SP.${sp}}} @${LN} -f ${WRKDIR_PKGFILE${_SP.${sp}}} ${PKGFILE${_SP.${sp}}} 2>/dev/null \ || ${CP} -f ${WRKDIR_PKGFILE${_SP.${sp}}} ${PKGFILE${_SP.${sp}}} + @_pkgfile="${PKGFILE${_SP.${sp}}}"; \ + for _p in $$(${PKG_QUERY} -F $${_pkgfile} '%y' 2>/dev/null); do \ + ${INSTALL} -l rs $${_pkgfile} ${PKGPROVIDESDIR}/$${_p}; \ + done; \ + for _p in $$(${PKG_QUERY} -F $${_pkgfile} '%b' 2>/dev/null); do \ + ${INSTALL} -l rs $${_pkgfile} ${PKGSHLIBSPROVIDEDDIR}/$${_p}; \ + done _EXTRA_PACKAGE_TARGET_DEP+= ${PKGFILE${_SP.${sp}}} . endif