Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Nov 2005 11:21:03 +1030
From:      "Paul A. Hoadley" <paulh@logicsquad.net>
To:        Volker Stolz <vs@FreeBSD.org>
Cc:        freebsd-ports-bugs@FreeBSD.org
Subject:   Re: ports/89703: [maintainer-update] textproc/refdb to 0.9.6
Message-ID:  <20051130005103.GB93035@bigbird.logicsquad.net>
In-Reply-To: <200511291335.jATDZkD8037402@freefall.freebsd.org>
References:  <200511291335.jATDZkD8037402@freefall.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Nov 29, 2005 at 01:35:46PM +0000, Volker Stolz wrote:

> Although your intent to use versioned dependencies is honorable,
> it'll mean that LIB_DEPENDS is incomplete (missing
> libdbi).

LIB_DEPENDS is similarly incomplete in the current version of this
port.  Dependency on libdbi was only ever expressed indirectly by
BUILD_DEPENDS on the various backend drivers in libdbi-drivers.  For
example, if the user selected 'MySQL' as the DB backend for refdb, the
Makefile adds the following:

USE_MYSQL=      yes
# If libdbi-drivers has been built without MySQL driver, abort
.if exists(${LOCALBASE}/lib/dbd) && !exists(${LOCALBASE}/lib/dbd/libmysql.so)
IGNORE=         Rebuild databases/libdbi-drivers with MySQL support
.elif !exists(${LOCALBASE}/lib/dbd)
BUILD_DEPENDS+= ${LOCALBASE}/lib/dbd:${PORTSDIR}/databases/libdbi-drivers
.endif

The .if is true if libdbi exists, but libmysql.so was never installed.
There's no way to automate the consequence, as libdbi-drivers uses
OPTIONS in its Makefile, and so we can't force libmysql.so to be
built.  The .elif is true if libdbi was never built, in which case we
make database/libdbi-drivers a BUILD_DEPENDS, and rely on the user to
select the right backend.

> Unfortunately, I don't see an easy fix. I'd say let's go for a
> regular LIB_DEPENDS again since running with stale dependencies is
> never really supported.

I don't see an easy fix either, and I think even the approach for the
existing port is a bit of a mess.  Are you saying it would be
sufficient to add 'dbi:${PORTSDIR}/databases/libdbi' to LIB_DEPENDS?


-- 
Paul.

w  http://logicsquad.net/
h  http://paul.hoadley.name/



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