1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-29 01:13:08 +00:00
freebsd-ports/dns/powerdns/Makefile
Mark Felder 6e2dbaf05c dns/powerdns: Update to 3.4.6
- No longer install dnsdist, which conflicted with dns/dnsdist port
- Luabackend patch is now FreeBSD/i386 specific and has been submitted upstream
for inclusion

This update also fixes a DoS vulnerability:

https://doc.powerdns.com/md/security/powerdns-advisory-2015-02/

Changelog:	https://doc.powerdns.com/md/changelog/#powerdns-authoritative-server-346

PR:		202738
MFH:		2015Q3
Security:	55c43f5b-5190-11e5-9ad8-14dae9d210b8
Security:	CVE-2015-5230
2015-09-02 16:42:46 +00:00

171 lines
4.0 KiB
Makefile

# $FreeBSD$
PORTNAME= powerdns
PORTVERSION= 3.4.6
CATEGORIES= dns ipv6
MASTER_SITES= http://downloads.powerdns.com/releases/
DISTNAME= pdns-${PORTVERSION}
MAINTAINER= tremere@cainites.net
COMMENT= Advanced DNS server with multiple backends including SQL
LICENSE= GPLv2
LIB_DEPENDS= libboost_serialization.so:${PORTSDIR}/devel/boost-libs
USES= cpe gmake libtool lua pkgconfig tar:bzip2
USE_LDCONFIG= YES
USE_SUBMAKE= YES
GNU_CONFIGURE= YES
INSTALL_TARGET= install-strip
CXXFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
CONFIGURE_ENV= LUA_CFLAGS="-I${LUA_INCDIR}" \
LUA_LIBS="-L${LUA_LIBDIR} -llua-${LUA_VER}"
CONFIGURE_ARGS= --disable-static \
--with-modules="" \
--with-dynmodules="pipe bind ${MODULES}" \
--docdir="${PREFIX}/share/doc/powerdns" \
--sysconfdir="${PREFIX}/etc/pdns" \
--with-boost="${LOCALBASE}"
SCRIPTS_ENV= WRKDIRPREFIX="${WRKDIRPREFIX}" \
CURDIR2="${.CURDIR}" \
MKDIR="${MKDIR}" \
DISTNAME="${DISTNAME}" \
POWERDNS_OPTIONS="${POWERDNS_OPTIONS}"
SUB_FILES= pkg-message
USE_RC_SUBR= pdns
OPTIONS_DEFINE= GEO GEOIP LMDB MYSQL OPENDBX OPENLDAP PGSQL POLARSSL REMOTE SQLITE3 TOOLS
OPTIONS_GROUP= DNSSEC EXPERIMENTAL REMOTEOPT
OPTIONS_GROUP_DNSSEC= BOTAN110
OPTIONS_GROUP_EXPERIMENTAL= LUA MYDNS TINYDNS
OPTIONS_GROUP_REMOTEOPT= ZEROMQ
PGSQL_DESC= PostgreSQL backend
MYSQL_DESC= MySQL backend
OPENDBX_DESC= OpenDBX backend
OPENLDAP_DESC= OpenLDAP backend
SQLITE3_DESC= SQLite 3 backend
GEO_DESC= Geo backend
GEOIP_DESC= GeoIP backend
DNSSEC_DESC= Extra DNSSEC options
BOTAN110_DESC= Faster signing + ECDSA & GOST algorithms
POLARSSL_DESC= Use embedded PolarSSL
LMDB_DESC= LMDB backend
LUA_DESC= Lua backend
MYDNS_DESC= MyDNS backend
REMOTE_DESC= Remote backend
TINYDNS_DESC= TinyDNS backend
TOOLS_DESC= Build extra tools
REMOTEOPT_DESC= Remote backend connectors
ZEROMQ_DESC= Enable ZeroMQ connector
OPTIONS_DEFAULT= PGSQL DNSSEC BOTAN110 POLARSSL
OPTIONS_SUB= yes
# Don't use CONFIGURE_ENABLE, the configure script
# has a bug. The options are being enabled even using --disable-
TOOLS_CONFIGURE_ON= --enable-tools
PGSQL_CONFIGURE_ON= --with-pgsql=${LOCALBASE}
PGSQL_CONFIGURE_OFF= --without-pgsql
PGSQL_USES= pgsql
MYSQL_CONFIGURE_ON= --with-mysql=${LOCALBASE}
MYSQL_CONFIGURE_OFF= --without-mysql
MYSQL_USE= MYSQL=YES
MYDNS_CONFIGURE_ON= --with-mysql=${LOCALBASE}
MYDNS_USE= MYSQL=YES
OPENLDAP_CXXFLAGS= -DLDAP_DEPRECATED=1
OPENLDAP_USE= OPENLDAP=YES
SQLITE3_USE= SQLITE=3
OPENDBX_LIB_DEPENDS= libopendbx.so:${PORTSDIR}/databases/opendbx
BOTAN110_CONFIGURE_ON= --enable-botan1.10
BOTAN110_LIB_DEPENDS= libbotan-1.10.so:${PORTSDIR}/security/botan110
TINYDNS_LIB_DEPENDS= libcdb.so:${PORTSDIR}/databases/tinycdb
TINYDNS_CONFIGURE_ON= CDB_LIBS="-L${LOCALBASE}/lib -lcdb" CDB_CFLAGS="-I${LOCALBASE}/include"
LMDB_LIB_DEPENDS= liblmdb.so:${PORTSDIR}/databases/lmdb
GEOIP_LIB_DEPENDS= libyaml-cpp.so:${PORTSDIR}/devel/yaml-cpp \
libGeoIP.so:${PORTSDIR}/net/GeoIP
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MGEO}
MODULES+= geo
.endif
.if ${PORT_OPTIONS:MGEOIP}
MODULES+= geoip
.endif
.if ${PORT_OPTIONS:MPGSQL}
MODULES+= gpgsql
.endif
.if ${PORT_OPTIONS:MMYSQL}
MODULES+= gmysql
.endif
.if ${PORT_OPTIONS:MOPENLDAP}
MODULES+= ldap
.endif
.if ${PORT_OPTIONS:MSQLITE3}
MODULES+= gsqlite3
.endif
.if ${PORT_OPTIONS:MLMDB}
MODULES+= lmdb
.endif
.if ${PORT_OPTIONS:MLUA}
MODULES+= lua
.endif
.if ${PORT_OPTIONS:MMYDNS}
MODULES+= mydns
.endif
.if ${PORT_OPTIONS:MREMOTE}
MODULES+= remote
. if ${PORT_OPTIONS:MZEROMQ}
CONFIGURE_ARGS+= --enable-remotebackend-zeromq
LIB_DEPENDS+= libzmq.so:${PORTSDIR}/net/libzmq4
. endif
.endif
.if ${PORT_OPTIONS:MTINYDNS}
MODULES+= tinydns
.endif
.if ${PORT_OPTIONS:MOPENDBX}
MODULES+= opendbx
.endif
.if ${PORT_OPTIONS:MPOLARSSL}
CONFIGURE_ARGS+= --without-system-polarssl
.else
LIB_DEPENDS+= libmbedtls.so.9:${PORTSDIR}/security/polarssl13
.endif
post-install:
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
.for i in pdns.conf
${INSTALL_DATA} ${FILESDIR}/$i ${STAGEDIR}${EXAMPLESDIR}/
.endfor
.include <bsd.port.mk>