From: "Peter Müller" <peter.mueller@ipfire.org>
To: development@lists.ipfire.org
Subject: Re: [PATCH] nut: Update to version 2.8.0
Date: Thu, 05 May 2022 16:43:45 +0000 [thread overview]
Message-ID: <e37d8d1b-173e-e965-bdeb-15146526a9f3@ipfire.org> (raw)
In-Reply-To: <20220505163953.2381526-1-adolf.belka@ipfire.org>
[-- Attachment #1: Type: text/plain, Size: 11573 bytes --]
Excellent - this means we can finally get rid of libusb-compat. Yay. :-)
Reviewed-by: Peter Müller <peter.mueller(a)ipfire.org>
> - 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(a)ipfire.org>
> ---
> 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
prev parent reply other threads:[~2022-05-05 16:43 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-05 16:39 Adolf Belka
2022-05-05 16:43 ` Peter Müller [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=e37d8d1b-173e-e965-bdeb-15146526a9f3@ipfire.org \
--to=peter.mueller@ipfire.org \
--cc=development@lists.ipfire.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox