Broken _DEPENDS logic

Lowell Gilbert freebsd-ports-local at be-well.ilk.org
Sun May 3 20:08:54 UTC 2015


Roger Marquis <marquis at roble.com> writes:

> Found why mailman is trying (and failing) to reinstall postfix and it
> appears to be a bug in other ports as well.
>
>   # cd /usr/ports/mail && grep '_DEPENDS+=.*postfix' */Makefile
>   dk-milter/Makefile:RUN_DEPENDS+= ${LOCALBASE}/libexec/postfix/smtpd:${PORTSDIR}/mail/postfix-current
>   dk-milter/Makefile:RUN_DEPENDS+=        ${LOCALBASE}/libexec/postfix/smtpd:${PORTSDIR}/mail/postfix
>   drac/Makefile:RUN_DEPENDS+=     postfix:${PORTSDIR}/mail/postfix
>   enma/Makefile:RUN_DEPENDS+=     ${LOCALBASE}/libexec/postfix/smtpd:${PORTSDIR}/mail/postfix-current
>   enma/Makefile:RUN_DEPENDS+=     ${LOCALBASE}/libexec/postfix/smtpd:${PORTSDIR}/mail/postfix
>   mailman/Makefile:BUILD_DEPENDS+=        /usr/sbin/postconf:${PORTSDIR}/mail/postfix
>   mailman/Makefile:RUN_DEPENDS+=  /usr/sbin/postconf:${PORTSDIR}/mail/postfix
>
> Shouldn't these ports be querying the pkg db rather than checking for a
> particular file, particularly when the file is incorrectly specified?

Have you read the Porters' Handbook? 

But, generally, the answer to your question is "no," becuase it is often
the case that more than one port can serve as a dependency for another
port. Your suggestion amounts to saying that only one port can satisfy a
dependency for another port, which is not the case.


More information about the freebsd-ports mailing list