how do I modify pkg-plist for opional modules

Scot W. Hetzel hetzels at westbend.net
Wed May 28 15:15:30 PDT 2003


From: "Guy Fraser" <guy at incentre.net>
> The FreeRadius port is marked as broken due to a  "bad" pkg-plist.
>
> If MySQL and X99-Token software are both installed the list is
> correct. The Makefile installs modules if the required software is
> installed before "make".
>
> The pkg-plist can never be correct unless all files for all optional
> modules are included but not required to be available for install or
> removal. Alternatively a wild card could be used since the optional
> modules are all in the "lib" subdirectory and start with "rlm_", so
> "lib/rlm_*" could match.
>
> Let me know how to do this and I will try to fix the problem.
>
You need to change PLIST_SUB so that it contains a variable that is either
set to " or "@comment  depending on whether the module is installed or not
installed.

You'll need to add something like the following to the Makefile:

.if defined(WITH_MYSQL)
.if exists(${LOCALBASE}/lib/mysql/libmysqlclient.so.10)
LIB_DEPENDS+=   mysqlclient.10:${PORTSDIR}/databases/mysql323-client
.else
.if exists(${LOCALBASE}/lib/mysql/libmysqlclient.so.14)
LIB_DEPENDS+=   mysqlclient.14:${PORTSDIR}/databases/mysql41-client
.else
LIB_DEPENDS+=   mysqlclient.12:${PORTSDIR}/databases/mysql40-client
.endif
.endif
CONFIGURE_ARGS+=--with-mysql=${LOCALBASE}

PLIST_SUB+=    MYSQL=""
.else
CONFIGURE_ARGS+=    --without-mysql
PLIST_SUB+=    MYSQL="@comment "
.endif

Then in pkg-plist change

lib/rlm_sql_mysql.*

to

%%MYSQL%%lib/rlm_sql_mysql.*

Take a look at net/openldap2, or security/cyrus-sasl2 (Makefile and
pkg-plist) for an example.

Scot



More information about the freebsd-ports mailing list