public inbox for development@lists.ipfire.org
 help / color / mirror / Atom feed
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

      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