On Jun 18, 2009, at 1:12 PM, Daniel J. Luke wrote:

On Jun 17, 2009, at 4:28 PM, nox wrote:
We recently ran into this with serf and its dependence upon apr and apr-util, which pulls in SQLite, PostgreSQL and BerkeleyDB dependencies depending upon the variants it was built with. Having to have serf have the same variants as apr and apr-util just to get those port dependencies isn't something I wanted to manage, so I just kept the dependencies on apr and apr-util.

I don't see what is wrong in declaring only apr and apr-util, as I doubt serf calls SQLite, PostgreSQL or BerkeleyDB functions directly. See my previous mail.


In the serf instance, serf ended up linked to bdb - and without a dependency listed in the portfile MacPorts will let you remove bdb without letting you know that it breaks serf.

So you would do:

port install serf (installs apr-util and bdb)
port -f upgrade apr-util +no_bdb (because you don't want bdb)
port uninstall bdb

Macports won't warn you and you'll have a broken serf [note that this particular problem has been fixed].

Perhaps base/ needs to be enhanced so that it keeps track of the libraries that a port links to (and what ports they are associated with)?

Yes, this should be a dynamic search for a port's depenencies, not listing them in the Portfile. rpmbuild does this and find's any .so's a package requires.

Blair

_______________________________________________
macports-dev mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macports-dev

Reply via email to