112 lines
3.6 KiB
Makefile
Raw Normal View History

2019-04-01 13:52:45 +00:00
# $OpenBSD: Makefile,v 1.86 2019/04/01 13:52:45 sthen Exp $
COMMENT = auto-discovering network management/monitoring system
2016-12-14 21:37:03 +00:00
GH_ACCOUNT = librenms
GH_PROJECT = librenms
2019-04-01 13:52:45 +00:00
GH_TAGNAME = 1.50
DISTFILES = librenms-${GH_TAGNAME}.tar.gz librenms-vendor-${GH_TAGNAME}.tar.xz:0
2016-12-14 21:37:03 +00:00
EPOCH = 0
CATEGORIES = net www
HOMEPAGE = https://www.librenms.org/
MAINTAINER = Stuart Henderson <sthen@openbsd.org>
# GPLv3+
PERMIT_PACKAGE_CDROM = Yes
MASTER_SITES0 = https://spacehopper.org/mirrors/
MODULES = lang/php \
lang/python
MODPY_BUILDDEP = No
# librenms-service.py (currently in beta) will want py3 and the following:
# databases/py-redis${MODPY_FLAVOR} # optional
# sysutils/py-dotenv${MODPY_FLAVOR} # not ported yet
# but (at least as of 1.43), the *-wrapper.py scripts don't support py3 yet
RUN_DEPENDS = databases/py-mysql${MODPY_FLAVOR} \
lang/php/${MODPHP_VERSION},-curl \
lang/php/${MODPHP_VERSION},-gd \
lang/php/${MODPHP_VERSION},-mysqli \
lang/php/${MODPHP_VERSION},-pdo_mysql \
lang/php/${MODPHP_VERSION},-snmp \
net/fping \
net/mtr \
net/net-snmp \
net/nmap \
net/rrdtool \
shells/bash \
sysutils/ipmitool
NO_BUILD = Yes
NO_TEST = Yes
PKG_ARCH = *
PREFIX = /var/www
INSTDIR = ${PREFIX}/librenms
2016-04-24 23:36:07 +00:00
SUBST_VARS = INSTDIR MODPHP_BIN
UPDATE_PLIST_ARGS += -i MODPHP_VERSION
R = s,^\#!( )?(/usr/bin/env |/bin/)bash,\#!${LOCALBASE}/bin/bash,;
2016-05-06 19:31:08 +00:00
R += s,^\#!( )?/usr/bin/(env )?python.*,\#!${MODPY_BIN},;
R += s,/usr/bin/(env )?php,${MODPHP_BIN},g;
R += s,/opt/librenms,/var/www/librenms,g;
R += s,/var/www/librenms,${TRUEPREFIX}/librenms,g;
R += s,/usr/local,${LOCALBASE},g
post-extract:
mv ${WRKDIR}/vendor ${WRKSRC}/
2018-02-12 23:27:18 +00:00
perl -pi \
-e "s,'/usr/bin/snmp,'/usr/local/bin/snmp,;" \
-e "s,'/bin/ping,'/sbin/ping,;" \
-e "s,'/usr/bin/(mtr|nmap|ipmitool|virsh|dot|sfdp)','/usr/local/bin/\1',;" \
-e "s,'/usr/lib/nagios/plugins,'/usr/local/libexec/nagios/plugins,;" \
${WRKSRC}/includes/defaults.inc.php
find ${WRKSRC} -type f -print0 | xargs -r0 perl -pi -e '$R'
sed -i \
-e 's, librenms *, _librenms ,' \
-e 's,/var/www/librenms/cronic,-n,' \
${WRKSRC}/librenms.nonroot.cron
do-configure:
${SUBST_CMD} ${WRKSRC}/.env.example ${WRKSRC}/poller-service.py
do-install:
${INSTALL_DATA_DIR} ${INSTDIR}
cd ${WRKSRC}; pax -rw . ${INSTDIR}
find ${INSTDIR} -name '*.orig' -delete
mkdir -p ${INSTDIR}/{rrd,logs}
2017-11-27 17:41:36 +00:00
cd ${INSTDIR}; \
2018-02-14 14:04:34 +00:00
sed -i 's,%PHP%,${MODPHP_BIN},' daily.sh *-wrapper.py *-service.py validate.php LibreNMS/Validations/Php.php html/includes/output/capture.inc.php scripts/composer_wrapper.php; \
2017-11-27 17:41:36 +00:00
sed -i 's,%LNMS_VERSION%,${DISTNAME:S/librenms-//},' includes/common.php
cp /usr/share/snmp/mibs/OPENBSD-* ${INSTDIR}/mibs/
2018-10-17 20:24:38 +00:00
rm -rf ${INSTDIR}/tests ${INSTDIR}/vendor/*/*/.git
# XXX workaround pkg_add limitation ("exotest" in regress/usr.sbin/pkg_add)
${INSTALL_DATA_DIR} ${INSTDIR}/lib/jQuery-Mapael/js/
mv ${INSTDIR}/html/js/mapael-maps ${INSTDIR}/lib/
mv ${INSTDIR}/html/js/maps ${INSTDIR}/lib/jQuery-Mapael/js/
ln -s ../../lib/mapael-maps/ ${INSTDIR}/html/js/mapael-maps
ln -s ../../lib/jQuery-Mapael/js/maps/ ${INSTDIR}/html/js/maps
# maintainer convenience target
dist: /usr/ports/distfiles/librenms-${GH_TAGNAME}.tar.gz
t=`mktemp -d /tmp/librenms.XXXXXXXXXX`; \
f=$$t/librenms-vendor-${GH_TAGNAME}.tar.xz; \
cd $$t; \
tar xzf ${FULLDISTDIR}/${DISTNAME}.tar.gz; \
cd librenms-${GH_TAGNAME}; \
2018-08-21 15:36:35 +00:00
sed -i 's,whereis -b ,whereis ,' LibreNMS/Config.php; \
2018-10-17 20:24:38 +00:00
sed -i 's,php artisan ,${MODPHP_BIN} artisan ,' composer.json; \
[ -r .env ] || cp .env.example .env; \
composer install --no-dev; \
tar cf - vendor | xz -T 0 > $$f; \
scp $$f naiad:mirrors/; \
cd -; rm -rf $$t
.include <bsd.port.mk>