freebsd-ports/sysutils/apcupsd/Makefile
2013-08-11 05:43:04 +00:00

170 lines
5 KiB
Makefile

# Created by: Lars Köller <Lars.Koeller@Uni-Bielefeld.DE>
# $FreeBSD$
PORTNAME= apcupsd
PORTVERSION= 3.14.10
PORTREVISION= 1
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 <bsd.port.options.mk>
.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:${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 <bsd.port.mk>