aboutsummaryrefslogtreecommitdiffstats
path: root/net-mgmt/observium/Makefile
blob: fd48caea7c346ec78c175a32cd0cf1c23e342c81 (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
# Ports collection makefile for:    observium
# Date created:             2010-02-12
# Whom:                 rflynn@acsalaska.net
#
# $Redports: melflynn/net-mgmt/observium/Makefile 2134 2012-02-21 13:14:38Z melflynn $
# $FreeBSD$
#

PORTNAME=   observium
PORTVERSION=    0.11.5.2261
CATEGORIES= net-mgmt
MASTER_SITES=   http://observium.org/ \
        http://cpansearch.perl.org/src/BBB/Net-Ping-2.31/demo/
DISTNAME=   ${PORTNAME}-latest
DISTFILES=  ${DISTNAME}${EXTRACT_SUFX}
EXTRACT_ONLY=   ${DISTNAME}${EXTRACT_SUFX}

MAINTAINER= rflynn@acsalaska.net
COMMENT=    An autodiscovering PHP/MySQL/SNMP based network monitoring

LICENSE=    GPLv3

WRKSRC=     ${WRKDIR}/${PORTNAME}

USE_PHP=    snmp ctype gd mysql session xml
WANT_PHP_CLI=   yes

RUN_DEPENDS+=   rrdtool:${PORTSDIR}/databases/rrdtool \
        dot:${PORTSDIR}/graphics/graphviz \
        Magick-config:${PORTSDIR}/graphics/ImageMagick \
        mtr:${PORTSDIR}/net/mtr-nox11 \
        ${LOCALBASE}/share/pear/Net/IPv4.php:${PORTSDIR}/net/pear-Net_IPv4 \
        ${LOCALBASE}/share/pear/Net/IPv6.php:${PORTSDIR}/net/pear-Net_IPv6 \
        snmpget:${PORTSDIR}/net-mgmt/net-snmp

OPTIONS=    APACHEMOD   "Use php with apache22+ module" On \
        MYSQLD      "Use local MySQL server" Off \
        JAIL        "This is a jail install" Off

SUB_FILES+= pkg-message
SUB_LIST+=  PHP="${PHPBASE}/bin/php"

# :r!ls *.php *.sql
ROOT_FILES= addhost.php adduser.php alerts.php check-errors.php \
        check-services.php delhost.php discovery.php \
        generate-iplist.php irc.php poll-billing.php \
        poll-device.php poller.php renamehost.php snmptrap.php \
        syslog.php database-schema.sql database-update-pre1000.sql \
        database-update-pre1435.sql database-update-pre2245.sql \
        database-update.sql config.php.default
ROOT_DIRS=  attic contrib html includes mibs scripts upgrade-scripts
PORTDOCS=   CHANGELOG INSTALL README
PORTEXAMPLES=   snmp.conf.example snmpd.conf.example

.include <bsd.port.pre.mk>

.if defined(PACKAGE_BUILDING)
WITHOUT_APACHEMOD=yes # Package builder doesn't create php5 with module
.endif

.if !defined(WITHOUT_APACHEMOD)
WANT_PHP_MOD=   yes
USE_APACHE= 22+
.else
WANT_PHP_WEB=   yes
.endif

.if !defined(WITHOUT_MYSQLD)
USE_MYSQL=  server
.else
USE_MYSQL=  client
.endif

.if defined(WITH_JAIL)
RUN_DEPENDS+=   ${SITE_PERL}/Net/Ping.pm:${PORTSDIR}/net/p5-Net-Ping
DISTFILES+= fping
SUB_LIST+=  FPING="${LOCALBASE}/bin/fping-perl"
PLIST_FILES+=   bin/fping-perl
.else
RUN_DEPENDS+=   fping:${PORTSDIR}/net/fping
SUB_LIST+=  FPING="${LOCALBASE}/sbin/fping"
.endif

post-extract:
    @${FIND} ${WRKSRC} -name '.svn' -exec ${RM} -rf {} +
.if defined(WITH_JAIL)
    @${CP} ${DISTDIR}/fping ${WRKDIR}/fping
.endif

do-build:
.if defined(WITH_JAIL)
    @${REINPLACE_CMD} -e 's,^#!.*$$,#!${PERL},' ${WRKDIR}/fping
.endif
    @${FIND} ${WRKSRC} -name '*.pl' | ${XARGS} ${REINPLACE_CMD} \
        -e 's,#!/usr/bin/perl,#!${PERL},'
    @${REINPLACE_CMD} -E 's,<\?=([^?]+)\?>,<?php echo \1;?>,g' \
        ${WRKSRC}/html/graph-realtime.php
    @${RM} ${WRKSRC}/html/includes/geshi/docs/COPYING
    @${RM} ${WRKSRC}/html/pages/addhost.inc.php.orig

do-install:
    @${MKDIR} ${WWWDIR}
    @${FIND} ${WRKSRC} -name '*.bak' -delete
.for dir in ${ROOT_DIRS}
    @${MKDIR} ${WWWDIR}/${dir}
    @${ECHO_MSG} "===>   Installing ${dir}"
    @cd ${WRKSRC}/${dir} && ${COPYTREE_SHARE} . ${WWWDIR}/${dir}
.endfor
    @${ECHO_MSG} "===>   Installing root files"
.for file in ${ROOT_FILES}
    @${INSTALL_DATA} ${WRKSRC}/${file} ${WWWDIR}
.endfor
.if !defined(NOPORTDOCS)
    @${MKDIR} ${DOCSDIR}
.for file in ${PORTDOCS}
    @${INSTALL_DATA} ${WRKSRC}/${file} ${DOCSDIR}
.endfor
.endif
.if !defined(NOPORTEXAMPLES)
    @${MKDIR} ${EXAMPLESDIR}
.for file in ${PORTEXAMPLES}
    @${INSTALL_DATA} ${WRKSRC}/${file} ${EXAMPLESDIR}
.endfor
.endif
.if defined(WITH_JAIL)
    @${INSTALL_SCRIPT} ${WRKDIR}/fping ${PREFIX}/bin/fping-perl
.endif

post-install:
    @${ECHO_CMD}; ${CAT} ${PKGMESSAGE}; ${ECHO_CMD}

.include <bsd.port.post.mk>