From nobody Tue Aug 22 13:44:42 2023 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RVVvZ4tGcz4qvHl; Tue, 22 Aug 2023 13:44:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RVVvZ45fmz3cr1; Tue, 22 Aug 2023 13:44:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1692711882; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Jt/fNpdapan1CcDGU6OL4pc3NOR3bUyQpOrOI5Ya4Ec=; b=RkUcEqJLT5Yd5T1vea1GW/mBBWMUTYVbLaw0eYbZoRAsSMdoEOKN2PIJeuyl7XMOzOmPPy rkgEu9S6172mka8yD9GsMwhSmliI9HD16+GnH+xcP1Nrbw4O+r3QUVXjDuKrLnWmyQtyU8 /FgKjrAaNlmgQcRLnlTHH3VHF+i8sHr2MbnhjYNGeDqlEgWDZGaCD0EKX/dhr3Eazkw0Yc YZVMV9eSfln8h/GnJ8sNxoPijKIDBn3gXyWrkxBURrwXXzRbUpc8I5n5wBwvyjZk9p9SSQ Oi5WKcDztHBCezZT3G+ekN1db3WC/pvZTp2XnoTQ6vzgVCl+30GX68I+/hppYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1692711882; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Jt/fNpdapan1CcDGU6OL4pc3NOR3bUyQpOrOI5Ya4Ec=; b=CIeZJRVJoVKacoFp9ZI9bclFZBCJNS7eBZgVhOVTBTnBFzy53VrCNnxAT9cURE2hJnq8TK TL+CRENWH+S/4HWFS0Nb3R6bhEEsCShzVqJjH+Okh1fcDuHxYc3H7p81O/b45B+JTEr0ft veI0NW1ZqtN7VmSW3U352cTsf21yYBiucEMavgRMuEtf0U60WbLO5RsYXWWIYTqafZEr1d SBESMx/ggJMFBACuS9GB/IkhyeJpRQmXk5patHGpaSnG/QeR78oQIsVb/DNiGBzXc27BMm 2J0pgTUFCShhQRRcbDuTmlbc93xgUs7mgPg3YEg+FDZzOEze7jummCrOoazAIQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1692711882; a=rsa-sha256; cv=none; b=dcKzckPQz3gp4fh/74vKhg9JpQNoeFThPneWgWWQhaIxiq5JwtEM3Bukhym55f45pSJOqC xE1SybdhHXoDkFFYG8yf6GbUt0cpL4bWUDyp1QJEs+mHBnbCh68OkRpe6E1+TEcCA5evmZ R8e3izoxCarokWgowOAT/anBHNVoBQpBI4uw4YDQ8obxOh6DRXkvmo99ipaxtaUsTtQIT0 +aw/A4KsLA7hZ21prn6sIaeV+xLYvI6sLx34ZogqS/79CXln42E69eKTs88yZgOvfwrh/M auOAdJiUAo7ohlOUX/KD/TPmmxsHCSzU3SHuto8ul79njTSs+QxOrG1E5O+MLg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RVVvZ39MPz14lb; Tue, 22 Aug 2023 13:44:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 37MDigue052926; Tue, 22 Aug 2023 13:44:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 37MDigI6052923; Tue, 22 Aug 2023 13:44:42 GMT (envelope-from git) Date: Tue, 22 Aug 2023 13:44:42 GMT Message-Id: <202308221344.37MDigI6052923@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Dan Langille Subject: git: ce403815a76a - main - net-mgmt/librenms: Update to 23.8.2 List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-all@freebsd.org X-BeenThere: dev-commits-ports-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dvl X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ce403815a76af31dfd323b63415be7f7b9303745 Auto-Submitted: auto-generated The branch main has been updated by dvl: URL: https://cgit.FreeBSD.org/ports/commit/?id=ce403815a76af31dfd323b63415be7f7b9303745 commit ce403815a76af31dfd323b63415be7f7b9303745 Author: Dan Langille AuthorDate: 2023-08-22 13:26:33 +0000 Commit: Dan Langille CommitDate: 2023-08-22 13:44:38 +0000 net-mgmt/librenms: Update to 23.8.2 This port update includes a new cron job which launches the schedule process. This is distinct from the librenms-service.py daemon recently introduced and also from the previous poller script. See /usr/local/etc/cron.d/librenms This update also installs symlink between /usr/local/bin/lnms and %%%WWWDIR%%/lnms - this script is used during upgrades and always had permissions issues when run as non-root. The script attempts to enforce Linux-specific permissions (e.g. www owned). This symlink satisfies a validation check the code does. This commited patches the validation check for lnms. The check assumes /usr/local/bin is on the path but that is not the case when librenms is running. Instead, just check that the symlink exists. files/pkg-message.in - updated to reflect lnms symlink changes re: https://github.com/librenms/librenms/releases/tag/23.8.2 These releases were skipped over: * https://github.com/librenms/librenms/releases/tag/23.8.1 * https://github.com/librenms/librenms/releases/tag/23.8.0 --- net-mgmt/librenms/Makefile | 26 ++++++++++++++-------- net-mgmt/librenms/distinfo | 10 ++++----- .../files/patch-LibreNMS_Validations_System.php | 24 ++++++++++++++++++++ net-mgmt/librenms/files/patch-LibreNMS_wrapper.py | 12 +++++----- .../files/patch-dist_librenms-scheduler.cron | 6 +++++ net-mgmt/librenms/files/pkg-message.in | 19 +++++----------- 6 files changed, 63 insertions(+), 34 deletions(-) diff --git a/net-mgmt/librenms/Makefile b/net-mgmt/librenms/Makefile index 290ff8c4554e..3865be12ea1c 100644 --- a/net-mgmt/librenms/Makefile +++ b/net-mgmt/librenms/Makefile @@ -1,6 +1,5 @@ PORTNAME= librenms -PORTVERSION= 23.7.0 -PORTREVISION= 2 +PORTVERSION= 23.8.2 PORTEPOCH= 1 CATEGORIES= net-mgmt MASTER_SITES= LOCAL/dvl:vendor @@ -45,7 +44,6 @@ SHEBANG_FILES= ../${PORTNAME}-vendor-${PORTVERSION}/tecnickcom/tcpdf/tools/tcpdf ../librenms-vendor-${PORTVERSION}/justinrainbow/json-schema/bin/validate-json \ ../librenms-vendor-${PORTVERSION}/nesbot/carbon/bin/carbon \ ../librenms-vendor-${PORTVERSION}/nikic/php-parser/bin/php-parse \ - ../librenms-vendor-${PORTVERSION}/predis/predis/bin/create-command-test \ ../librenms-vendor-${PORTVERSION}/psy/psysh/bin/psysh \ ../librenms-vendor-${PORTVERSION}/symfony/error-handler/Resources/bin/extract-tentative-return-types.php \ ../librenms-vendor-${PORTVERSION}/symfony/error-handler/Resources/bin/patch-type-declarations \ @@ -127,10 +125,10 @@ _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= 1689568961 +_RELEASE_TIMESTAMP= 1692632893 _ROOT_DIRS= LibreNMS app bootstrap config database doc html \ includes lang licenses mibs misc resources routes \ - scripts sql-schema tests + scripts tests _DOCS= AUTHORS.md CHANGELOG.md CONTRIBUTING.md LICENSE.txt \ README.md @@ -150,9 +148,13 @@ post-patch: ${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|g' ${WRKSRC}/LibreNMS/Util/Version.php ${REINPLACE_CMD} 's|%%PORTVERSION%%|${PORTVERSION}|g' ${WRKSRC}/LibreNMS/Util/Version.php ${REINPLACE_CMD} 's|%%RELEASE_TIMESTAMP%%|${_RELEASE_TIMESTAMP}|g' ${WRKSRC}/LibreNMS/Util/Version.php + ${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|g' ${WRKSRC}/LibreNMS/Validations/System.php ${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|g' ${WRKSRC}/includes/html/output/capture.inc.php ${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|g' ${WRKSRC}/config.php.default ${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|g' ${WRKSRC}/poller-wrapper.py + ${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|g' ${WRKSRC}/dist/librenms-scheduler.cron + ${REINPLACE_CMD} 's|%%WWWDIR%%|${WWWDIR}|g' ${WRKSRC}/dist/librenms-scheduler.cron + ${REINPLACE_CMD} 's|%%USER%%|${WWWOWN}|g' ${WRKSRC}/dist/librenms-scheduler.cron ${RM} ${WRKSRC}/LibreNMS/Validations/Updates.php ${RM} -rf ${WRKSRC}/logs @@ -181,10 +183,6 @@ do-install: ${MV} ${STAGEDIR}/${WWWDIR}/vendor/html-js-lang/* ${STAGEDIR}/${WWWDIR}/html/js/lang/ ${RM} -rf ${STAGEDIR}/${WWWDIR}/vendor/html-js-lang -# Make daily.sh executable -# ${CHMOD} 0755 ${STAGEDIR}/${WWWDIR}/daily.sh -# lnms does not fall into any other +x category -# ${CHMOD} 0755 ${STAGEDIR}/${WWWDIR}/lnms # Files in scripts dir should be executable ${FIND} ${STAGEDIR}/${WWWDIR}/scripts -type f -exec ${CHMOD} +x {} \; # Ensure PHP and Python scripts are executable @@ -238,4 +236,14 @@ post-install: ${ECHO_CMD} "@dir etc/newsyslog.conf.d" >> ${TMPPLIST} ${ECHO_CMD} "@sample etc/newsyslog.conf.d/librenms.conf.sample" >> ${TMPPLIST} + ${MKDIR} ${STAGEDIR}/${WWWDIR} ${STAGEDIR}${PREFIX}/etc/cron.d/ + ${INSTALL_DATA} ${WRKSRC}/dist/librenms-scheduler.cron ${STAGEDIR}${PREFIX}/etc/cron.d/librenms + ${ECHO_CMD} "@dir etc/cron.d" >> ${TMPPLIST} + ${ECHO_CMD} "etc/cron.d/librenms" >> ${TMPPLIST} + + # avoid the "Global lnms shortcut not installed." validataion warning. + # this can also be run as root. + ${RLN} ${STAGEDIR}${WWWDIR}/lnms ${STAGEDIR}${PREFIX}/bin/lnms + ${ECHO_CMD} "bin/lnms" >> ${TMPPLIST} + .include diff --git a/net-mgmt/librenms/distinfo b/net-mgmt/librenms/distinfo index 944426062ff4..7b9c2fbf3373 100644 --- a/net-mgmt/librenms/distinfo +++ b/net-mgmt/librenms/distinfo @@ -1,5 +1,5 @@ -TIMESTAMP = 1689616753 -SHA256 (librenms-vendor-23.7.0.tar.gz) = a452f2e4488e637de673be1975e8d5e0a898f9281ac45d01cd5d70fd0b2dc9f0 -SIZE (librenms-vendor-23.7.0.tar.gz) = 27501794 -SHA256 (librenms-librenms-23.7.0_GH0.tar.gz) = c9a8be8a830b292a490eeb491367b831a463336934629272c4c1f205e792dae3 -SIZE (librenms-librenms-23.7.0_GH0.tar.gz) = 57749912 +TIMESTAMP = 1692633919 +SHA256 (librenms-vendor-23.8.2.tar.gz) = 015bc3d79bd7312fcafbf14161f93093e1f395d134311c38c54daf7d47c445f3 +SIZE (librenms-vendor-23.8.2.tar.gz) = 27762415 +SHA256 (librenms-librenms-23.8.2_GH0.tar.gz) = e232f39bdf2e3238bbcbc60122b59ac7141f5760d7552aee41f3f9382f95a710 +SIZE (librenms-librenms-23.8.2_GH0.tar.gz) = 57980278 diff --git a/net-mgmt/librenms/files/patch-LibreNMS_Validations_System.php b/net-mgmt/librenms/files/patch-LibreNMS_Validations_System.php new file mode 100644 index 000000000000..744b3533df01 --- /dev/null +++ b/net-mgmt/librenms/files/patch-LibreNMS_Validations_System.php @@ -0,0 +1,24 @@ +--- LibreNMS/Validations/System.php.orig 2023-08-21 20:59:01 UTC ++++ LibreNMS/Validations/System.php +@@ -40,19 +40,12 @@ class System extends BaseValidation + { + $install_dir = $validator->getBaseDir(); + +- $lnms = str_replace('lnms:', '', rtrim(`whereis -b lnms 2>/dev/null`)); ++ $lnms = rtrim(`/usr/bin/find /usr/local/bin -name lnms`); + $path = rtrim(`echo "\$PATH"`); + + // if couldn't find lnms and we have PATH + if (empty($lnms) && ! empty($path)) { +- $paths = explode(':', $path); +- $bin = Arr::first(array_intersect([ +- '/usr/local/bin', +- '/usr/bin', +- '/bin', +- ], $paths), null, Arr::last($paths)); +- +- $validator->warn('Global lnms shortcut not installed. lnms command must be run with full path', "sudo ln -s $install_dir/lnms $bin/lnms"); ++ $validator->warn('Global lnms shortcut not installed. lnms command must be run with full path', "sudo ln -s $install_dir/lnms %%LOCALBASE%%/bin/lnms"); + } + + $bash_completion_dir = '/etc/bash_completion.d/'; diff --git a/net-mgmt/librenms/files/patch-LibreNMS_wrapper.py b/net-mgmt/librenms/files/patch-LibreNMS_wrapper.py index dd8aae6e73de..d0f9187b21cf 100644 --- a/net-mgmt/librenms/files/patch-LibreNMS_wrapper.py +++ b/net-mgmt/librenms/files/patch-LibreNMS_wrapper.py @@ -1,11 +1,11 @@ ---- LibreNMS/wrapper.py.orig 2023-07-30 23:13:00 UTC +--- LibreNMS/wrapper.py.orig 2023-08-21 15:25:48 UTC +++ LibreNMS/wrapper.py -@@ -278,7 +278,7 @@ def poll_worker( +@@ -280,7 +280,7 @@ def poll_worker( os.path.dirname(os.path.dirname(os.path.realpath(__file__))), wrappers[wrapper_type]["executable"], ) - command = "/usr/bin/env php {} -h {}".format(executable, device_id) -+ command = "/usr/local/bin/php {} -h {}".format(executable, device_id) - if debug: - command = command + " -d" - exit_code, output = command_runner( ++ command = "/usr/local/bin/php php {} -h {}".format(executable, device_id) + if modules is not None and len(str(modules).strip()): + module_str = re.sub("\s", "", str(modules).strip()) + command = command + " -m {}".format(module_str) diff --git a/net-mgmt/librenms/files/patch-dist_librenms-scheduler.cron b/net-mgmt/librenms/files/patch-dist_librenms-scheduler.cron new file mode 100644 index 000000000000..8e5019131323 --- /dev/null +++ b/net-mgmt/librenms/files/patch-dist_librenms-scheduler.cron @@ -0,0 +1,6 @@ +--- dist/librenms-scheduler.cron.orig 2023-08-21 17:05:45 UTC ++++ dist/librenms-scheduler.cron +@@ -1 +1,2 @@ +-* * * * * php /opt/librenms/artisan schedule:run --no-ansi --no-interaction > /dev/null 2>&1 ++#minute hour mday month wday who command ++* * * * * %%USER%% %%LOCALBASE%%/bin/php %%WWWDIR%%/artisan schedule:run --no-ansi --no-interaction > /dev/null 2>&1 diff --git a/net-mgmt/librenms/files/pkg-message.in b/net-mgmt/librenms/files/pkg-message.in index de2af2e0d07d..9baa7ecdf16a 100644 --- a/net-mgmt/librenms/files/pkg-message.in +++ b/net-mgmt/librenms/files/pkg-message.in @@ -100,22 +100,13 @@ EOM message: <