Excellent - this means we can finally get rid of libusb-compat. Yay. :-) Reviewed-by: Peter Müller > - 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 > --- > config/rootfiles/packages/nut | 36 +++++++++++++++++++++-------------- > lfs/nut | 18 ++++++++++++------ > 2 files changed, 34 insertions(+), 20 deletions(-) > > diff --git a/config/rootfiles/packages/nut b/config/rootfiles/packages/nut > index b01381d74..3bf9d03a9 100644 > --- a/config/rootfiles/packages/nut > +++ b/config/rootfiles/packages/nut > @@ -5,6 +5,7 @@ etc/nut/upsd.conf.sample > etc/nut/upsd.users.sample > etc/nut/upsmon.conf.sample > etc/nut/upssched.conf.sample > +etc/rc.d/init.d/nut > etc/udev/rules.d/62-nut-usbups.rules > usr/bin/al175 > usr/bin/apcsmart > @@ -36,10 +37,11 @@ usr/bin/metasys > usr/bin/mge-shut > usr/bin/mge-utalk > usr/bin/microdowell > +usr/bin/microsol-apc > usr/bin/nut-scanner > usr/bin/nutdrv_atcl_usb > usr/bin/nutdrv_qx > -usr/bin/oldmge-shut > +usr/bin/nutdrv_siemens-sitop > usr/bin/oneac > usr/bin/optiups > usr/bin/powercom > @@ -63,21 +65,22 @@ usr/bin/upsrw > usr/bin/upssched-cmd > usr/bin/usbhid-ups > usr/bin/victronups > -#usr/lib/libnutclient.a > #usr/lib/libnutclient.la > -usr/lib/libnutclient.so > -usr/lib/libnutclient.so.0 > -usr/lib/libnutclient.so.0.0.0 > -#usr/lib/libnutscan.a > +#usr/lib/libnutclient.so > +usr/lib/libnutclient.so.2 > +usr/lib/libnutclient.so.2.0.0 > +#usr/lib/libnutclientstub.la > +#usr/lib/libnutclientstub.so > +usr/lib/libnutclientstub.so.1 > +usr/lib/libnutclientstub.so.1.0.0 > #usr/lib/libnutscan.la > -usr/lib/libnutscan.so > -usr/lib/libnutscan.so.1 > -usr/lib/libnutscan.so.1.0.0 > -#usr/lib/libupsclient.a > +#usr/lib/libnutscan.so > +usr/lib/libnutscan.so.2 > +usr/lib/libnutscan.so.2.0.0 > #usr/lib/libupsclient.la > -usr/lib/libupsclient.so > -usr/lib/libupsclient.so.4 > -usr/lib/libupsclient.so.4.0.0 > +#usr/lib/libupsclient.so > +usr/lib/libupsclient.so.6 > +usr/lib/libupsclient.so.6.0.0 > usr/sbin/upsd > usr/sbin/upsdrvctl > usr/sbin/upsmon > @@ -119,10 +122,13 @@ usr/share/driver.list > #usr/share/man/man8/mge-shut.8 > #usr/share/man/man8/mge-utalk.8 > #usr/share/man/man8/microdowell.8 > +#usr/share/man/man8/microsol-apc.8 > +#usr/share/man/man8/nut-driver-enumerator.8 > #usr/share/man/man8/nut-recorder.8 > #usr/share/man/man8/nut-scanner.8 > #usr/share/man/man8/nutdrv_atcl_usb.8 > #usr/share/man/man8/nutdrv_qx.8 > +#usr/share/man/man8/nutdrv_siemens_sitop.8 > #usr/share/man/man8/nutupsdrv.8 > #usr/share/man/man8/oneac.8 > #usr/share/man/man8/optiups.8 > @@ -143,12 +149,14 @@ usr/share/driver.list > #usr/share/man/man8/upscode2.8 > #usr/share/man/man8/upsd.8 > #usr/share/man/man8/upsdrvctl.8 > +#usr/share/man/man8/upsdrvsvcctl.8 > #usr/share/man/man8/upslog.8 > #usr/share/man/man8/upsmon.8 > #usr/share/man/man8/upsrw.8 > #usr/share/man/man8/upssched.8 > #usr/share/man/man8/usbhid-ups.8 > #usr/share/man/man8/victronups.8 > +#usr/share/solaris-init > +#usr/share/solaris-init/nut > var/ipfire/backup/addons/includes/nut > var/state/ups > -etc/rc.d/init.d/nut > diff --git a/lfs/nut b/lfs/nut > index cd0af7ec5..619918b5b 100644 > --- a/lfs/nut > +++ b/lfs/nut > @@ -26,7 +26,7 @@ include Config > > SUMMARY = Network UPS Tools Core (Uninterruptible Power Supply Monitoring) > > -VER = 2.7.4 > +VER = 2.8.0 > > 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 = 7 > +PAK_VER = 8 > > DEPS = > > @@ -50,7 +50,7 @@ objects = $(DL_FILE) > > $(DL_FILE) = $(DL_FROM)/$(DL_FILE) > > -$(DL_FILE)_BLAKE2 = 367c687efd739150898a14c700d5fddbe22bf926522923e1842011ec49b67d6638620500c4eda50291feb474cc6eef39fff63764cb3e0fad5898abee981f8308 > +$(DL_FILE)_BLAKE2 = 6ad87e9c90920d45846d9c1311e8feeb3c36bfa506d62d938940c00d2fc7f7b30632d079a8ee969db624824ae4fd3e14e41e8acd1eda296e26a3aa340f186b94 > > install : $(TARGET) > > @@ -84,9 +84,15 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) > @$(PREBUILD) > @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) > $(UPDATE_AUTOMAKE) > - cd $(DIR_APP) && ./configure --prefix=/usr --sysconfdir=/etc/nut \ > - --with-usb --with-user=root --with-group=nut \ > - --with-wrap=no --with-udev-dir=/etc/udev > + cd $(DIR_APP) && ./configure \ > + --prefix=/usr \ > + --sysconfdir=/etc/nut \ > + --with-usb \ > + --with-user=root \ > + --with-group=nut \ > + --with-wrap=no \ > + --with-udev-dir=/etc/udev \ > + --disable-static > cd $(DIR_APP) && make #$(MAKETUNING) > cd $(DIR_APP) && make install > # sed -i -e "s|ATTR{|SYSFS{|g" /etc/udev/rules.d/52-nut-usbups.rules