1 # Created by: Eric F Crist <ecrist@secure-computing.net>
7 CATEGORIES= net-mgmt www
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
13 MAINTAINER= ecrist@secure-computing.net
14 COMMENT= Web-based tool for managing racks of equipment
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
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)
27 WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}-1
33 SUB_FILES= pkg-message
35 .include <bsd.port.options.mk>
37 .if ${PORT_OPTIONS:MSQLITE}
39 RUN_DEPENDS+= p5-DBD-SQLite>=0:${PORTSDIR}/databases/p5-DBD-SQLite
41 .if ${PORT_OPTIONS:MMYSQL}
43 RUN_DEPENDS+= p5-DBD-mysql>=0:${PORTSDIR}/databases/p5-DBD-mysql
45 .if ${PORT_OPTIONS:MPGSQL}
47 RUN_DEPENDS+= p5-DBD-Pg>=0:${PORTSDIR}/databases/p5-DBD-Pg
50 .if ${PORT_OPTIONS:MINIT_DB}
51 PLIST_SUB+= INIT_DB=""
54 PLIST_SUB+= INIT_DB="@comment "
57 .if ${PORT_OPTIONS:MSAMPLE}
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..."; \
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; \
83 elif [ "${USE_MYSQL}" -o "${USE_PGSQL}" ]; then \
84 ${INSTALL} ${WRKSRC}/conf/rackmonkey.conf-default ${STAGEDIR}${WWWDIR}/; \
86 if [ -e "${WWWDIR}/rackmonkey.conf" ]; then \
87 ${MV} ${WWWDIR}/rackmonkey.conf ${STAGEDIR}${WWWDIR}/rackmonkey.conf.old; \
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}
100 .include <bsd.port.mk>