Tweak net-mgmt/unifi2 version 2.4.6_4
[dports.git] / net-mgmt / rackmonkey / Makefile
1 # Created by: Eric F Crist <ecrist@secure-computing.net>
2 # $FreeBSD$
3
4 PORTNAME=       rackmonkey
5 PORTVERSION=    1.2.5
6 PORTREVISION=   3
7 CATEGORIES=     net-mgmt www
8 MASTER_SITES=   SF \
9                 ftp://ftp.secure-computing.net/pub/FreeBSD/ports/${PORTNAME}/ \
10                 ftp://ftp2.secure-computing.net/pub/FreeBSD/ports/${PORTNAME}/
11 DISTNAME=       ${PORTNAME}-${PORTVERSION}-1
12
13 MAINTAINER=     ecrist@secure-computing.net
14 COMMENT=        Web-based tool for managing racks of equipment
15
16 RUN_DEPENDS=    p5-DBI>=0:${PORTSDIR}/databases/p5-DBI \
17                 p5-HTML-Template>=0:${PORTSDIR}/www/p5-HTML-Template \
18                 p5-Spreadsheet-WriteExcel>=0:${PORTSDIR}/textproc/p5-Spreadsheet-WriteExcel \
19                 p5-Net-DNS>=0:${PORTSDIR}/dns/p5-Net-DNS \
20                 p5-HTML-Parser>=0:${PORTSDIR}/www/p5-HTML-Parser
21
22 OPTIONS_DEFINE= SQLITE MYSQL PGSQL INIT_DB SAMPLE
23 OPTIONS_DEFAULT=        SQLITE INIT_DB SAMPLE
24 INIT_DB_DESC=   Initialize DB at installation (SQLite Only)
25 SAMPLE_DESC=    Install sample data (SQLite Only)
26
27 WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}-1
28 NO_BUILD=       YES
29
30 USES=           perl5
31 USE_PERL5=      run
32
33 SUB_FILES=      pkg-message
34
35 .include <bsd.port.options.mk>
36
37 .if ${PORT_OPTIONS:MSQLITE}
38 USE_SQLITE=     yes
39 RUN_DEPENDS+=   p5-DBD-SQLite>=0:${PORTSDIR}/databases/p5-DBD-SQLite
40 .endif
41 .if ${PORT_OPTIONS:MMYSQL}
42 USE_MYSQL=      yes
43 RUN_DEPENDS+=   p5-DBD-mysql>=0:${PORTSDIR}/databases/p5-DBD-mysql
44 .endif
45 .if ${PORT_OPTIONS:MPGSQL}
46 USE_PGSQL=      83
47 RUN_DEPENDS+=   p5-DBD-Pg>=0:${PORTSDIR}/databases/p5-DBD-Pg
48 .endif
49
50 .if ${PORT_OPTIONS:MINIT_DB}
51 PLIST_SUB+=     INIT_DB=""
52 INIT_DB=        yes
53 .else
54 PLIST_SUB+=     INIT_DB="@comment "
55 .endif
56
57 .if ${PORT_OPTIONS:MSAMPLE}
58 SAMPLE= yes
59 .endif
60
61 do-install:
62         ${MKDIR} ${STAGEDIR}${WWWDIR}/
63         ${INSTALL} ${WRKSRC}/perl/rackmonkey.pl ${WRKSRC}/perl/rack2xls.pl ${WRKSRC}/perl/rackdns.pl ${STAGEDIR}${WWWDIR}/
64         cd ${WRKSRC}/www && ${COPYTREE_SHARE} \* ${STAGEDIR}${WWWDIR}/
65         cd ${WRKSRC} && ${COPYTREE_SHARE} tmpl ${STAGEDIR}${WWWDIR}/
66         cd ${WRKSRC}/perl && ${COPYTREE_SHARE} RackMonkey ${STAGEDIR}${WWWDIR}/
67         ${MKDIR} ${WRKDIR}/build_conf; \
68         ${CP} ${WRKSRC}/conf/rackmonkey.conf-default ${WRKDIR}/build_conf/rackmonkey.conf; \
69         if [ "${USE_SQLITE}" ]; then \
70                 ${ECHO} "Building with SQLite............."; \
71                 ${SED} -i '' -e 's%dbconnect =%dbconnect = dbi:SQLite:dbname=${WWWDIR}/rackmonkey.db%' ${WRKDIR}/build_conf/rackmonkey.conf; \
72                 if [ "${INIT_DB}" ]; then \
73                         if [ -e "${STAGEDIR}${WWWDIR}/rackmonkey.db" ]; then \
74                                 ${ECHO} "Database exists, skipping initalization..."; \
75                         else \
76                                 ${LOCALBASE}/bin/sqlite3 ${STAGEDIR}${WWWDIR}/rackmonkey.db < ${WRKSRC}/sql/schema/schema.sqlite.sql; \
77                                 ${LOCALBASE}/bin/sqlite3 ${STAGEDIR}${WWWDIR}/rackmonkey.db < ${WRKSRC}/sql/data/default_data.sql; \
78                                 if [ "${SAMPLE}" ]; then \
79                                         ${LOCALBASE}/bin/sqlite3 ${STAGEDIR}${WWWDIR}/rackmonkey.db < ${WRKSRC}/sql/data/sample_data.sql; \
80                                 fi \
81                         fi \
82                 fi \
83         elif [ "${USE_MYSQL}" -o "${USE_PGSQL}" ]; then  \
84                 ${INSTALL} ${WRKSRC}/conf/rackmonkey.conf-default ${STAGEDIR}${WWWDIR}/; \
85         fi
86         if [ -e "${WWWDIR}/rackmonkey.conf" ]; then \
87                 ${MV} ${WWWDIR}/rackmonkey.conf ${STAGEDIR}${WWWDIR}/rackmonkey.conf.old; \
88         fi
89         ${SED} -i '' \
90                 -e 's/#plugin_xls/plugin_xls/' \
91                 -e 's/#plugin_dns/plugin_dns/' \
92                 -e 's%tmplpath =%tmplpath = ${WWWDIR}/tmpl%' \
93                 -e 's%wwwpath =%wwwpath = /rackmonkey%' \
94                 ${WRKDIR}/build_conf/rackmonkey.conf
95         cd ${WRKSRC} && ${COPYTREE_SHARE} sql ${STAGEDIR}${WWWDIR}/
96         cd ${WRKSRC} && ${COPYTREE_SHARE} doc ${STAGEDIR}${WWWDIR}/
97         ${CHOWN} -R 80:80 ${STAGEDIR}${WWWDIR}
98         ${CAT} ${PKGMESSAGE}
99
100 .include <bsd.port.mk>