From patchwork Wed May 29 19:03:13 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adolf Belka X-Patchwork-Id: 7832 Return-Path: Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384 client-signature ECDSA (secp384r1) client-digest SHA384) (Client CN "mail01.haj.ipfire.org", Issuer "R3" (verified OK)) by web04.haj.ipfire.org (Postfix) with ESMTPS id 4VqJgg5cWNz3wxG for ; Wed, 29 May 2024 19:03:27 +0000 (UTC) Received: from mail02.haj.ipfire.org (mail02.haj.ipfire.org [172.28.1.201]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384 client-signature ECDSA (secp384r1) client-digest SHA384) (Client CN "mail02.haj.ipfire.org", Issuer "R3" (verified OK)) by mail01.ipfire.org (Postfix) with ESMTPS id 4VqJgY0XHcz3g5; Wed, 29 May 2024 19:03:21 +0000 (UTC) Received: from mail02.haj.ipfire.org (localhost [127.0.0.1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4VqJgW6rw5z33CP; Wed, 29 May 2024 19:03:19 +0000 (UTC) Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384 client-signature ECDSA (secp384r1) client-digest SHA384) (Client CN "mail01.haj.ipfire.org", Issuer "R3" (verified OK)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4VqJgV2rpsz2xGc for ; Wed, 29 May 2024 19:03:18 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by mail01.ipfire.org (Postfix) with ESMTPSA id 4VqJgS64M8z15N; Wed, 29 May 2024 19:03:16 +0000 (UTC) DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003ed25519; t=1717009396; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=aR4/di9is7kwK+wh0PAjMTgOzSyap1AILqa806mj+jM=; b=bSWJUPx32DrlW9l+ZPcPoxUW2NIEz0vPdYn5vbpA0SlCE+T3AMvq3sLR1YLiC/Cp0FjSq1 9pZbEuJdvlZjyPDQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003rsa; t=1717009396; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=aR4/di9is7kwK+wh0PAjMTgOzSyap1AILqa806mj+jM=; b=gt+HJmI4QMxJdn5O8zGBD382JVOE1B8HfPrJy5f7QvuclCx5AwujAntFgHWfnCfR0TkzLQ JJk/ypmZeyACDvfSxDng0QHgD+Mhc7pVyqSc3QPyoFcjcLF/QgfL/1uo93oOz8UPA7L891 ZItDbQfYC0sNaQPeRJwfdmnK2/6tLFYPXiWSHg1hSdGAIPByoLsmQAg6Tvs/uGsVT/m000 g9pUkGDK0h8utQjkIsTuoQYrybcqqmTnrWdVvlbm6F9LBqL+uN0sDEPHn07oQyU8AL8POc ei6V/mQs0q8e3veRYhi5R5L3kOpXz8c8iBqr3tfo5lXFDXAlMiYFNqh7eL0NUQ== From: Adolf Belka To: development@lists.ipfire.org Subject: [PATCH] nut: Update to version 2.8.2 Date: Wed, 29 May 2024 21:03:13 +0200 Message-ID: <20240529190313.222925-1-adolf.belka@ipfire.org> MIME-Version: 1.0 Message-ID-Hash: RRX4GALUFQP7YCE2N37337NKAZHDQODE X-Message-ID-Hash: RRX4GALUFQP7YCE2N37337NKAZHDQODE X-MailFrom: adolf.belka@ipfire.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.8 Precedence: list List-Id: IPFire development talk Archived-At: <> List-Archive: <> List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: - 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 --- config/rootfiles/packages/nut | 3 ++- lfs/nut | 8 ++++---- 2 files changed, 6 insertions(+), 5 deletions(-) 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 # +# Copyright (C) 2007-2024 IPFire Team # # # # 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)