251 lines
8.7 KiB
Makefile
251 lines
8.7 KiB
Makefile
# New ports collection makefile for: NetAMS
|
|
# Date created: 24 December 2003
|
|
# Whom: jura@netams.com
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
PORTNAME= netams
|
|
DISTVERSION= 3.4.1rc1
|
|
CATEGORIES= net-mgmt
|
|
MASTER_SITES= http://www.netams.com/files/
|
|
|
|
MAINTAINER= jura@netams.com
|
|
COMMENT= Network Traffic Accounting and Monitoring Software
|
|
|
|
USE_SUBMAKE= yes
|
|
USE_RC_SUBR= netams
|
|
MANCOMPRESSED= no
|
|
SUB_FILES= pkg-message
|
|
|
|
OPTIONS= DEBUG "Build with debug symbols" off \
|
|
BW "Build with bandwidth limitation functionality" on \
|
|
HASH "Build with HASH storage support" off \
|
|
MYSQL "Build with MySQL storage support" on \
|
|
POSTGRESQL "Build with PostgreSQL storage support" off \
|
|
FREERADIUS "Build with FreeRadius and rlm module" off \
|
|
CGI "Install admin/user CGI scripts" off
|
|
|
|
SCRIPTS_ENV= WRKDIRPREFIX="${WRKDIRPREFIX}" \
|
|
PREFIX="${PREFIX}" \
|
|
TOUCH="${TOUCH}" \
|
|
MKDIR="${MKDIR}" \
|
|
REALCURDIR="${.CURDIR}"
|
|
|
|
ADMINCGI= .htaccess access.cgi account.cgi billing_users_table.sql cardtool.cgi \
|
|
config.cgi graph.cgi index.cgi login.cgi monitor.cgi netams.cgi \
|
|
plan.cgi policy.cgi quota.cgi radius.cgi rrdgraph.cgi russian.res \
|
|
showusercard.cgi showusercard.tmpl statistic.cgi subplan.cgi unit.cgi \
|
|
user.cgi view.cgi
|
|
USERCGI= .htaccess activate.cgi activate.tmpl admintool.cgi config.cgi \
|
|
login.cgi netams_api.pl netams_example.cgi netams_graph.cgi \
|
|
netams_html.cgi russian.res statistic.pl usertool.cgi
|
|
IMAGES= admintool-logo.gif logo-small.gif logo.gif logo_sm.jpg rrdgraph-logo.gif \
|
|
showtable-logo.gif
|
|
MAN8= netams.8 flowprobe.8 netamsctl.8
|
|
|
|
.include <bsd.port.pre.mk>
|
|
|
|
.if ${ARCH} != "i386"
|
|
BROKEN= does not compile
|
|
.elif ${OSVERSION} >= 800000
|
|
BROKEN= does not compile
|
|
.endif
|
|
|
|
PLIST_FILES+= etc/netams.conf.sample \
|
|
libexec/netams \
|
|
sbin/flowprobe \
|
|
sbin/ipfw2netflow \
|
|
sbin/ascii2netflow \
|
|
bin/netamsctl \
|
|
%%DATADIR%%/ru-networks.txt.sample \
|
|
%%DATADIR%%/.netamsctl.rc \
|
|
%%DATADIR%%/netams-netgraphctl.sh \
|
|
%%DATADIR%%/netams-startup-failover.sh \
|
|
%%DATADIR%%/ua-networks-get.sh \
|
|
%%DATADIR%%/snmp2netams.pl \
|
|
%%DATADIR%%/subnet-sum.c \
|
|
%%DATADIR%%/TODO.txt
|
|
|
|
.if defined(WITH_MYSQL)
|
|
USE_MYSQL= yes
|
|
IGNORE_WITH_MYSQL= 323
|
|
PLIST_FILES+= %%DATADIR%%/cardtool_schema.sql \
|
|
%%DATADIR%%/mysql_rotate.pl
|
|
.endif
|
|
|
|
.if defined(WITH_POSTGRESQL)
|
|
USE_PGSQL= yes
|
|
PLIST_FILES+= %%DATADIR%%/cardtool_schema-Pg.sql \
|
|
%%DATADIR%%/postgresql_schema.sql
|
|
.endif
|
|
|
|
.if defined(WITH_FREERADIUS)
|
|
FREERADIUS_VERSION=`${CAT} ${PORTSDIR}/net/freeradius/Makefile|grep PORTVERSION?=|${SED} -n 's|PORTVERSION?=[^0-9]*\([0-9\.]*\)|\1|p'`
|
|
RUN_DEPENDS+= freeradius>=1.1.7:${PORTSDIR}/net/freeradius
|
|
PLIST_FILES+= lib/rlm_netams.a \
|
|
lib/rlm_netams.la \
|
|
lib/rlm_netams.so \
|
|
lib/rlm_netams-${FREERADIUS_VERSION}.la \
|
|
lib/rlm_netams-${FREERADIUS_VERSION}.so \
|
|
%%DATADIR%%/README.radius
|
|
.endif
|
|
|
|
.if defined(WITH_CGI)
|
|
USE_APACHE= 1.3+
|
|
USE_PERL5= yes
|
|
.for f in ${IMAGES}
|
|
PLIST_FILES+= %%WWWDIR%%/cgi-bin/images/${f}
|
|
.endfor
|
|
.for f in ${USERCGI}
|
|
PLIST_FILES+= %%WWWDIR%%/cgi-bin/${f}
|
|
.endfor
|
|
.for f in ${ADMINCGI}
|
|
PLIST_FILES+= %%WWWDIR%%/cgi-bin/admin/${f}
|
|
.endfor
|
|
PLIST_FILES+= %%WWWDIR%%/index.html \
|
|
%%DATADIR%%/httpd.conf
|
|
.endif
|
|
|
|
PLIST_FILES+= "@unexec ${RMDIR} %D/www/netams/cgi-bin/images 2>/dev/null || ${TRUE}" \
|
|
"@unexec ${RMDIR} %D/www/netams/cgi-bin/admin 2>/dev/null || ${TRUE}" \
|
|
"@unexec ${RMDIR} %D/www/netams/cgi-bin 2>/dev/null || ${TRUE}" \
|
|
"@unexec ${RMDIR} %D/www/netams 2>/dev/null || ${TRUE}" \
|
|
"@unexec ${RMDIR} %D/share/netams 2>/dev/null || ${TRUE}"
|
|
|
|
pre-patch:
|
|
.if defined(WITH_DEBUG)
|
|
@${REINPLACE_CMD} -e 's|#\(echo.*Memory_debug.*DEFINE += -DMEMORY_DEBUG.*\)|\1|' \
|
|
${WRKSRC}/configure.sh
|
|
@${REINPLACE_CMD} -e 's|#\(echo.*Mutex_debug.*DEFINE += -DMUTEX_DEBUG.*\)|\1|' \
|
|
${WRKSRC}/configure.sh
|
|
.else
|
|
@${REINPLACE_CMD} -e 's|.*sh configure.sh|& -nodebug|' \
|
|
${WRKSRC}/Makefile
|
|
.endif
|
|
|
|
.if defined(WITHOUT_BW)
|
|
@${REINPLACE_CMD} -e 's|.*BW_limit.*DEFINE += -DHAVE_BW.*|#&|' \
|
|
${WRKSRC}/configure.sh
|
|
.endif
|
|
|
|
.if defined(WITH_HASH)
|
|
@${REINPLACE_CMD} -e 's|#\(echo.*Hash_database.*DEFINE += -DUSE_HASH.*\)|\1|' \
|
|
${WRKSRC}/configure.sh
|
|
.endif
|
|
|
|
@${REINPLACE_CMD} -e 's|^CC.*|CC=${CXX}|; s|^CPP.*|CPP=${CXX}|' \
|
|
${WRKSRC}/src/Makefile
|
|
@${REINPLACE_CMD} -e 's|^CC.*|CC=${CC}|; s|^CPP.*|CPP=${CXX}|' \
|
|
${WRKSRC}/lib/Makefile \
|
|
${WRKSRC}/lib/libipulog/Makefile
|
|
|
|
.if defined(WITHOUT_MYSQL)
|
|
@${REINPLACE_CMD} -e 's|locate_file "libmysqlclient\.so".*|v1="" \&\& v2=""|' \
|
|
${WRKSRC}/configure.sh
|
|
.endif
|
|
|
|
.if defined(WITHOUT_POSTGRESQL)
|
|
@${REINPLACE_CMD} -e 's|locate_file "libpq\.so".*|v1="" \&\& v2=""|' \
|
|
${WRKSRC}/configure.sh
|
|
.endif
|
|
|
|
.if defined(WITHOUT_FREERADIUS)
|
|
@${REINPLACE_CMD} -e 's|locate_file "openssl\/md5\.h".*|v1=""|; s|echo "No RADIUS support.*|| ' \
|
|
${WRKSRC}/configure.sh
|
|
.endif
|
|
|
|
pre-install:
|
|
.if defined(WITH_FREERADIUS)
|
|
@cd ${PORTSDIR}/net/freeradius/ && make
|
|
@${FIND} ${PORTSDIR}/net/freeradius/ -type d -name "freeradius*" -exec ${CP} -R ${WRKSRC}/addon/rlm_netams '{}'/src/modules/ \;
|
|
@cd `${FIND} ${PORTSDIR}/net/freeradius/ -type d -name "freeradius*"`/src/modules/rlm_netams && ${GMAKE} && ${GMAKE} install
|
|
.endif
|
|
|
|
do-install:
|
|
${MKDIR} ${DATADIR}
|
|
${INSTALL_PROGRAM} ${WRKSRC}/src/netams ${PREFIX}/libexec/netams
|
|
${INSTALL_PROGRAM} ${WRKSRC}/src/flowprobe ${PREFIX}/sbin/flowprobe
|
|
${INSTALL_PROGRAM} ${WRKSRC}/src/ipfw2netflow ${PREFIX}/sbin/ipfw2netflow
|
|
${INSTALL_PROGRAM} ${WRKSRC}/src/ascii2netflow ${PREFIX}/sbin/ascii2netflow
|
|
${INSTALL_PROGRAM} ${WRKSRC}/src/netamsctl ${PREFIX}/bin/netamsctl
|
|
${INSTALL_DATA} ${WRKSRC}/addon/netams.conf ${PREFIX}/etc/netams.conf.sample
|
|
${INSTALL_DATA} ${WRKSRC}/addon/ru-networks.txt ${DATADIR}/ru-networks.txt.sample
|
|
${INSTALL_DATA} ${WRKSRC}/addon/.netamsctl.rc ${DATADIR}
|
|
${INSTALL_DATA} ${WRKSRC}/addon/netams-netgraphctl.sh ${DATADIR}
|
|
${CHMOD} 0755 ${DATADIR}/netams-netgraphctl.sh
|
|
${INSTALL_DATA} ${WRKSRC}/addon/netams-startup-failover.sh ${DATADIR}
|
|
${CHMOD} 0755 ${DATADIR}/netams-startup-failover.sh
|
|
${INSTALL_DATA} ${WRKSRC}/addon/ua-networks-get.sh ${DATADIR}
|
|
${CHMOD} 0755 ${DATADIR}/ua-networks-get.sh
|
|
@${REINPLACE_CMD} -e 's|^#!/usr/bin/perl|#!/usr/local/bin/perl|' ${WRKSRC}/addon/snmp2netams.pl
|
|
${INSTALL_DATA} ${WRKSRC}/addon/snmp2netams.pl ${DATADIR}
|
|
${CHMOD} 0755 ${DATADIR}/snmp2netams.pl
|
|
${INSTALL_DATA} ${WRKSRC}/addon/subnet-sum.c ${DATADIR}
|
|
${INSTALL_DATA} ${WRKSRC}/doc/TODO.txt ${DATADIR}
|
|
|
|
.if defined(WITH_MYSQL)
|
|
${INSTALL_DATA} ${WRKSRC}/addon/cardtool_schema.sql ${DATADIR}
|
|
@${REINPLACE_CMD} -e 's|^#!/usr/bin/perl|#!/usr/local/bin/perl|' ${WRKSRC}/addon/mysql_rotate.pl
|
|
${INSTALL_DATA} ${WRKSRC}/addon/mysql_rotate.pl ${DATADIR}
|
|
${CHMOD} 0755 ${DATADIR}/mysql_rotate.pl
|
|
.endif
|
|
|
|
.if defined(WITH_POSTGRESQL)
|
|
${INSTALL_DATA} ${WRKSRC}/addon/cardtool_schema-Pg.sql ${DATADIR}
|
|
${INSTALL_DATA} ${WRKSRC}/addon/postgresql_schema.sql ${DATADIR}
|
|
.endif
|
|
|
|
.if defined(WITH_CGI)
|
|
${INSTALL_DATA} ${WRKSRC}/addon/netams-apache ${DATADIR}/httpd.conf
|
|
${MKDIR} ${WWWDIR}/cgi-bin/admin ${WWWDIR}/cgi-bin/images
|
|
${INSTALL_DATA} ${WRKSRC}/addon/index.html ${WWWDIR}
|
|
.for f in ${IMAGES}
|
|
${INSTALL_DATA} ${WRKSRC}/cgi-bin/images/${f} ${WWWDIR}/cgi-bin/images
|
|
.endfor
|
|
.for f in ${USERCGI}
|
|
@${REINPLACE_CMD} -e 's|^#!/usr/bin/perl|#!/usr/local/bin/perl|' ${WRKSRC}/cgi-bin/${f}
|
|
${INSTALL_DATA} ${WRKSRC}/cgi-bin/${f} ${WWWDIR}/cgi-bin
|
|
.endfor
|
|
.for f in ${ADMINCGI}
|
|
@${REINPLACE_CMD} -e 's|^#!/usr/bin/perl|#!/usr/local/bin/perl|' ${WRKSRC}/cgi-bin/admin/${f}
|
|
${INSTALL_DATA} ${WRKSRC}/cgi-bin/admin/${f} ${WWWDIR}/cgi-bin/admin
|
|
.endfor
|
|
@${FIND} ${WWWDIR} -name *.cgi | ${XARGS} ${CHMOD} 755
|
|
@${FIND} ${WWWDIR} -name *.pl | ${XARGS} ${CHMOD} 755
|
|
.endif
|
|
|
|
.if defined(WITH_FREERADIUS)
|
|
${INSTALL_DATA} ${WRKSRC}/addon/rlm_netams/README ${DATADIR}/README.radius
|
|
.endif
|
|
|
|
.for f in ${MAN8}
|
|
${INSTALL_MAN} ${WRKSRC}/doc/${f} ${MAN8PREFIX}/man/man8
|
|
.endfor
|
|
|
|
post-install:
|
|
.if defined(WITH_FREERADIUS)
|
|
cd ${PORTSDIR}/net/freeradius/ && make clean
|
|
.endif
|
|
@${CAT} ${PKGMESSAGE}
|
|
.if defined(WITH_CGI)
|
|
@${ECHO_MSG} "By default, CGI scripts are installed to ${WWWDIR},"
|
|
@${ECHO_MSG} "but web server NOT configured!!! You should do it yourself according to"
|
|
@${ECHO_MSG} "example ${DATADIR}/httpd.conf."
|
|
@${ECHO_MSG} ""
|
|
.endif
|
|
.if defined(WITH_FREERADIUS)
|
|
@${ECHO_MSG} "Radius module has been installed. But you should configure it yourself"
|
|
@${ECHO_MSG} "according to example ${DATADIR}/README.radius."
|
|
@${ECHO_MSG} ""
|
|
.endif
|
|
@${ECHO_MSG} "And PLEASE READ THE DOCUMENTATION FIRST!"
|
|
@${ECHO_MSG} "http://www.netams.com"
|
|
@${ECHO_MSG} ""
|
|
@${ECHO_MSG} "----------------------------------------------------------------------------"
|
|
@${ECHO_MSG} "WARNING!"
|
|
@${ECHO_MSG} "From version 3.4.1 name of default netams configuration
|
|
@${ECHO_MSG} "file changed to netams.conf!"
|
|
@${ECHO_MSG} "----------------------------------------------------------------------------"
|
|
|
|
.include <bsd.port.post.mk>
|