From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter =?utf-8?q?M=C3=BCller?= To: development@lists.ipfire.org Subject: Re: [PATCH] nut: Update to version 2.8.0 Date: Thu, 05 May 2022 16:43:45 +0000 Message-ID: In-Reply-To: <20220505163953.2381526-1-adolf.belka@ipfire.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============4853235086647604918==" List-Id: --===============4853235086647604918== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Excellent - this means we can finally get rid of libusb-compat. Yay. :-) Reviewed-by: Peter M=C3=BCller > - 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 t= hat 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 prou= d to announce > at last the general availability of NUT v2.8.0! > As always, the new release includes numerous new drivers, sub-drivers, pro= tocols > and bug-fixes, with many companies and individuals chipping in wit= h contributions > of code.Thanks to everyone involved in making this happen, inspiri= ng the changes, > and providing the open-source friendly infrastructure. > This release also culminates a significant effort in improvements of NUT Q= A 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, h= ence 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 ev= olving > codebase. There are now special Sub-sites for historic releases to= keep > documentation snapshots relevant for users of packages which are t= ypically based > on official NUT releases. > We recognize that NUT is an important piece of infrastructure which gets b= uilt > 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 c= overing 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 d= riven 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 impor= tant > highlights for distribution packagers and custom builders follow, = however: > NUT now supports more i2c and modbus devices, as well as libusb-1.0 su= pport > as an alternative to earlier libusb-0.1 (so new dependency-bas= ed 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 re= leases as > well as new ones (and so your distro can deliver one or both, = probably in > several packages with different dependencies in the latter cas= e); > NUT provides revised reference systemd and SMF service unit definition= s, > including support of drivers wrapped into individual service i= nstances with > varying dependencies based on different media required (networ= ked 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 fra= mework - you > may want to use those in your packaged deliverables; > NUT newly provides the "nut-driver-enumerator" script and service, whi= ch > allows it to follow edition of ups.conf and dynamically define= +(re)start and > stop+undefine service instances for drivers - there are severa= l ways it can > be integrated for different use-cases; > There are several new configuration keywords and CLI options - so whil= e new > NUT builds should work with old configs and scripts, the oppos= ite is not > necessarily true (old binaries may reject configurations takin= g 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 fil= ename > 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 d= ata > reported from devices, and some devices were already found to = make mistakes > - so there is also a mechanism for turning a blind eye to know= n 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 buil= d as much of > NUT as possible (incidentally, ones NUT CI farm uses to test e= very 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 sourc= es on any > systems, for troubleshooting and checking pre-release enhancem= ents): if you > as a packager have to apply patches for your distribution, giv= e it a thought > -- whether they address a common issue best solved upstream on= ce and behave > similarly for everyone (and conversely, if your platform can d= o 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 cr= oss-pollination >=20 > Signed-off-by: Adolf Belka > --- > config/rootfiles/packages/nut | 36 +++++++++++++++++++++-------------- > lfs/nut | 18 ++++++++++++------ > 2 files changed, 34 insertions(+), 20 deletions(-) >=20 > 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 > =20 > SUMMARY =3D Network UPS Tools Core (Uninterruptible Power Supply Monito= ring) > =20 > -VER =3D 2.7.4 > +VER =3D 2.8.0 > =20 > THISAPP =3D nut-$(VER) > DL_FILE =3D $(THISAPP).tar.gz > @@ -34,7 +34,7 @@ DL_FROM =3D $(URL_IPFIRE) > DIR_APP =3D $(DIR_SRC)/$(THISAPP) > TARGET =3D $(DIR_INFO)/$(THISAPP) > PROG =3D nut > -PAK_VER =3D 7 > +PAK_VER =3D 8 > =20 > DEPS =3D > =20 > @@ -50,7 +50,7 @@ objects =3D $(DL_FILE) > =20 > $(DL_FILE) =3D $(DL_FROM)/$(DL_FILE) > =20 > -$(DL_FILE)_BLAKE2 =3D 367c687efd739150898a14c700d5fddbe22bf926522923e18420= 11ec49b67d6638620500c4eda50291feb474cc6eef39fff63764cb3e0fad5898abee981f8308 > +$(DL_FILE)_BLAKE2 =3D 6ad87e9c90920d45846d9c1311e8feeb3c36bfa506d62d938940= c00d2fc7f7b30632d079a8ee969db624824ae4fd3e14e41e8acd1eda296e26a3aa340f186b94 > =20 > install : $(TARGET) > =20 > @@ -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=3D/usr --sysconfdir=3D/etc/nut \ > - --with-usb --with-user=3Droot --with-group=3Dnut \ > - --with-wrap=3Dno --with-udev-dir=3D/etc/udev > + cd $(DIR_APP) && ./configure \ > + --prefix=3D/usr \ > + --sysconfdir=3D/etc/nut \ > + --with-usb \ > + --with-user=3Droot \ > + --with-group=3Dnut \ > + --with-wrap=3Dno \ > + --with-udev-dir=3D/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 --===============4853235086647604918==--