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