Berkeley DB cleanup has apparently broken ports where no db is currently installed

Doug Barton dougb at dougbarton.us
Thu Dec 26 06:57:31 UTC 2013


I saw the DEPRECATED notice for my old faithful bdb 4.7, and read the 
UPDATING entry related to the pending bdb purge. My first thought was 
"That's a total waste of effort, with likely disastrous consequences." 
I'm all for removing broken/unused ports. Some of you may recall that I 
made a non-trivial contribution to those efforts when I was a committer. 
However the older versions of bdb are neither unused, nor broken.

To make matters worse, newer versions require fairly extensive manual 
intervention in order to make them work with older dbs. This is the 
primary reason that a mass cleanup like this has never been done in the 
past. The amount of work to maintain the old ports is near-zero, since 
they don't get updates often, if at all. Whereas the amount of pain this 
is going to cause users is extensive. In other words this is a worst 
case cost/benefit ratio.

To add insult to injury the status quo seems to be that if you do not 
already have a version of bdb installed, the ports tree will fail. The 
only thing I have using it atm is p5-FreeBSD-Portindex. So I uninstalled 
it, and its dependencies, and figured that with a clean system the ports 
tree would just do the right thing and install whatever version will be 
supported. Instead, the build failed when trying to install 
databases/p5-BerkeleyDB. It has USE_BDB=47+, but that doesn't work 
because it tries to install 47, which fails with the DEPRECATED warning. 
Does anyone actually test this stuff before they commit it?

Meanwhile, IF (and IMO that's still a big IF) there is some good reason 
to do the purge of old bdb versions then leaving only 5 and 6 behind is 
not the right way to go. There should be at least one 4.x version left 
in, if for no other reason than to avoid having to go with the oracle 
versions. Personally I would choose 4.7 for that, but reasonable 
arguments can be made to include 4.8 instead. Either way, leaving behind 
just the 5 and 6 versions is a bad idea.

Doug


More information about the freebsd-ports mailing list