Depending on other ports with OPTIONS

Paul A. Hoadley paulh at
Fri Apr 22 23:26:51 PDT 2005


I am currently making my first port: RefDB [1].  I have been quite
carefully reading the Porter's Handbook, and examining other ports,
and on the whole it is proceeding quite smoothly.

I am using OPTIONS in the Makefile for RefDB (a user can choose MySQL,
PostgreSQL or SQLite as the back-end DB).  RefDB depends on libdbi,
and, of course, the specific libdbi-driver corresponding to the chosen

Based on another port's Makefile, I have been setting RUN_DEPENDS to
check for the specific libdbi-driver.  For example, if a user chooses
MySQL as the backend for RefDB, I have this:

.if defined(WITH_MYSQL)
RUN_DEPENDS+=	${LOCALBASE}/lib/dbd/${PORTSDIR}/databases/libdbi-drivers
CONFIGURE_ARGS+=	--with-db-server=mysql

The problem is this.  Say I run 'make install' for my new port, and
choose MySQL.  If libdbi-drivers has never been installed, that's fine
and I can select the MySQL driver from it's options.  Say I don't
install any other drivers, then run 'make deinstall clean rmconfig
install' for RefDB, but this time choose PostgreSQL as the DB from my
options.  It will certainly notice that is missing, and
run install in libdbi-drivers, but the options there are already saved
and obviously not re-presented.  Hence remains unbuilt and

This must be a common problem, and I hope it's not too much of a FAQ
for the list.  How can I do the equivalent of 'rmconfig install' in
libdbi-drivers when I change options when building the RefDB port?



-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url :

More information about the freebsd-ports mailing list