aboutsummaryrefslogtreecommitdiff
path: root/net-mgmt/netdisco/Makefile
blob: 61e067b222e7a45cbe24763408b7cfe37cf42951 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
# New ports collection makefile for:	netdisco
# Date created:				2006-04-08
# Whom:					Shaun Amott <shaun@inerd.com>
#
# $FreeBSD$
#

PORTNAME=	netdisco
PORTVERSION=	0.94
PORTREVISION=	1
CATEGORIES=	net-mgmt www
MASTER_SITES=	${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR=	${PORTNAME}
DISTNAME=	${PORTNAME}-${PORTVERSION}_with_mibs

MAINTAINER=	shaun@FreeBSD.org
COMMENT=	Web-based network management tool for moderate to large networks

RUN_DEPENDS+=	${SITE_PERL}/Net/SNMP.pm:${PORTSDIR}/net-mgmt/p5-Net-SNMP				\
		${SITE_PERL}/SNMP/Info.pm:${PORTSDIR}/net-mgmt/p5-SNMP-Info				\
		${SITE_PERL}/HTML/Mason.pm:${PORTSDIR}/www/p5-HTML-Mason				\
		${SITE_PERL}/Apache/DBI.pm:${PORTSDIR}/www/p5-Apache-DBI				\
		${SITE_PERL}/DB_File/Lock.pm:${PORTSDIR}/devel/p5-DB_File-Lock				\
		${SITE_PERL}/Apache/Session.pm:${PORTSDIR}/www/p5-Apache-Session			\
		${SITE_PERL}/Net/NBName.pm:${PORTSDIR}/net/p5-Net-NBName				\
		${SITE_PERL}/${PERL_ARCH}/Digest/MD5.pm:${PORTSDIR}/security/p5-Digest-MD5		\
		${SITE_PERL}/${PERL_ARCH}/DBD/Pg.pm:${PORTSDIR}/databases/p5-DBD-Pg			\
		${SITE_PERL}/${PERL_ARCH}/Apache/Test.pm:${PORTSDIR}/www/p5-Apache-Test			\
		${SITE_PERL}/Compress/Zlib.pm:${PORTSDIR}/archivers/p5-Compress-Zlib	\
		${SITE_PERL}/${PERL_ARCH}/HTML/Entities.pm:${PORTSDIR}/www/p5-HTML-Parser		\
		${SITE_PERL}/MasonX/Request/WithApacheSession.pm:${PORTSDIR}/www/p5-MasonX-Request-WithApacheSession

OPTIONS=	GRAPHVIZ "Install GraphViz for network map support"	on

USE_PERL5=	yes
USE_PGSQL=	yes
USE_APACHE=	1.3+

USE_RC_SUBR=	netdisco.sh

NO_BUILD=	yes

RUNDIR?=	/var/run
DBDIR?=		/var/db
APACHE_CFG=	${APACHE_CFGDIR}/httpd.conf

SUB_FILES=	pkg-message pkg-install
SUB_LIST=	DBDIR=${DBDIR}
PLIST_SUB=	DBDIR=${DBDIR}

WRKSRC=		${WRKDIR}/${PORTNAME}-${PORTVERSION}

ALTER_FILES=	netdisco netdisco.conf netdisco_apache.conf \
		netdisco_apache_dir.conf netdisco.crontab

CONFIG_FILES=	netdisco.conf netdisco.crontab netdisco-topology.txt \
		netdisco_apache.conf netdisco_apache_dir.conf

.include <bsd.port.pre.mk>

.if ${APACHE_VERSION} >= 20
RUN_DEPENDS+=	${SITE_PERL}/${PERL_ARCH}/mod_perl2.pm:${PORTSDIR}/www/mod_perl2	\
		${SITE_PERL}/${PERL_ARCH}/APR/Request/Apache2.pm:${PORTSDIR}/www/p5-libapreq2
APACHE_CFGDIR=	${LOCALBASE}/etc/apache${APACHE_VERSION:S/20/2/}
.else
RUN_DEPENDS+=	${SITE_PERL}/${PERL_ARCH}/mod_perl.pm:${PORTSDIR}/www/mod_perl		\
		${SITE_PERL}/${PERL_ARCH}/Apache/Request.pm:${PORTSDIR}/www/p5-libapreq
APACHE_CFGDIR=	${LOCALBASE}/etc/apache
APACHE2_RE=	\#
.endif

.if defined(WITH_GRAPHVIZ)
RUN_DEPENDS+=	${SITE_PERL}/Graph.pm:${PORTSDIR}/math/p5-Graph				\
		${SITE_PERL}/GraphViz.pm:${PORTSDIR}/graphics/p5-GraphViz
.endif

pre-install:
.	for i in ${ALTER_FILES}
		@(${MV} ${WRKSRC}/${i}.bak ${WRKSRC}/${i} 2>/dev/null || ${TRUE})
.	endfor

	cd ${WRKSRC} && \
	   ${REINPLACE_CMD} -e 's#%%WWWDIR%%#${WWWDIR}#g'	\
	                    -e 's#%%PREFIX%%#${PREFIX}#g'		\
	                    -e 's#%%DATADIR%%#${DATADIR}#g'		\
	                    -e 's#%%RUNDIR%%#${RUNDIR}#g'		\
	                    -e 's#%%DBDIR%%#${DBDIR}#g'			\
	                    -e 's/%%APACHE2%%/${APACHE2_RE}/g'		\
	                    ${ALTER_FILES}

do-install:
.	for i in netdisco bin/parse_mac bin/port_control bin/parse_kismet_ap
		cd ${WRKSRC} && ${INSTALL_SCRIPT} ${i} ${PREFIX}/bin
.	endfor

	${MKDIR} ${WWWDIR}
	cd ${WRKSRC}/html && ${INSTALL_DATA} autohandler *.* ${WWWDIR}

	${MKDIR} ${WWWDIR}/doc
	cd ${WRKSRC}/html/doc && ${INSTALL_DATA} *.* ${WWWDIR}/doc

	${CHOWN} -R ${WWWOWN}:${WWWGRP} ${WWWDIR}

	${MKDIR} ${WWWDIR}/mason

	${INSTALL_DATA} ${WRKSRC}/netdisco.pm ${SITE_PERL}

	${MKDIR} ${PREFIX}/etc/${PORTNAME}

.	for i in ${CONFIG_FILES}
		cd ${WRKSRC} && ${INSTALL_DATA} ${i} ${PREFIX}/etc/${PORTNAME}/${i}.sample
		@(if [ ! -f ${PREFIX}/etc/${PORTNAME}/${i} ]; then	\
			${CP} ${PREFIX}/etc/${PORTNAME}/${i}.sample	\
			      ${PREFIX}/etc/${PORTNAME}/${i};		\
		fi)
.	endfor

	${MKDIR} ${DATADIR}/sql

	${INSTALL_DATA} ${WRKSRC}/oui.txt ${DATADIR}

	cd ${WRKSRC}/sql && \
	   ${INSTALL_DATA} *.sql pg_all pg_back pg_init pg_run ${DATADIR}/sql

	${MKDIR} ${DATADIR}/mibs

	cd ${WRKSRC} && ${FIND} mibs \
	   | ${CPIO} -pu -R ${SHAREOWN}:${SHAREGRP} ${DATADIR}

	${MKDIR} ${DBDIR}/${PORTNAME}

.	if !defined(PACKAGE_BUILDING)
		@(if [ -f ${APACHE_CFG} ] ; then \
			${ECHO_MSG} "===> Updating ${APACHE_CFG}...";							\
			${ECHO_CMD} "# Netdisco include files" >> ${APACHE_CFG};					\
			${ECHO_CMD} "Include ${PREFIX}/etc/${PORTNAME}/netdisco_apache.conf" >> ${APACHE_CFG};		\
			${ECHO_CMD} "Include ${PREFIX}/etc/${PORTNAME}/netdisco_apache_dir.conf" >> ${APACHE_CFG};	\
		fi)
.	endif

post-install:
	@${SETENV} "PKG_PREFIX=${PREFIX}" ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
	@${CAT} ${PKGMESSAGE}

.include <bsd.port.post.mk>