# Created by: Lars Köller # $FreeBSD$ PORTNAME= apcupsd PORTVERSION= 3.14.10 CATEGORIES= sysutils MASTER_SITES= SF/${PORTNAME}/${PORTNAME}%20-%20Stable/${PORTVERSION}:src_sf \ http://T32.TecNik93.com/FreeBSD/ports/${PORTNAME}/sources/:src_bk \ http://apcupsd.sourceforge.net/manual/:doc_sf \ http://T32.TecNik93.com/FreeBSD/ports/${PORTNAME}/sources/:doc_bk DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:src_sf,src_bk \ ${PORTNAME}.pdf:doc_sf,doc_bk EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} MAINTAINER= itetcu@FreeBSD.org COMMENT= Set of programs for controlling APC UPS IGNOREFILES= ${PORTNAME}.pdf USE_RC_SUBR= apcupsd SUB_FILES= pkg-message GNU_CONFIGURE= yes USE_GMAKE= yes CONFIGURE_ARGS= --sbindir=${PREFIX}/sbin \ --with-nologin=/var/run \ --disable-install-distdir \ --sysconfdir=${ETCDIR} \ --with-serial-dev=/dev/usv CONFIGURE_ENV+= LD="${CXX}" #CONFIGURE_ENV+= LIBS="-lstdc++" CPPFLAGS+= -I${LOCALBASE}/include -L${LOCALBASE}/lib LDFLAGS+= -L${LOCALBASE}/lib CFLAGS+= -I${LOCALBASE}/include -L${LOCALBASE}/lib MAN5= apcupsd.conf.5 MAN8= apcaccess.8 apccontrol.8 apctest.8 apcupsd.8 OPTIONS_DEFINE= APCSMART_DRV APCDUMB_DRV CLIENT_ONLY CGI PCNET_DRV USB SNMP_DRV \ SNMP_DRV_OLD TCP_WRAPPERS TEST_DRV GAPCMON DOCS OPTIONS_DEFAULT= APCSMART_DRV APCDUMB_DRV PCNET_DRV USB TCP_WRAPPERS APCSMART_DRV_DESC= Compile APC SmartUPS serial driver APCDUMB_DRV_DESC= Compile dumb UPS driver CLIENT_ONLY_DESC= Only NIS client (no network server or drivers) CGI_DESC= Compile with CGI programms to show status PCNET_DRV_DESC= Compile PowerChute Network Shutdown driver USB_DESC= Compile with USB Support driver SNMP_DRV_DESC= Compile with SNMP driver SNMP_DRV_OLD_DESC= Compile with old SNMP driver TCP_WRAPPERS_DESC= Compile with TCP_WRAPPERS support TEST_DRV_DESC= Compile TEST driver GAPCMON_DESC= Build GTK GUI front-end PORTDOCS= ${PORTNAME}.pdf .include .if ${PORT_OPTIONS:MAPCSMART_DRV} CONFIGURE_ARGS+= --enable-apcsmart .else CONFIGURE_ARGS+= --disable-apcsmart .endif .if ${PORT_OPTIONS:MAPCDUMB_DRV} CONFIGURE_ARGS+= --enable-dumb .else CONFIGURE_ARGS+= --disable-dumb .endif .if ${PORT_OPTIONS:MCLIENT_ONLY} CONFIGURE_ARGS+= --enable-net \ --disable-apcsmart --disable-dumb --disable-usb \ --disable-snmp --disable-test --disable-pcnet .endif .if ${PORT_OPTIONS:MCGI} CONFIGURE_ARGS+= --enable-cgi --with-cgi-bin=${ETCDIR}/cgi LIB_DEPENDS+= gd.4:${PORTSDIR}/graphics/gd PLIST_SUB+= CGI="" .else PLIST_SUB+= CGI="@comment " .endif .if ${PORT_OPTIONS:MGAPCMON} CONFIGURE_ARGS+= --enable-gapcmon USE_GNOME+= gconf2 PLIST_SUB+= GAPCMON="" CONFLICTS+= gapcmon-[0-9]* .else PLIST_SUB+= GAPCMON="@comment " .endif .if ${PORT_OPTIONS:MPCNET_DRV} CONFIGURE_ARGS+= --enable-pcnet .else CONFIGURE_ARGS+= --disable-pcnet .endif .if ${PORT_OPTIONS:MUSB} CONFIGURE_ARGS+= --enable-usb .endif .if ${PORT_OPTIONS:MSNMP_DRV} CONFIGURE_ARGS+= --enable-snmp .else CONFIGURE_ARGS+= --disable-snmp .endif .if ${PORT_OPTIONS:MSNMP_DRV_OLD} LIB_DEPENDS+= netsnmp.30:${PORTSDIR}/net-mgmt/net-snmp CONFIGURE_ARGS+= --enable-net-snmp .else CONFIGURE_ARGS+= --disable-net-snmp .endif .if ${PORT_OPTIONS:MTCP_WRAPPERS} CONFIGURE_ARGS+= --with-libwrap=yes .endif .if ${PORT_OPTIONS:MTEST_DRV} CONFIGURE_ARGS+= --enable-test .endif #CONFIGURE_ARGS+= --with-libwrap=yes #CONFIGURE_ENV+= LIBS="-lcurses -lmenu" #PLIST_SUB+= POWERFL="" pre-configure: .if ${PORT_OPTIONS:MCLIENT_ONLY} && ( ${PORT_OPTIONS:MAPCSMART_DRV} || \ ${PORT_OPTIONS:MAPCDUMB_DRV} || ${PORT_OPTIONS:MPCNET_DRV} || \ ${PORT_OPTIONS:MPOWERFLUTE} || ${PORT_OPTIONS:MUSB} || \ ${PORT_OPTIONS:MSNMP_DRV} || ${PORT_OPTIONS:MTEST_DRV} ) @${ECHO_CMD} "It doesn't make sense to build drivers if all you want is" @${ECHO_CMD} "the client; please do make config and select either" @${ECHO_CMD} "CLIENT_ONLY or the *_DRV you need" @${FALSE} .endif post-install: # If the files presaved are identical with the new one, include them in # the package list, so the port can be removed without problems for na in apccontrol commfailure mainsback mastertimeout \ changeme commok masterconnect onbattery; do \ if [ -f ${ETCDIR}/$$na.orig ]; then \ if cmp -s ${ETCDIR}/$$na ${ETCDIR}/$$na.orig; then \ ${ECHO_CMD} "%%ETCDIR%%/$$na.orig" >> ${TMPPLIST}; \ fi \ fi; \ done @${ECHO_CMD} "@unexec if [ -d %D/${ETCDIR_REL} ]; then ${ECHO_CMD} \"If you are permanently removing this port, you should do a ``rm -rf ${ETCDIR}`` to remove config files left.\" | ${FMT} ; fi" >> ${TMPPLIST} # Install sample startup script # If there is already a config file it is installed as ...new for na in apcupsd.conf apcupsd.css hosts.conf multimon.conf; do \ if [ -f ${ETCDIR}/$$na ]; then \ if [ -f ${ETCDIR}/$$na.new ]; then \ ${MV} ${ETCDIR}/$$na.new ${ETCDIR}/$$na.sample; \ else \ ${CP} ${ETCDIR}/$$na ${ETCDIR}/$$na.sample; \ fi; \ fi; \ done .if ${PORT_OPTIONS:MDOCS} @${MKDIR} ${DOCSDIR} ${INSTALL_DATA} ${DISTDIR}/${PORTNAME}.pdf ${DOCSDIR} .endif @${CAT} ${PKGMESSAGE} .include