git: e2c49c845fae - main - net-mgmt/librenms: Update to 23.5.0

From: Dan Langille <dvl_at_FreeBSD.org>
Date: Fri, 19 May 2023 23:12:55 UTC
The branch main has been updated by dvl:

URL: https://cgit.FreeBSD.org/ports/commit/?id=e2c49c845fae2101302e19ec91a055834f7bb27e

commit e2c49c845fae2101302e19ec91a055834f7bb27e
Author:     Dan Langille <dvl@FreeBSD.org>
AuthorDate: 2023-05-19 23:08:12 +0000
Commit:     Dan Langille <dvl@FreeBSD.org>
CommitDate: 2023-05-19 23:12:47 +0000

    net-mgmt/librenms: Update to 23.5.0
    
    re: https://github.com/librenms/librenms/releases/tag/23.5.0
    
    * This update adds the readline PHP module as a RUN_DEPENDS
    * This update installs a cronjob to etc/crontab.d/librenms
      which runs every minute.
---
 net-mgmt/librenms/Makefile               | 27 +++++++++++++++------------
 net-mgmt/librenms/distinfo               | 10 +++++-----
 net-mgmt/librenms/files/librenms.cron.in | 16 ++++++++++++++++
 3 files changed, 36 insertions(+), 17 deletions(-)

diff --git a/net-mgmt/librenms/Makefile b/net-mgmt/librenms/Makefile
index 500ae47a7216..320d04284a2f 100644
--- a/net-mgmt/librenms/Makefile
+++ b/net-mgmt/librenms/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	librenms
-PORTVERSION=	23.4.0
-PORTREVISION=	2
+PORTVERSION=	23.5.0
 PORTEPOCH=	1
 CATEGORIES=	net-mgmt
 MASTER_SITES=	LOCAL/dvl:vendor
@@ -28,12 +27,11 @@ RUN_DEPENDS+=	${LOCALBASE}/share/pear/Net/IPv4.php:net/pear-Net_IPv4@${PHP_FLAVO
 USES=		cpe php python shebangfix
 USE_GITHUB=	yes
 USE_PHP=	ctype curl dom fileinfo filter gd ldap mbstring \
-		mysqli pdo pdo_mysql phar posix session simplexml snmp \
+		mysqli pdo pdo_mysql phar posix readline session simplexml snmp \
 		sockets tokenizer xml xmlwriter zip
 USE_RC_SUBR=	librenms
 
-SHEBANG_FILES=	../${PORTNAME}-vendor-${PORTVERSION}/swiftmailer/swiftmailer/lib/swiftmailer_generate_mimes_config.php \
-		../${PORTNAME}-vendor-${PORTVERSION}/tecnickcom/tcpdf/tools/tcpdf_addfont.php \
+SHEBANG_FILES=	../${PORTNAME}-vendor-${PORTVERSION}/tecnickcom/tcpdf/tools/tcpdf_addfont.php \
 		poller-wrapper.py poller.php scripts/auth_test.php \
 		scripts/check_requirements.py \
 		scripts/dynamic_check_requirements.py scripts/github-remove \
@@ -50,7 +48,7 @@ SHEBANG_FILES=	../${PORTNAME}-vendor-${PORTVERSION}/swiftmailer/swiftmailer/lib/
 NO_ARCH=	yes
 NO_BUILD=	yes
 
-SUB_FILES+=	pkg-message
+SUB_FILES+=	librenms.cron pkg-message
 SUB_LIST+=	GROUP="${WWWGRP}" \
 		PHP="${PHPBASE}/bin/php" \
 		PYTHON=${PYTHON_CMD} \
@@ -86,7 +84,7 @@ X11_RUN_DEPENDS_OFF=	mtr:net/mtr-nox11
 X11_USES=		magick:6
 X11_USES_OFF=		magick:6,nox11
 
-_ROOT_FILES=		addhost.php adduser.php alerts.php artisan \
+_ROOT_FILES=		addhost.php alerts.php artisan \
 			billing-calculate.php check-services.php composer.json \
 			composer.lock config.php.default config_to_json.php \
 			cronic daily.php delhost.php discovery-wrapper.py \
@@ -99,7 +97,7 @@ _SCRIPT_FILES=		daily.sh lnms
 # _RELEASE_TIMESTAMP is used for a patch inside the vendor code
 # it represents the release date via: git show --pretty='%H|%ct' -s 1.42.01
 # It sits here so you remember to update it with each release
-_RELEASE_TIMESTAMP=	1680825172
+_RELEASE_TIMESTAMP=	1684510339
 _ROOT_DIRS=		LibreNMS app bootstrap config database doc html \
 			includes licenses mibs misc resources routes scripts \
 			sql-schema tests
@@ -117,6 +115,7 @@ _OTHER_DIRS=	database/seeders/config html/plugins html/js/lang \
 		vendor/librenms/laravel-vue-i18n-generator/tests/output \
 		vendor/symfony/string/Resources/bin
 
+
 post-patch:
 	${REINPLACE_CMD}    's|%%LOCALBASE%%|${LOCALBASE}|g'                  ${WRKSRC}/LibreNMS/Validations/Php.php
 	${REINPLACE_CMD}    's|%%LOCALBASE%%|${LOCALBASE}|g'                  ${WRKSRC}/LibreNMS/Util/Version.php
@@ -129,7 +128,7 @@ post-patch:
 	${RM} -rf ${WRKSRC}/logs
 
 do-install:
-	${MKDIR} ${STAGEDIR}/${WWWDIR}
+	${MKDIR} ${STAGEDIR}/${WWWDIR} ${STAGEDIR}/${PREFIX}/etc/cron.d
 .for dir in ${_ROOT_DIRS}
 	${MKDIR} ${STAGEDIR}/${WWWDIR}/${dir}
 	(cd ${WRKSRC}/${dir} && ${COPYTREE_SHARE} . ${STAGEDIR}/${WWWDIR}/${dir})
@@ -186,17 +185,18 @@ post-install:
 	${FIND} -s ${STAGEDIR}${WWWDIR} -type f '(' -name '*.orig' -or -name '*.bak' -or -name '.gitignore' ')' -delete
 	${FIND} -s ${STAGEDIR}${WWWDIR} -not -type d | ${SORT} | \
 		${SED} -e 's#^${STAGEDIR}${PREFIX}/##' >> ${TMPPLIST}
+	${INSTALL_DATA}	${WRKDIR}/librenms.cron ${STAGEDIR}/${PREFIX}/etc/cron.d/librenms
 
 # we do this file separately because it needs a different chmod/chown
 # it will eventually contains secrets
 	${INSTALL_DATA} ${WRKSRC}/.env.example ${STAGEDIR}/${WWWDIR}
-	${ECHO_CMD} "@dir(www,www,0775) ${DBDIR}/storage" >> ${TMPPLIST}
-	${ECHO_CMD} "@dir(www,www,0775) ${DBDIR}" >> ${TMPPLIST}
+	${ECHO_CMD} "@dir(www,www,0775) ${DBDIR}/storage"     >> ${TMPPLIST}
+	${ECHO_CMD} "@dir(www,www,0775) ${DBDIR}"             >> ${TMPPLIST}
 	${ECHO_CMD} "@dir(www,www,0775) /var/log/${PORTNAME}" >> ${TMPPLIST}
 	${ECHO_CMD} "@(root,www,0750) ${WWWDIR}/.env.example" >> ${TMPPLIST}
 
 	${ECHO_CMD} "@dir(www,www,0775) ${WWWDIR}/bootstrap/cache" >> ${TMPPLIST}
-	${ECHO_CMD} "@dir(www,www,0775) /var/run/${PORTNAME}" >> ${TMPPLIST}
+	${ECHO_CMD} "@dir(www,www,0775) /var/run/${PORTNAME}"      >> ${TMPPLIST}
 .for f in ${_STORAGE_DIRS}
 	${MKDIR} ${STAGEDIR}/${DBDIR}/storage/${f}
 	${ECHO_CMD} "@dir(root,www,0775) ${DBDIR}/storage/${f}" >> ${TMPPLIST}
@@ -208,6 +208,9 @@ post-install:
 	${MKDIR} ${STAGEDIR}${PREFIX}/etc/newsyslog.conf.d
 	${INSTALL_DATA} ${FILESDIR}/newsyslog.conf.sample ${STAGEDIR}/${PREFIX}/etc/newsyslog.conf.d/librenms.conf.sample
 	${ECHO_CMD} "@dir etc/newsyslog.conf.d" >> ${TMPPLIST}
+	${ECHO_CMD} "@dir etc/cron.d"           >> ${TMPPLIST}
+	${ECHO_CMD} "etc/cron.d/librenms"       >> ${TMPPLIST}
+
 	${ECHO_CMD} "@sample etc/newsyslog.conf.d/librenms.conf.sample" >> ${TMPPLIST}
 
 .include <bsd.port.mk>
diff --git a/net-mgmt/librenms/distinfo b/net-mgmt/librenms/distinfo
index 0055ff799fa6..c5f066d3cc59 100644
--- a/net-mgmt/librenms/distinfo
+++ b/net-mgmt/librenms/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1681134245
-SHA256 (librenms-vendor-23.4.0.tar.gz) = 0ca7b435dc20155a63f9e5433065c890fba457012cb44606f7aee176708b5874
-SIZE (librenms-vendor-23.4.0.tar.gz) = 27764425
-SHA256 (librenms-librenms-23.4.0_GH0.tar.gz) = 359a98c83816d2f5ebd66a7564c5851496fe8ba53cd3d64e0e9286bca733572e
-SIZE (librenms-librenms-23.4.0_GH0.tar.gz) = 57271787
+TIMESTAMP = 1684511309
+SHA256 (librenms-vendor-23.5.0.tar.gz) = 5ce5fcd3eec1117b367c19b9f508fb6b730d3539795bb33d062a76bfbc9fe028
+SIZE (librenms-vendor-23.5.0.tar.gz) = 27451839
+SHA256 (librenms-librenms-23.5.0_GH0.tar.gz) = 71a2b68abf07293976421941fddcf83eb144a77618d6d4cb02fbe363fe00b5cc
+SIZE (librenms-librenms-23.5.0_GH0.tar.gz) = 57634953
diff --git a/net-mgmt/librenms/files/librenms.cron.in b/net-mgmt/librenms/files/librenms.cron.in
new file mode 100644
index 000000000000..71076ed33f0c
--- /dev/null
+++ b/net-mgmt/librenms/files/librenms.cron.in
@@ -0,0 +1,16 @@
+# This scripts run every minute
+#
+# Until it runs, validate.php will show: 
+#
+# [FAIL]  Scheduler is not running
+# [FIX]: 
+#	cp /opt/librenms/dist/librenms-scheduler.service /opt/librenms/dist/librenms-scheduler.timer /etc/systemd/system/
+# systemctl enable librenms-scheduler.timer
+# systemctl start librenms-scheduler.timer
+#
+# If you still see the above issue after this cron job is in place,
+# remove the redirecdtion below and get the email produced by this cron job.
+# It should contain information for debugging the problem.
+#
+
+* * * * * www	cd %%PREFIX%%/www/librenms/ && php ./artisan schedule:run >> /dev/null 2>&1