ports/mail/exilog/Makefile
Florian Smeets 92a030dffd databases/p5-DBD-mysql: Fix for MariaDB users
Add a new variable DBD_MYSQL, use that in *_DEPENDS and add mysql to USES
where required. DBD_MYSQL will automatically set the correct DBD dependency.

In cd16748194 databases/p5-DBD-mysql was updated to 5.x, in 5.x the
support for MariaDB was removed and only MySQL >= 8.0 is supported.

In the 4.x releases MariaDB is still supported, according to upstream 4.x
will still be supported for a while [1], so use that for now when we detect
that MYSQL_FLAVOUR is set to mariadb. databases/p5-DBD-mysql4 was added in
d95f49cb3b.

DBD:MariaDB would be another alternative, but migrating to it might need
more analysis than just staying with the 4.x releases of p5-DBD-mysql. This
thread on the amavis-users mailing list has a very good summary [2] from
the author of DBD:MariaDB.

This includes ideas and suggestions from vvd and mat. Thanks!

[1] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=277889#c17
[2] https://lists.amavis.org/pipermail/amavis-users/2024-March/006823.html

PR:		275100, 277889
Reviewed by:	vvd, mat
Fixes:	cd16748194
Differential Revision: https://reviews.freebsd.org/D44662
2024-04-07 11:36:13 +02:00

80 lines
2.3 KiB
Makefile

PORTNAME= exilog
PORTVERSION= 0.5
PORTREVISION= 12
CATEGORIES= mail
MASTER_SITES= http://duncanthrax.net/exilog/
MAINTAINER= ports@FreeBSD.org
COMMENT= Tool to centralize and visualize Exim logs with a web front end
WWW= https://duncanthrax.net/exilog/
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/LICENSE
RUN_DEPENDS= p5-Net-Netmask>=0:net-mgmt/p5-Net-Netmask \
p5-CGI>0:www/p5-CGI
USES= perl5 shebangfix
SHEBANG_GLOB= *.pl
.ifndef WITHOUT_WWWDIR
EXILOGDIR?= ${PREFIX}/www/exilog
.else
EXILOGDIR?= ${PREFIX}/exilog
.endif
OPTIONS_DEFINE= DOCS AGENT
OPTIONS_MULTI= SQLBACKEND
OPTIONS_MULTI_SQLBACKEND= MYSQL PGSQL
OPTIONS_DEFAULT= AGENT DOCS MYSQL
OPTIONS_SUB= YES
AGENT_DESC= Include exilog agent
MYSQL_RUN_DEPENDS= ${DBD_MYSQL}
MYSQL_USES= mysql
PGSQL_RUN_DEPENDS= p5-DBD-Pg>=0:databases/p5-DBD-Pg
PGSQL_USES= pgsql
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MAGENT}
USE_RC_SUBR= ${PORTNAME}
.endif
NO_BUILD= yes
NO_ARCH= yes
PLIST_SUB+= EXILOGDIR="${EXILOGDIR:S,^${PREFIX}/,,}"
PORTDOC_FILES= doc/Changelog \
doc/exilog.txt \
doc/mysql-db-script.sql \
doc/pgsql-db-script.sql
post-extract:
@${MV} ${WRKDIR}/${PORTNAME} ${WRKSRC}
pre-patch:
@${REINPLACE_CMD} -e 's,$$RealBin/exilog.conf,${PREFIX}/etc/exilog.conf,' ${WRKSRC}/exilog_config.pm
@${REINPLACE_CMD} -e "s,\(use exilog_config\),use lib \'${EXILOGDIR}\'; \1," ${WRKSRC}/exilog_agent.pl
@${REINPLACE_CMD} -e "s,\(use exilog_config\),use lib \'${EXILOGDIR}\'; \1," ${WRKSRC}/exilog_cleanup.pl
@${REINPLACE_CMD} -e "s,\(use exilog_config\),use lib \'${EXILOGDIR}\'; \1," ${WRKSRC}/exilog_cgi.pl
do-install:
${MKDIR} ${STAGEDIR}${EXILOGDIR} ${STAGEDIR}${EXILOGDIR}/icons
${CP} ${WRKSRC}/*.pm ${WRKSRC}/*.css ${WRKSRC}/*.js ${STAGEDIR}${EXILOGDIR}
${CP} ${WRKSRC}/icons/* ${STAGEDIR}${EXILOGDIR}/icons
.if ${PORT_OPTIONS:MAGENT}
${INSTALL_SCRIPT} ${WRKSRC}/exilog_agent.pl ${STAGEDIR}${PREFIX}/sbin
.endif
${INSTALL_SCRIPT} ${WRKSRC}/exilog_cleanup.pl ${STAGEDIR}${PREFIX}/sbin
${INSTALL_SCRIPT} ${WRKSRC}/exilog_cgi.pl ${STAGEDIR}${EXILOGDIR}
${CP} ${WRKSRC}/exilog.conf-example ${STAGEDIR}${PREFIX}/etc/exilog.conf-dist
${CP} ${FILESDIR}/htaccess ${STAGEDIR}${EXILOGDIR}/.htaccess
${MKDIR} ${STAGEDIR}${DOCSDIR}
.for docfile in ${PORTDOC_FILES}
${INSTALL_DATA} ${WRKSRC}/${docfile} ${STAGEDIR}${DOCSDIR}
.endfor
.include <bsd.port.mk>