READ PLEASE if your port uses BerkeleyDB (db3, db4, db41)

Matthias Andree matthias.andree at gmx.de
Tue Oct 14 06:34:22 PDT 2003


On Tue, 14 Oct 2003, Xavier Beaudouin wrote:

> I think that we should get a "easy" way to know if db3 / db4 / db41 / 
> db41-nocrypto is installed during the port generation.
> 
> Idealy a
> 
> USE_DB=<something>
> 
> with <something> can be : 3, 4, 41, 41-nocrypto can help to get the 
> good dependency with all db<x> ports users.

Well, these libraries are not API compatible. A software package needs
to _support_ db4 and db41, so "just pick any" isn't going to fly. I
assume there is a lot of software around that will break with db41.

OTOH, something like conjunctive dependencies ("use DB 3 or DB 4 or DB
4.1 whatever is already there") might be useful.

> One thing I didn't get a clue is how to detect the current installation 
> of a db<x> package (a clean, neat, and if possible automagicaly way) ?

What you ask is something that Debian offers: "Requires db3 or db4 or
db41". Some standard documented in the porter's handbook might however
be an interim solution.

My real concern is putting away with the incompatibility the DB renaming
causes. All systems except for some BSD-ish ones link against -ldb -
FreeBSD wants -ldb4 instead. As written before, I am chary to change the
package to install into the upstream standard /usr/local/BerkeleyDB.N.M
without discussion - software would have to have the library path linked
in.

-- 
Matthias Andree

Encrypt your mail: my GnuPG key ID is 0x052E7D95


More information about the freebsd-ports mailing list