9f8b4bcde3
- Add LIBS="${LIBS}" to MAKE_ENV and CONFIGURE_ENV. - Add an option helper for LIBS. - Adjust all ports that already use LIBS. Also remove references to PTHREAD_CFLAGS and PTHREAD_LIBS while here. - Some ports did not support having a LIBS environment variable and required additional patches. Somewhat simplified a linker command line looks like: ${CC} ${src_LDFLAGS} ${LDFLAGS} ${src_LIBS} ${LIBS} where src_LDFLAGS and src_LIBS are controlled by upstream and LDFLAGS and LIBS can be controlled by us. If possible -L and -l flags need to be added to LIBS to make sure they appear after any -L and -l flags set by upstream. Many ports currently add -L${LOCALBASE}/lib to LDFLAGS but this may appear too early on the command line causing installed libraries to be linked in instead of freshly built ones. Additional changes: benchmarks/netio: Replace WITH_IPV6 with an IPV6 option. comms/gnokii: Replace some patches with USES=pathfix. Also remove -fPIC. graphics/gimageview: USES=libtool and install desktop file in DESKTOPDIR. graphics/visionworkbench: Remove FreeBSD 7 support. multimedia/libmovtar: New LIB_DEPENDS syntax. multimedia/opencinematools: Use standard do-build. net/siproxd: USES=libtool:keepla (port actually needs .la files for plugins) net-mgmt/nagios: Remove -fPIC. net-mgmt/nagios4: Remove -fPIC. print/cups-base: Only add -lssp_nonshared on i386 and OSVERSION < 1000036. security/p11-kit: Replace PTHREAD_LIBS in CONFIGURE_ENV with ac_cv_func_pthread_mutexattr_init=no in CONFIGURE_ARGS. This skips a test in configure that falsely detects pthread_mutexattr_init in our libc. sysutils/dar: Fix iconv detection. x11/rxvt-unicode: Remove -lstdc++ and patch configure to remove a FreeBSD hack and use $CXX as linker as on other platforms. PR: 190592 Exp-run by: antoine Approved by: portmgr (antoine)
196 lines
5.7 KiB
Makefile
196 lines
5.7 KiB
Makefile
# $FreeBSD$
|
|
|
|
PORTNAME= dhcp
|
|
DISTVERSION= 4.1-ESV
|
|
PORTREVISION= ${DHCP_PORTREVISION}
|
|
PORTEPOCH= 2
|
|
CATEGORIES= net
|
|
MASTER_SITES= ${MASTER_SITE_ISC}
|
|
MASTER_SITE_SUBDIR= ${PORTNAME}/${DISTVERSION}-${PATCHLEVEL}
|
|
PKGNAMEPREFIX= isc-
|
|
PKGNAMESUFFIX= 41-${SUBSYS}
|
|
DISTFILES= ${PORTNAME}-${DISTVERSION}-${PATCHLEVEL}${EXTRACT_SUFX}
|
|
|
|
MAINTAINER= douglas@douglasthrift.net
|
|
COMMENT?= The ISC Dynamic Host Configuration Protocol server
|
|
|
|
LICENSE= ISCL
|
|
|
|
PATCHLEVEL= R7
|
|
PORTREVISION_SERVER= 8
|
|
PORTREVISION_CLIENT= 2
|
|
PORTREVISION_RELAY= 5
|
|
|
|
SUBSYS?= server
|
|
WRKSRC= ${WRKDIR}/${PORTNAME}-${DISTVERSION}-${PATCHLEVEL}
|
|
|
|
UNIQUENAME= ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}
|
|
|
|
OPTIONS_DEFINE= IPV6
|
|
OPTIONS_DEFAULT=IPV6
|
|
|
|
.if ${SUBSYS} == server
|
|
OPTIONS_DEFINE+= PARANOIA LDAP LDAP_SSL
|
|
OPTIONS_DEFAULT+= PARANOIA LDAP_SSL
|
|
PARANOIA_DESC= Enable support for chroot
|
|
LDAP_SSL_DESC= Support LDAP over SSL/TLS
|
|
.endif
|
|
|
|
# PORTREVISION and CONFLICTS handling
|
|
.if ${SUBSYS} == client
|
|
CONFLICTS= isc-dhcp3?-client* isc-dhcp4[2-9]-client*
|
|
DHCP_PORTREVISION= ${PORTREVISION_CLIENT}
|
|
.elif ${SUBSYS} == relay
|
|
CONFLICTS= isc-dhcp3?-relay* isc-dhcp4[2-9]-relay*
|
|
DHCP_PORTREVISION= ${PORTREVISION_RELAY}
|
|
.else
|
|
CONFLICTS= isc-dhcp3?-server* isc-dhcp4[2-9]-server*
|
|
DHCP_PORTREVISION= ${PORTREVISION_SERVER}
|
|
.endif
|
|
|
|
.if ${SUBSYS} == server
|
|
USERS= dhcpd
|
|
GROUPS= dhcpd
|
|
.endif
|
|
|
|
MAN_COMPRESSED= no
|
|
GNU_CONFIGURE= yes
|
|
CPPFLAGS+= -D_PATH_DHCLIENT_SCRIPT='\"${PREFIX}/sbin/dhclient-script\"' -D_PATH_DHCLIENT_CONF='\"${PREFIX}/etc/dhclient.conf\"' -D_PATH_DHCPD_CONF='\"${PREFIX}/etc/dhcpd.conf\"'
|
|
SCRIPTS_ENV+= PKG_PREFIX=${PREFIX}
|
|
|
|
.include <bsd.port.options.mk>
|
|
|
|
.if ${SUBSYS} == server
|
|
CONFIGURE_ARGS+= --localstatedir=/var
|
|
CFLAGS+= -fPIC
|
|
.endif
|
|
|
|
DESCR= ${.CURDIR}/pkg-descr
|
|
PLIST= ${.CURDIR}/pkg-plist
|
|
|
|
.if ${SUBSYS} == server
|
|
USE_RC_SUBR= isc-dhcpd
|
|
.elif ${SUBSYS} == relay
|
|
USE_RC_SUBR= isc-dhcrelay
|
|
.endif
|
|
|
|
SCHEMA_DIR= ${PREFIX}/share/${PKGBASE}
|
|
DOCSDIR= ${PREFIX}/share/doc/${PKGBASE}
|
|
DATADIR= /var/db
|
|
|
|
MSG_FILE= ${.CURDIR}/pkg-message
|
|
PKGMESSAGE= ${WRKDIR}/pkg-message
|
|
|
|
REINPLACE_SUB= PREFIX="${PREFIX}"
|
|
PKGMESSAGE_SUB= PREFIX="${PREFIX}" MAN1PREFIX="${MAN1PREFIX}" \
|
|
DOCSDIR="${DOCSDIR}"
|
|
|
|
# XXX: Have to hardcode 4.1.1 here as there is no release for 4.1.2 or later.
|
|
.if ${PORT_OPTIONS:MLDAP}
|
|
MASTER_SITES+= http://cloud.github.com/downloads/dcantrell/ldap-for-dhcp/:ldap
|
|
LDAPPATCHRELEASE= 2
|
|
LDAPPATCHDIST= ldap-for-dhcp-4.1.1-${LDAPPATCHRELEASE}
|
|
LDAPPATCHFILE= dhcp-4.1.1-ldap.patch
|
|
DISTFILES+= ${LDAPPATCHDIST}.tar.gz:ldap
|
|
PLIST_SUB+= SCHEMA_DIR="${SCHEMA_DIR:S,^${PREFIX}/,,}" LDAP=""
|
|
PORTDOCS+= README.ldap LICENSE.ldap
|
|
LDAP_SCRIPT= ${WRKDIR}/${LDAPPATCHDIST}/dhcpd-conf-to-ldap
|
|
LDAP_SCHEMA= ${WRKDIR}/${LDAPPATCHDIST}/dhcp.schema
|
|
USES+= perl5
|
|
USE_PERL5= run
|
|
USE_OPENLDAP= yes
|
|
USE_AUTOTOOLS= aclocal libtoolize autoconf autoheader automake
|
|
AUTOMAKE_ARGS= --foreign --add-missing --copy
|
|
CPPFLAGS+= -I${LOCALBASE}/include
|
|
LIBS+= -L${LOCALBASE}/lib
|
|
CONFIGURE_ARGS+= --with-ldap
|
|
.else
|
|
PLIST_SUB+= LDAP="@comment "
|
|
.endif
|
|
|
|
# WITH_DHCP_LDAP_SSL without WITH_DHCP_LDAP is silly.
|
|
.if ${PORT_OPTIONS:MLDAP_SSL} && ${PORT_OPTIONS:MLDAP}
|
|
USE_OPENSSL= yes
|
|
CONFIGURE_ARGS+= --with-ldapcrypto
|
|
LIBS+= -lssl
|
|
# hack to get bsd.openssl.mk included at this late state
|
|
.include "${PORTSDIR}/Mk/bsd.openssl.mk"
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MPARANOIA}
|
|
CONFIGURE_ARGS+= --enable-paranoia --enable-early-chroot
|
|
SUB_LIST+= PARANOIA="yes"
|
|
.else
|
|
SUB_LIST+= PARANOIA="no"
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MIPV6}
|
|
CONFIGURE_ARGS+= --enable-dhcpv6
|
|
PLIST_SUB+= IPV6=""
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-dhcpv6
|
|
PLIST_SUB+= IPV6="@comment "
|
|
.endif
|
|
|
|
pre-patch:
|
|
.if ${SUBSYS} == server && ${PORT_OPTIONS:MLDAP}
|
|
@${PATCH} ${WRKDIR}/${LDAPPATCHDIST}/${LDAPPATCHFILE} ${FILESDIR}/extra-patch-${LDAPPATCHFILE}
|
|
@cd ${WRKSRC} && ${PATCH} -p1 < ${WRKDIR}/${LDAPPATCHDIST}/${LDAPPATCHFILE}
|
|
.endif
|
|
|
|
post-patch:
|
|
@${SED} ${PKGMESSAGE_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \
|
|
${MSG_FILE} > ${PKGMESSAGE}
|
|
@${REINPLACE_CMD} ${REINPLACE_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \
|
|
${WRKSRC}/client/dhclient.conf
|
|
@${REINPLACE_CMD} -e '/echo.*RANLIB/,+1d' \
|
|
${WRKSRC}/Makefile.in \
|
|
${WRKSRC}/*/Makefile.in
|
|
|
|
|
|
do-install:
|
|
${SETENV} DESTDIR=${STAGEDIR} ${MAKE} -C ${WRKSRC}/${SUBSYS} install
|
|
.if ${SUBSYS} == server
|
|
${SETENV} DESTDIR=${STAGEDIR} ${MAKE} -C ${WRKSRC}/dhcpctl install
|
|
${SETENV} DESTDIR=${STAGEDIR} ${MAKE} -C ${WRKSRC}/dst install
|
|
${SETENV} DESTDIR=${STAGEDIR} ${MAKE} -C ${WRKSRC}/omapip install
|
|
${SETENV} DESTDIR=${STAGEDIR} ${MAKE} -C ${WRKSRC}/includes install
|
|
${SETENV} DESTDIR=${STAGEDIR} ${MAKE} -C ${WRKSRC}/common install
|
|
${INSTALL_DATA} ${WRKSRC}/dhcpctl/dhcpctl.h ${STAGEDIR}${PREFIX}/include
|
|
.if ${PORT_OPTIONS:MIPV6}
|
|
${INSTALL_DATA} ${WRKSRC}/doc/examples/dhcpd-dhcpv6.conf \
|
|
${STAGEDIR}${PREFIX}/etc/dhcpd6.conf.sample
|
|
.endif
|
|
.endif
|
|
.if ${PORT_OPTIONS:MLDAP}
|
|
@${MKDIR} ${STAGEDIR}${SCHEMA_DIR}
|
|
${INSTALL_DATA} ${LDAP_SCHEMA} ${STAGEDIR}${SCHEMA_DIR}
|
|
${INSTALL_SCRIPT} ${LDAP_SCRIPT} ${STAGEDIR}${PREFIX}/bin
|
|
.endif
|
|
.if ${PORT_OPTIONS:MLDAP}
|
|
${MKDIR} ${STAGEDIR}${DOCSDIR}
|
|
${INSTALL_MAN} ${WRKDIR}/${LDAPPATCHDIST}/README.ldap ${STAGEDIR}${DOCSDIR}
|
|
${INSTALL_MAN} ${WRKDIR}/${LDAPPATCHDIST}/LICENSE.ldap ${STAGEDIR}${DOCSDIR}
|
|
.endif
|
|
|
|
post-install:
|
|
.if ${SUBSYS} == client
|
|
${INSTALL_SCRIPT} ${WRKSRC}/client/scripts/freebsd ${STAGEDIR}${PREFIX}/sbin/dhclient-script
|
|
.elif ${SUBSYS} == server
|
|
.if ${PORT_OPTIONS:MIPV6}
|
|
@${LN} -sf isc-dhcpd ${STAGEDIR}${PREFIX}/etc/rc.d/isc-dhcpd6
|
|
.endif
|
|
.elif ${SUBSYS} == relay
|
|
.if ${PORT_OPTIONS:MIPV6}
|
|
@${LN} -sf isc-dhcrelay ${STAGEDIR}${PREFIX}/etc/rc.d/isc-dhcrelay6
|
|
.endif
|
|
.endif
|
|
@${SED} ${PKGMESSAGE_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \
|
|
${MSG_FILE} > ${PKGMESSAGE}
|
|
.if ${PORT_OPTIONS:MLDAP}
|
|
@${REINPLACE_CMD} -e 's|^%%LDAP%%||g' ${PKGMESSAGE}
|
|
.else
|
|
@${REINPLACE_CMD} -e '/^%%LDAP%%/d' ${PKGMESSAGE}
|
|
.endif
|
|
|
|
.include <bsd.port.mk>
|