[FreeBSD-Ports-Announce] HEADS UP: Berkeley DB 4...4.7 port removals/upgrades may require manual preparation

Matthias Andree mandree at FreeBSD.org
Thu Aug 21 18:56:49 UTC 2014


Greetings,

The time has now come to remove these db4* ports, Berkeley DB versions
4.0 to 4.7, inclusively.  Most of their dependent ports can cope with
upgrades to db48, db5, or db6, most of the others could be patched to work.

I will wait a few hours after this announcement has appeared on the
lists before committing the change.

I had marked most of the Berkeley DB ports in databases/db4* (db4o-mono
is part of this group) deprecated many months ago.  Released between
2001 and 2008, all have fallen out of the upstream's support many years
ago, too -- and the db5 API is mostly compatible.

IMPORTANT: for some of the ports that use advanced Berkeley DB features
such as the built-in locking, transactional or replication features, the
applications that use Berkeley DB may require special handling
 ... BEFORE YOU UPGRADE BERKELEY DB OR REBUILD THE APPLICATION!

Usually these can be recognized from storing log.* and __db.* files next
to the actual *.db database files.

You must make sure that the applications shut down with a consistent
database state, and wherever possible see to it that you have the data
exported to a format that can later be reimported with the new
BerkeleyDB version, just to be on the safe side.

The exact steps to be taken are too diverse to describe here, because
they depend on the exact version that you are upgrading from, and how
exactly some application is using Berkeley DB.

I have created a Wiki page that contains instructions, and points to
SleepyCat's or Oracle's upgrading documentation, at
<https://wiki.freebsd.org/Ports/BerkeleyDBCleanup>.

Please be sure to check these BEFORE upgrading Berkeley DB or your
applications.

When, among the upgrade steps on the WIki, you have reached the point
where it is safe to upgrade the Berkeley DB and applications, there is a
helper script in Tools/scripts/BDB-upgrade-helper.sh uses portmaster or
portupgrade to rebuild the applications to use a newer Berkeley DB, and
then offer to delete the old Berkeley DB ports.

Corresponding upgrade documentation will be committed to ports/UPDATING
along with the relevant changes once this becomes effective.

The binary package upgrades will follow on their regular rebuild
schedule and pick db5 (actually db5.3) by default; I have chosen to pick
db6 only for from-source builds on systems that already have db6
installed because db6 switched to the less liberal Affero GNU General
Public License v3 that requires its users to open-source software
offered as a service, too.

If you have further questions, please ask them on the freebsd-ports@
mailing list, and feel free to Cc: me, but do make sure your mailer does
not break threading, and do keep the Subject line intact.


Thanks for your attention.

Matthias Andree


(*) The exception is mail/popular which will lose its BDB4 plugin along
the way because fixing goes beyond the scope of the ports mailing list.


More information about the freebsd-ports-announce mailing list