From 0b5e039674aa1f529e2ebc67da11bdadcb4db6e6 Mon Sep 17 00:00:00 2001 From: Cy Schubert Date: Sun, 21 Aug 2022 08:21:51 -0700 Subject: [PATCH] sysutils/nut*: Alternate upslog support for multiple UPSs Add sample rc script to allow a user to copy a sample rc script to rc.d, allowing the user to use multiple instances of upslog(8) with multiple instances of the rc script to log multiple UPSs on the same system. The sample rc script was provided by vvd@unislabs.com. PR: 265963 Reported by: vvd@unislabs.com Submitted by: vvd@unislabs.com --- sysutils/nut-devel/Makefile | 3 +- sysutils/nut-devel/files/nut_upslog.sample | 52 ++++++++++++++++++++++ sysutils/nut-devel/pkg-plist | 1 + sysutils/nut/Makefile | 3 +- sysutils/nut/files/nut_upslog.sample | 52 ++++++++++++++++++++++ sysutils/nut/pkg-plist | 1 + 6 files changed, 110 insertions(+), 2 deletions(-) create mode 100644 sysutils/nut-devel/files/nut_upslog.sample create mode 100644 sysutils/nut/files/nut_upslog.sample diff --git a/sysutils/nut-devel/Makefile b/sysutils/nut-devel/Makefile index e40b38582e55c..d2d54676e8dc4 100644 --- a/sysutils/nut-devel/Makefile +++ b/sysutils/nut-devel/Makefile @@ -1,6 +1,6 @@ PORTNAME= nut PORTVERSION= ${NUT_COMMIT_DATE} -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= sysutils PKGNAMESUFFIX= -devel # MASTER_SITES= http://www.networkupstools.org/source/${PORTVERSION:R}/ @@ -164,6 +164,7 @@ post-install: @${MKDIR} ${STAGEDIR}${EXAMPLESDIR} ${INSTALL_DATA} ${PATCHDIR}/nut.syslog ${STAGEDIR}${EXAMPLESDIR}/syslog.sample ${INSTALL_DATA} ${PATCHDIR}/nut.newsyslog ${STAGEDIR}${EXAMPLESDIR}/newsyslog.sample + ${INSTALL_DATA} ${PATCHDIR}/nut_upslog.sample ${STAGEDIR}${EXAMPLESDIR}/nut_upslog.sample ${MKDIR} ${STAGEDIR}/var/log/nut .include diff --git a/sysutils/nut-devel/files/nut_upslog.sample b/sysutils/nut-devel/files/nut_upslog.sample new file mode 100644 index 0000000000000..126a47a70d3a7 --- /dev/null +++ b/sysutils/nut-devel/files/nut_upslog.sample @@ -0,0 +1,52 @@ +#!/bin/sh + +# Authored by vvd@unislabs.com. + +# PROVIDE: nut_upslog +# REQUIRE: NETWORKING nut +# BEFORE: LOGIN +# KEYWORD: shutdown + +. /etc/rc.subr + +case $0 in +/etc/rc*) + # during boot (shutdown) $0 is /etc/rc (/etc/rc.shutdown), + # so get the name of the script from $_file + name=$_file + ;; +*) + name=$0 + ;; +esac + +name=${name##*/} +rcvar=${name}_enable + +load_rc_config "${name}" + +# Define these nut_upslog* variables in one of these files: +# /etc/rc.conf +# /etc/rc.conf.local +# /etc/rc.conf.d/nut_upslog +# +# If you want to log several different UPSes: +# ln -s nut_upslog /usr/local/etc/rc.d/NAME +# then set variables NAME_enable, NAME_ups, NAME_pidbase, NAME_logfile and etc. +# +# DO NOT CHANGE THESE DEFAULT VALUES HERE +# +eval "${rcvar}=\${${rcvar}:-'NO'}" +eval "_prefix=\${${name}_prefix:-'/usr/local'}" +eval "_logfile=\${${name}_logfile:-'/var/log/nut/ups.log'}" +eval "_interval=\${${name}_interval:-'300'}" +eval "_ups=\${${name}_ups:-'myups@localhost'}" +eval "_pidbase=\${${name}_pidbase:-'upslog'}" +eval "_format=\${${name}_format:+-f \${${name}_format}}" +eval "${name}_flags=\${${name}_flags:-'-s ${_ups} -l ${_logfile} -i ${_interval} -p ${_pidbase} ${_format}'}" + +required_dirs="%%STATEDIR%%" +pidfile="%%STATEDIR%%/${_pidbase}.pid" +command="${_prefix}/bin/upslog" + +run_rc_command "$1" diff --git a/sysutils/nut-devel/pkg-plist b/sysutils/nut-devel/pkg-plist index 66f4d6398ca98..d8fb87805dced 100644 --- a/sysutils/nut-devel/pkg-plist +++ b/sysutils/nut-devel/pkg-plist @@ -18,6 +18,7 @@ @sample %%ETCDIR%%/upsmon.conf.sample @sample %%ETCDIR%%/upssched.conf.sample @sample %%EXAMPLESDIR%%/newsyslog.sample etc/newsyslog.conf.d/nut.conf +@sample %%EXAMPLESDIR%%/nut_upslog.sample @sample %%EXAMPLESDIR%%/syslog.sample etc/syslog.d/nut %%USB%%etc/devd/nut-usb.conf bin/nut-scanner diff --git a/sysutils/nut/Makefile b/sysutils/nut/Makefile index e388164c19b60..4d5bacca82dbb 100644 --- a/sysutils/nut/Makefile +++ b/sysutils/nut/Makefile @@ -1,6 +1,6 @@ PORTNAME= nut PORTVERSION= 2.8.0 -PORTREVISION= 7 +PORTREVISION= 8 CATEGORIES= sysutils MASTER_SITES= http://www.networkupstools.org/source/${PORTVERSION:R}/ @@ -142,6 +142,7 @@ post-install: @${MKDIR} ${STAGEDIR}${EXAMPLESDIR} ${INSTALL_DATA} ${PATCHDIR}/nut.syslog ${STAGEDIR}${EXAMPLESDIR}/syslog.sample ${INSTALL_DATA} ${PATCHDIR}/nut.newsyslog ${STAGEDIR}${EXAMPLESDIR}/newsyslog.sample + ${INSTALL_DATA} ${PATCHDIR}/nut_upslog.sample ${STAGEDIR}${EXAMPLESDIR}/nut_upslog.sample ${MKDIR} ${STAGEDIR}/var/log/nut @${RM} ${STAGEDIR}${PREFIX}/etc/nut/solaris-init/nut @${RMDIR} ${STAGEDIR}${PREFIX}/etc/nut/solaris-init diff --git a/sysutils/nut/files/nut_upslog.sample b/sysutils/nut/files/nut_upslog.sample new file mode 100644 index 0000000000000..126a47a70d3a7 --- /dev/null +++ b/sysutils/nut/files/nut_upslog.sample @@ -0,0 +1,52 @@ +#!/bin/sh + +# Authored by vvd@unislabs.com. + +# PROVIDE: nut_upslog +# REQUIRE: NETWORKING nut +# BEFORE: LOGIN +# KEYWORD: shutdown + +. /etc/rc.subr + +case $0 in +/etc/rc*) + # during boot (shutdown) $0 is /etc/rc (/etc/rc.shutdown), + # so get the name of the script from $_file + name=$_file + ;; +*) + name=$0 + ;; +esac + +name=${name##*/} +rcvar=${name}_enable + +load_rc_config "${name}" + +# Define these nut_upslog* variables in one of these files: +# /etc/rc.conf +# /etc/rc.conf.local +# /etc/rc.conf.d/nut_upslog +# +# If you want to log several different UPSes: +# ln -s nut_upslog /usr/local/etc/rc.d/NAME +# then set variables NAME_enable, NAME_ups, NAME_pidbase, NAME_logfile and etc. +# +# DO NOT CHANGE THESE DEFAULT VALUES HERE +# +eval "${rcvar}=\${${rcvar}:-'NO'}" +eval "_prefix=\${${name}_prefix:-'/usr/local'}" +eval "_logfile=\${${name}_logfile:-'/var/log/nut/ups.log'}" +eval "_interval=\${${name}_interval:-'300'}" +eval "_ups=\${${name}_ups:-'myups@localhost'}" +eval "_pidbase=\${${name}_pidbase:-'upslog'}" +eval "_format=\${${name}_format:+-f \${${name}_format}}" +eval "${name}_flags=\${${name}_flags:-'-s ${_ups} -l ${_logfile} -i ${_interval} -p ${_pidbase} ${_format}'}" + +required_dirs="%%STATEDIR%%" +pidfile="%%STATEDIR%%/${_pidbase}.pid" +command="${_prefix}/bin/upslog" + +run_rc_command "$1" diff --git a/sysutils/nut/pkg-plist b/sysutils/nut/pkg-plist index 51fabcb8782c4..d8fbf6fc4567f 100644 --- a/sysutils/nut/pkg-plist +++ b/sysutils/nut/pkg-plist @@ -18,6 +18,7 @@ @sample %%ETCDIR%%/upsmon.conf.sample @sample %%ETCDIR%%/upssched.conf.sample @sample %%EXAMPLESDIR%%/newsyslog.sample etc/newsyslog.conf.d/nut.conf +@sample %%EXAMPLESDIR%%/nut_upslog.sample @sample %%EXAMPLESDIR%%/syslog.sample etc/syslog.d/nut %%USB%%etc/devd/nut-usb.conf bin/nut-scanner