Commit Graph

13 Commits

Author SHA1 Message Date
Adolf Belka
98278fef4c nut: Update to version 2.8.2
- 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>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2024-06-04 15:07:20 +02:00
Adolf Belka
314baa5831 nut: Update to version 2.8.1
- Update from 2.8.0 to 2.8.1
- Update of rootfile
- Disable creating docs i9n configure statement
- Changelog is too large to include here (~500 lines). For more details read the NEWS.adoc
   file in thye source tarball.

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
2023-11-21 19:20:19 +00:00
Adolf Belka
b2f707cb02 nut: Update to version 2.8.0
- Update from version 2.7.4 to 2.8.0
- 2.7.4 was released in 2016 and since then not a lot of progress was made with it but
   since the start of 2022 new work on nut has ocurred culminating in this release
- Update of rootfile
- Ran find-dependencies on the old libraries due to the sobump to confirm that nothing
   else than nut used them, which was the case.
- Changelog
	After a long and windy trip since the last official release v2.7.4 half a dozen
         years ago, we the community, contributors and maintainers are proud to announce
         at last the general availability of NUT v2.8.0!
	As always, the new release includes numerous new drivers, sub-drivers, protocols
         and bug-fixes, with many companies and individuals chipping in with contributions
         of code.Thanks to everyone involved in making this happen, inspiring the changes,
         and providing the open-source friendly infrastructure.
	This release also culminates a significant effort in improvements of NUT QA and
         CI, and as a result -- in codebase quality and portability across a decade or
         two of recent platforms, third-party tools and other dependencies. As a side
         effect, public API (in headers and libraries) has changed a bit, hence a new
         semantic "minor" number is claimed for this major body of work.
	During this time, the https://networkupstools.org/ web site has changed to a
         rolling-release model to serve current information to match the evolving
         codebase. There are now special Sub-sites for historic releases to keep
         documentation snapshots relevant for users of packages which are typically based
         on official NUT releases.
	We recognize that NUT is an important piece of infrastructure which gets built
         into all sorts of devices, projects and operating systems -- some of which the
         team never heard of until they pop up in a question, and others we haven't heard
         of for years -- so we take a seriously omnivorous stance towards covering many
         versions and implementations of compiler suites, C/C++ revisions, make programs,
         shell and other scripted language interpreters, OSes and CPUs, and other similar
         variables tamed with our new NUT CI farm test matrix dynamically driven by
         currently registered build agents and their declared capabilities.
	Sections in the NEWS and UPGRADING files about changes since last release are
         several pages long, so would not all be repeated here. A few important
         highlights for distribution packagers and custom builders follow, however:
	    NUT now supports more i2c and modbus devices, as well as libusb-1.0 support
             as an alternative to earlier libusb-0.1 (so new dependency-based categories
             of packages for drivers may be due);
	    NUT Python modules and scripts (e.g. NUT-Monitor variants) should work with
             python-2.7 and with python-3.x, so covering historic distro releases as
             well as new ones (and so your distro can deliver one or both, probably in
             several packages with different dependencies in the latter case);
	    NUT provides revised reference systemd and SMF service unit definitions,
             including support of drivers wrapped into individual service instances with
             varying dependencies based on different media required (networked stack, USB
             stack, etc.), and many daemons include -F option for running "in foreground"
             to avoid extra forking after one already done by a service framework - you
             may want to use those in your packaged deliverables;
	    NUT newly provides the "nut-driver-enumerator" script and service, which
             allows it to follow edition of ups.conf and dynamically define+(re)start and
             stop+undefine service instances for drivers - there are several ways it can
             be integrated for different use-cases;
	    There are several new configuration keywords and CLI options - so while new
             NUT builds should work with old configs and scripts, the opposite is not
             necessarily true (old binaries may reject configurations taking advantage
             of new features);
	    There are several new protocol keywords - but old and new NUT daemons (data
             server and clients) should be able to communicate both ways;
	    It is assumed that API/ABI changes may require third-party NUT clients
             (library consumers of libnutclient, libupsclient, libnutscan... -- their
             version info was bumped accordingly) to get rebuilt, in order to work with
             the new NUT release in a stable fashion;
	    The dummy-ups driver used in automated testing now processes *.dev filename
             patterns once and does not loop, like it still does for *.seq and other
             files (by default);
	    USB code is now more strict about logical minimum/maximum ranges for data
             reported from devices, and some devices were already found to make mistakes
             - so there is also a mechanism for turning a blind eye to known issues and
             fix-up such report descriptors to produce intended sane values;
	    New documentation page docs/config-prereqs.txt highlights packaged
             dependencies installable on a large range of platforms to build as much of
             NUT as possible (incidentally, ones NUT CI farm uses to test every iteration);
	    Finally, we hope that NUT codebase might be able to cater for everyone "out
             of the box" (it also simplifies local builds from GitHub sources on any
             systems, for troubleshooting and checking pre-release enhancements): if you
             as a packager have to apply patches for your distribution, give it a thought
             -- whether they address a common issue best solved upstream once and behave
             similarly for everyone (and conversely, if your platform can do with
             existing solutions already tracked in the NUT version du-jour). PRs welcome!
             Or at least Wiki entries to list all the distro efforts for cross-pollination

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Reviewed-by: Peter Müller <peter.mueller@ipfire.org>
2022-05-05 16:44:38 +00:00
Paul T. Simmons
239e6d78ac Update: nut to 2.7.4
Signed-off-by: Paul T. Simmons <mbatranch@gmail.com>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-02-06 00:34:58 +00:00
Dirk Wagner
3fe41c0159 nut addon: Update to 2.7.2 2014-05-07 21:37:51 +02:00
Dirk Wagner
38d3bcd5c1 nut: fixed wrong version in filename 2012-02-10 22:23:44 +01:00
Arne Fitzenreiter
aa784b4b03 nut: rootfile update. 2011-12-03 16:27:58 +01:00
Dirk Wagner
1ba2685964 Update to 2.6.2 2011-11-17 15:43:56 +01:00
Arne Fitzenreiter
e5877194d4 Rootfile update: nut. 2010-04-19 16:03:26 +02:00
Dirk Wagner
df2aa8e12a nut: Added status option, some installation fixed 2009-11-09 21:22:19 +01:00
Arne Fitzenreiter
a82e1b0eca Add backup include for nut.
initskripts rootfile update.
2009-10-25 12:16:37 +01:00
Arne Fitzenreiter
4ad79fe6b5 Imported nut changes from glotzi. 2009-10-25 12:07:21 +01:00
Arne Fitzenreiter
ffc22d7264 Added nut (Network Ups Tools). 2009-09-15 23:55:23 +02:00