nut: Update to version 2.8.2

Message ID 20240529190313.222925-1-adolf.belka@ipfire.org
State Staged
Commit 98278fef4c3321387c1673bddaa652fb0adb922d
Headers
Series nut: Update to version 2.8.2 |

Commit Message

Adolf Belka May 29, 2024, 7:03 p.m. UTC
  - Update from version 2.8.1 to 2.8.2
- Update of rootfile
- Changelog
    2.8.2
	 - Fix fallout of development in NUT v2.8.0 and/or v2.8.1:
	   * dstate machinery: a segmentation fault (null pointer dereference) was
	     possible with `INSTCMD` processing of commands without parameters nor
	     `TRACKING` identifier. [#2155]
	   * USB bus number detection for libusb-1.0 builds was overly zealous and
	     wrongly considered zero values as an error. [#2198]
	   * `upsmon` recognition of `CAL` state could linger after the calibration
	     activity was completed by the hardware, which led to mis-processing of
	     shutdown triggers. Also, notification was added to report "finished
	     calibration". [issue #2168, PR #2169]
	   * `upsmon` recognition of `OFF` state as a trigger for FSD (forced shut
	     down) criticality considered also the input line state, which may be
	     an independently evolving circumstance. [issue #2278, PR #2279]
	   * `upsmon` support for `POLLFAIL_LOG_THROTTLE_MAX` did not neuter the
	     applied setting when live-reloading configuration, so commenting it
	     away in `upsmon.conf` did not have the effect of resetting the logging
	     frequency to default. It also did not reset the counters to certainly
	     follow the new configuration for existing faults. [issue #2207, PR #2209]
	   * `upsmon` support for `POLLFAIL_LOG_THROTTLE_MAX` had an off-by-one error
	     (e.g. reporting "Data stale" or "Driver not connected" every 30 sec with
	     `POLLFAIL_LOG_THROTTLE_MAX 5` and `POLLFREQ 5` settings). [#2207]
	   * Drivers running with non-default user account (e.g. with `user=root`
	     in their configuration) failed to apply group ownership and permissions
	     to their Unix socket file for interaction with the local data server.
	     [#2185, #2096]
	   * Dispatcher script `scripts/python/app/NUT-Monitor` referenced `py3qt3`
	     instead of the correct `py3qt5`. It also tries to check both `py2gtk2`
	     and `py3qt5` implementations verbosely, even if one is not installed.
	     [#2199, #2201]
	   * Set the `DesktopFileName` in `scripts/python/app/NUT-Monitor-py3qt5`,
	     this binds the application with the desktop file and allow the Open
	     Desktop compatible implementation to display the proper icon and
	     application name. [#2205]
	   * Original recipe for `apc_modbus` strictly required USB support even if
	     building NUT without it. [#2262]
	   * Builds requested with a specific C/C++ language standard revision via
	     `CFLAGS` and `CXXFLAGS` should again be honoured. [PR #2306]
	   * Allow requesting detailed debug builds (with disabled optimizations for
	     binaries to best match the source code) for supported compilers using
	     `configure` script option `--with-debuginfo`. Note that default autoconf
	     behavior usually embeds moderate optimizations and debug information on
	     its own. [PR #2310]
	   * A fix applied among clean-ups between NUT v2.7.4 and v2.8.0 releases
	     backfired for `usbhid-ups` subdriver `belkin-hid` which in practice
	     relied on the broken older behavior; more details in its entry below.
	     [PR #2371]
	 - nut-usbinfo.pl, nut-scanner and libnutscan:
	   * Library API version for `libnutscan` was bumped from 2.2.0 to 2.5.0
	     during evolution of this NUT release.
	   * USB VendorID:ProductID support list files generated by the script for
	     different OS frameworks now include a comment with other possibly
	     compatible driver names, where the respective file format allows for
	     comments.
	   * Added the concept of `alt_driver_names` in `nutscan_device_t` structure
	     for ability to suggest a comment with other possibly compatible driver
	     names in configuration snippets generated by `nut-scanner`; practical
	     support implemented for USB connected drivers.
	   * Added the concept of commented-away suggested option values `comment_tag`
	     and a method to `nutscan_add_commented_option_to_device()`, instead of
	     hacks in prepared config data which broke some use-cases. [#2221]
	   * Command-line option `-U` for USB scan can now be specified several times
	     to increase the detail level about hardware link to the device (this was
	     previously always suggested, but may be not reliable if USB enumeration
	     gets changed over time). [#2221]
	   * Added generation of FreeBSD/pfSense quirks for USB devices supported
	     by NUT (may get installed to `$datadir` e.g. `/usr/local/share/nut`
	     and need to be pasted into your `/boot/loader.conf.local`). [#2159]
	   * nut-scanner now avoids creating ambiguous `nutdevN` device section names
	     when called separately to scan different media buses (one at a time).
	     Now the "bus" name would be embedded (e.g. non-colliding `nutdev-usb1`
	     and `nutdev-snmp1`). [#2247]
	   * nut-scanner can now discover NUT simulated devices (`.dev` and `.seq`
	     files) located in your sysconfig directory, and prepare configuration
	     sections with the simulation driver (currently `dummy-ups`). [#2246]
	   * nut-scanner now reports `dummy-ups` as driver when scanning NUT "bus"
	     with Old or Avahi method. [#2236, #2245]
	 - upsd: Fixed conditions for "no listening interface available" diagnosis
	   to check how many listeners we succeeded with, not whether the first one
	   succeeded or not. If not all requested (non-localhost) listeners were
	   available, default to fail the daemon start-up attempt; support for an
	   `ALLOW_NOT_ALL_LISTENERS` setting was added to control this behavior. [#723]
	 - NUT CI improvements:
	   * Added publishing recipes for PyNUT client bindings for NUT, so it ends
	     up in the link:https://pypi.org/project/PyNUTClient[PyPI repository].
	     [#2158]
	   * Added support for new `ccache` namespace concept, where possible. [#2256]
	   * Fixed an issue for builds configured `--without-usb`. [#2263]
	   * Added a fallback for `libgd` discovery (for CGI etc. builds). [#2287]
	   * Made `aspell` TeX module detection more reliable. [#2206]
	   * Fixed recipes for completely out-of-tree builds to pass with documentation
	     generation and checking on all tested "make" implementations. [#2318]
	   * Various other recipe and documentation clean-up efforts. [#2284, #2269,
	     #2261]
	 - main driver core codebase:
	   * Help users of drivers that can be built to support optionally USB and
	     other media (like `nutdrv_qx` built for serial-only support), and built
	     in fact without USB support but used for USB devices, with some more
	     information to make troubleshooting easier. [issue #2259, PR #2260]
	   * Driver programs with debug tracing support via `-D` CLI option and/or
	     the `NUT_DEBUG_LEVEL` environment variable now check those earlier in
	     their life-time, so that initialization routine can be debugged. [#2259]
	   * Multiple USB-capable drivers got options to customize `usb_config_index`
	     `usb_hid_rep_index`, `usb_hid_desc_index`, `usb_hid_ep_in` and
	     `usb_hid_ep_out` hardware connection settings via `ups.conf` options.
	     This is treated as experimental, not all code paths may be actually
	     using such values from `struct usb_communication_subdriver_t` rather
	     than hard-coded defaults. Discovery of correct values is up to the
	     user at the moment (using `lsusb`, internet search, luck...) [#2149]
	 - nut-driver-enumerator (NDE) service/script:
	   * The optional daemon mode (primarily useful for systems which monitor
	     a large and dynamic population of power devices) was enhanced with a
	     `--daemon-after` variant which parses the configuration once before
	     daemonization and this has a chance to fail while not forked off, as
	     well as to allow only completing the service unit initialization when
	     everything is actually ready to work (so further dependencies can start
	     at the proper time). [#682]
	   * Also applied other optimizations to the script implementation. [#682]
	 - powerpanel text driver now handles status responses in any format and should
	   support most devices. [#2156]
	 - tripplite_usb driver now allows any device to match if a particular Unit ID
	   was not specified in `ups.conf`. [PR #2297, issues #2282 and #2258]
	 - snmp-ups driver:
	   * added support for Eaton EMP002 sensor for ATS16 NM2 sub-driver. [#2286]
	   * mapping table updates for apc-mib sub-driver. [#2264]
	 - usbhid-ups driver:
	   * `arduino-hid` subdriver was enhanced from "initial bare bones" experimental
	     set of mapped data points to support some 20 more mappings to make it more
	     useful as an UPS driver, not just a controller developer sandbox. [#2188]
	   * `cps-hid` subdriver now supports devices branded as Cyber Energy and built
	     by cooperation with Cyber Power Systems. [#2312]
	   * `belkin-hid` subdriver now supports Liebert PSI5 devices which have a
	     different numeric reading scale than earlier handled models. [issue #2271,
	     PR #2272, PR #2369] Generally the wrong-scale processing was addressed,
	     including a regression in NUT v2.8.0 which led to zero values
	     in voltage data points which NUT v2.7.4 reported well [#2371]
	   * The `onlinedischarge` configuration flag name was too ambiguous and got
	     deprecated (will be supported but no longer promoted by documentation),
	     introducing `onlinedischarge_onbattery` as the meaningful alias. [#2213]
	   * Logged notifications about `OL+DISCHRG` state should now be throttled
	     (see the driver manual page for more details) [#2214, #2215]:
	     - If `battery.charge` is available, make the message when entering the
	       state and then only if the charge differs from that when we posted
	       the earlier message (e.g. really discharging) and is under
	       `onlinedischarge_log_throttle_hovercharge` value (defaults to 100%);
	     - Also can throttle to a time frequency configurable by a new option
	       `onlinedischarge_log_throttle_sec`, by default 30 sec if `battery.charge`
	       is not reported by the device (should be frequent by default, in case
	       the UPS-reported state combination does reflect a bad power condition).
	 - nutdrv_qx driver:
	   * Fixed handling of `battery_voltage_reports_one_pack` configuration flag
	     introduced in NUT v2.8.1. [originally by PR #1279; fixed by PR #2324,
	     issue #2325]
	 - Various code and documentation fixes for NSS crypto support. [#2274, #2268]
	 - Laid foundations for the SmartNUT effort (aiming to integrate drivers with
	   some other backends than the networked NUT data server process).
	 - Eaton contributed recipes and scripts used to create the IPP for Unix
	   bundle (aka Eaton IPSS Unix or UPP), a freely available value-added
	   packaging of NUT distributed as the UPS software companion for OSes
	   where their more complex UPS monitoring/management tools had not been
	   ported. This allows for delivery of NUT packages with an interactive
	   installer and some system integration scripts (events, notifications,
	   status, shutdown daemon...), and was contributed to the NUT upstream
	   project by Eaton -- provided "as is" at the moment, and may later serve
	   as foundation or inspiration for new NUT features. [#2288]
	 - nutconf (C++ library and tool to read and manage NUT configuration files)
	   was started in the open by Eaton employees and used in the IPP installer,
	   but the code lingered in a side branch. It was now brushed up to our common
	   best practices and added to the main codebase. As of this import, there are
	   known deficiencies in Windows platform support, as well as some un-awareness
	   about configuration key words which appeared in NUT since 2013. [#2290]
	 - The `tools/gitlog2changelog.py.in` script was revised, in particular to
	   convert section titles (with contributor names coming from Git metadata)
	   into plain ASCII character set, for `dblatex` versions which do not allow
	   diacritics and other kinds of non-trivial characters in sections. This can
	   cause successful builds of `ChangeLog.pdf` file on more platforms, but at
	   expense of a semi-cosmetic difference in those names. [PR #2360, PR #2366]

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 config/rootfiles/packages/nut | 3 ++-
 lfs/nut                       | 8 ++++----
 2 files changed, 6 insertions(+), 5 deletions(-)
  

Patch

diff --git a/config/rootfiles/packages/nut b/config/rootfiles/packages/nut
index 1acab9d51..4d1d17887 100644
--- a/config/rootfiles/packages/nut
+++ b/config/rootfiles/packages/nut
@@ -39,6 +39,7 @@  usr/bin/mge-utalk
 usr/bin/microdowell
 usr/bin/microsol-apc
 usr/bin/nut-scanner
+usr/bin/nutconf
 usr/bin/nutdrv_atcl_usb
 usr/bin/nutdrv_qx
 usr/bin/nutdrv_siemens-sitop
@@ -77,7 +78,7 @@  usr/lib/libnutclientstub.so.1.0.1
 #usr/lib/libnutscan.la
 #usr/lib/libnutscan.so
 usr/lib/libnutscan.so.2
-usr/lib/libnutscan.so.2.0.2
+usr/lib/libnutscan.so.2.0.5
 #usr/lib/libupsclient.la
 #usr/lib/libupsclient.so
 usr/lib/libupsclient.so.6
diff --git a/lfs/nut b/lfs/nut
index ea133b620..732211628 100644
--- a/lfs/nut
+++ b/lfs/nut
@@ -1,7 +1,7 @@ 
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2023  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2024  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -26,7 +26,7 @@  include Config
 
 SUMMARY    = Network UPS Tools Core (Uninterruptible Power Supply Monitoring)
 
-VER        = 2.8.1
+VER        = 2.8.2
 
 THISAPP    = nut-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -34,7 +34,7 @@  DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = nut
-PAK_VER    = 11
+PAK_VER    = 12
 
 DEPS       =
 
@@ -50,7 +50,7 @@  objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_BLAKE2 = 370a1759beec6eaae6479b5174762b2bc600ca07543aad531cf74e179d8e000b4b3a8dd111c7556eb4fb545ebf8baee24fbb75f6235d03cefe239ba08f042ea5
+$(DL_FILE)_BLAKE2 = 87187293d8acda72c2d807d6f41f2601a318540f63a0ea93782b115402c6b43a0b61ecc710fd6de126d25e59dd4e03681f2b859a87549e9d5f7617ac7b2dad8c
 
 install : $(TARGET)