Path to this page:
Subject: CVS commit: pkgsrc/sysutils
From: Greg Troxel
Date: 2023-11-09 17:41:16
Message id: 20231109164116.8D55DFA2F@cvs.NetBSD.org
Log Message:
sysutils/ups-nut: Update to 2.8.1
Upstream NEWS, less bugfixes, minor improvements, and developer-facing
changes:
Release notes for NUT 2.8.1 - what's new since 2.8.0
----------------------------------------------------
https://github.com/networkupstools/nut/milestone/8
- "UPS management protocol", Informational RFC 9271 published
by IETF at https://www.rfc-editor.org/info/rfc9271 and the
IANA port number registry was updated accordingly at
\
https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml?search=3493
(even though this RFC is not formally an Internet Standard)
- NUT documentation files were rearranged, renaming some to `*.adoc` pattern
to facilitate automatic rendering in GitHub and IDE GUIs, and adding recipe
support for GitHub issue/PR links. This `NEWS` file is now proper asciidoc
rendered into `release-notes.pdf` (and HTML versions). [issue #1953, PR #2048]
Internally, the documents would use a new way to define cross-linking to
other pages and their chapters, to facilitate different renderers (including
GitHub UI), and file names created for "chunked HTML" documentation \
format
will no longer have the "chapter number, section number" format which is
not easy to maintain over time with independent builds of documentation
in NUT and the actual and historic snapshots for nut-website for example.
Chapter/Section names will be adapted to produce "chunked HTML" \
file names
instead. Documentation links rendered in GitHub UI should point to the HTML
pages served by a current iteration of the NUT website. [PR #226, PR #669]
- State tree structure and methods (including "dstate" wrapper for common
driver internals) was enhanced with time-stamping of last modification
(setting, changing, deleting the value or some fields in an entry):
this allows to detect stale information in a centralized fashion [#2010]
- nutdrv_qx updates:
* a `battery_voltage_reports_one_pack` driver option was added for devices
which "natively" report a `battery.voltage` for a single battery \
pack or
cell, not for the whole assembly [#1279]
- usbhid-ups updates:
* added support for `subdriver` configuration option, to select the
USB HID subdriver for the device manually where automatic match
does not suffice (e.g. new devices for which no `vendorid`/`productid`
pair was built into any driver, or for different-capability devices
with same interface chips, notably "phoenixtec/liebert" and \
"mge") [#1369]
* added `onlinedischarge_calibration` option for UPSes that report
`OL+DISCHRG` when they are in calibration mode [#2104]
- apc_modbus driver was introduced, to cover the feature gap between existing
NUT drivers for APC hardware and the actual USB-connected devices (or their
firmwares) released since roughly 2010, which deprecated standard USB HID
support in favor of Modbus-based protocol which is used across the board
(also with their network management cards). The new driver can monitor APC
UPS devices over TCP and Serial connections, as well as USB with a patched
libmodbus (check https://github.com/EchterAgo/libmodbus/commits/rtu_usb
for now, PR pending). [#139, #2063]
* For a decade until this driver got introduced, people were advised to
use apcupsd project as the actual program which talks to a device, and
NUT apcupsd-ups driver to relay information back and forth. This was a
limited solution due to lack of command and variable setting support,
as well as relaying of just some readings (just whatever apcupsd exposes,
further constrained by what our driver knows to re-translate), with
little leverage for NUT to tap into everything the device has to offer.
There were also issues on some systems due to packaging (e.g. marking
NUT and apcupsd as competing implementations of the same features) which
required clumsy workarounds to get both installed and running. Finally,
there is a small matter of long-term viability of that approach: last
commits to apcupsd sources were in 2017 (with last release 3.14.14 in
May 2016): https://sourceforge.net/p/apcupsd/svn/HEAD/tree/
- The `upsd` configured to listen on IPv6 addresses should handle only
IPv6 (and not IPv4-mappings) to avoid surprises and insecurity; it
will now warn if a host name resolves to several addresses (and will only
listen on the first hit, as before in such cases) [#2012]
- A definitive behavior for `LISTEN *` directives became specified, to try
handling both IPv4 and IPv6 "any" address (subject to `upsd` CLI options
to only choose one, and to OS abilities). When both address families are
enabled, the `upsd` data server will first try to open an IPv6 socket
asking for disabled IPv4-mapped IPv6 address support (if the OS honors
that), and then an IPv4 socket (which may fail if the IPv6 socket already
covers it anyway); in other words, you can end up with one or two separate
listening sockets. [#2012]
- Numerous daemons (`upsd`, `upsmon`, drivers, `upsdrvctl`, `upssched`)
which accepted `-D` option for debug setting previously, now can also
honour a `NUT_DEBUG_LEVEL=NUM` environment variable if no `-D` arguments
were provided. Unlike those arguments, the environment variable does
not enforce that daemons run in foreground mode by default [#1915]
* Note that unlike some other NUT daemons, `upssched` with enabled
debug does not stop reporting on `stderr`! [#1965]
Files: