Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 25 Aug 2014 22:21:41 +0200
From:      Matthias Andree <matthias@an3e.de>
To:        freebsd-ports@freebsd.org
Subject:   Re: HEADS UP: Berkeley DB 4...4.7 port removals/upgrades may require manual preparation
Message-ID:  <53FB9AD5.1060307@an3e.de>
In-Reply-To: <20140823230637.GA34697@server.rulingia.com>
References:  <53F640EF.7000200@FreeBSD.org> <20140823230637.GA34697@server.rulingia.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Am 24.08.2014 um 01:06 schrieb Peter Jeremy:
> On 2014-Aug-21 20:56:47 +0200, Matthias Andree <mandree@FreeBSD.org> wrote:
>> 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 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>.
> 
> This assumes that I know where and how BDB is being used.  I've discovered
> that I have db41 installed on a couple of systems - it's required by
> textproc/redland, which in turn is required by editors/libreoffice.  Whilst
> I can avoid using libreoffice whilst I upgrade, I have no idea how it uses
> BDB or where the database files might be.  I suspect this scenario is true
> for the majority of people who have BDB installed.

Peter,

thank you for the feedback.

The issue is that we don't have a way to easily identify only the direct
dependents of BDB, but we get grandparent requisites, too, from the
index, as you have found out in your case with libreoffice and redland.
 Redland is the port requiring BDB, and libreoffice inherits this requisite.

>> 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.
> 
> Partial relative paths aren't especially helpful.  This should either be
> an absolute path or specify a cwd (presumably /usr/ports in this case).
> 
> And, for reasons I don't understand, when I run BDB-upgrade-helper.sh,
> portmaster wants to install both db48 and db5.

That is because some of the ports you need insist they cannot work with
any other version, which is subject to a separate discussion, in the
Subject "Re: Strong objection to db4.8 deprecation!" thread.


I have revised the list item #7 on the Wiki to read this:

> ALL: rebuild the applications to use the new Berkeley DB version,
> you can set WITH_BDB_VER=5 or WITH_BDB_VER=6 in /etc/make.conf, or
> uniquename_WITH_BDB_VER=5 (where uniquename is what your port's
> UNIQUENAME is, for instance, bogofilter_WITH_BDB_VER=6). You can
> use the /usr/ports/Tools/scripts/BDB-upgrade-helper.sh script which
> will automatically upgrade your applications that depend on an
> older-to-be-removed Berkeley DB version to the new version, and
> then offer to delete the old Berkeley DB package(s). Note: there
> are a few ports that insist on using db4.8 for various reasons, so
> you may end up with most ports using db5 (or db6), and a few using
> db48. This is currently under discussion and being worked on.

I hope this addresses your points sufficiently, if not, let me know what
else you would propose to change.

Best regards,
Matthias


-- 
Matthias Andree



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?53FB9AD5.1060307>