Re: [Nut-upsdev] NUT v2.8.0(-rc1)

2022-04-01 Thread Jim Klimov via Nut-upsdev
Thank you for the test and report!

  Regarding the changes, I hoped the NEWS and UPGRADING files detail them
extensively enough :)

  Protocol-wise, there were some aliases added, and one notable change was
addition of TRACKING for queries and replies to not mix up, more so with
massive setups of many devices. Servers and clients of different versions
should be compatible both ways though; tested vs 2.7.4 during development.

Jim


On Fri, Apr 1, 2022, 15:40 René Garcia via Nut-upsdev <
nut-upsdev@alioth-lists.debian.net> wrote:

> Hi,
>
> I built successfully package with 2.8.0-rc1 for VMware ESXi (6.7 and 7.0
> tested). Now, this package provides only the client part of NUT (upsc and
> upsmon) and I think that this part of code has few evolutions since 2.7.4
>
> Client has to be able to communicate with NUT servers running older
> versions as customers may not be able to chose server version. I did not
> notice significant network protocol changes in 2.8.0 (no change at all ?)
> and every test I did has ran fine.
>
> Thank you,
> René
>
>
> > Le 1 avr. 2022 à 02:01, Jim Klimov via Nut-upsdev <
> nut-upsdev@alioth-lists.debian.net> a écrit :
> >
> > Hello, fellow NUTs!
> >
> >   It is with a [happy] heart that I must proclaim today, that the long
> reign of NUT v2.7.4 is coming to an end. Its anticipated successor of half
> a dozen years, release-in-waiting NUT v2.7.5 has also quietly expired, and
> [won't] be sorely missed. They were survived by the next name in line, NUT
> v2.8.0(-rc1). Le NUT est mort, long live the NUT!
> >
> >   Along just this leg of the journey, NUT codebase survived at least
> four separate CI farms and technologies to make its builds easier and more
> reliable, all while succeeding on a wide range of CPU and OS platforms,
> ranging from current distros to the dawn of millenium (nearly-immutable
> appliances and sturdy reliable servers matter too!), as well as multiple
> generations and implementations of compiler toolkits, "make" and scripted
> code interpreters involved.
> >
> >   We are grateful to the many freely available projects, services and
> communities who helped us in particular (maybe unwittingly) and the FOSS
> ecosystem in general (intentionally), such as (and not limited to)
> Asciidoc, Autotools and family, BuildBot, CCache, Clang/LLVM, FossHost,
> GCC, GitHub, Google, illumos, Jenkins, LiberaChat, Proxmox, QEMU,
> StackExchange, Travis, ZeroMQ... bits here, swathes there - it would have
> been much harder without the likes of them (and many others).
> >
> >   Advances in compiler code analysis in particular, as is seen on a
> daily basis with CI non-regression builds across the range of 10 major
> releases of clang and 7 of gcc, is immense. At times annoying, yes, but it
> led to a great cleansing of the codebase from questionable code (and indeed
> some potential bugs). And it was possible to do so in a way that all those
> regularly tested systems are satisfied, so the codebase stays clean and
> green and portable as we iterate new contributions, and merged with peace
> of mind many ports and features from long-awaited branches (such as
> libusb-1.0+0.1 support finally), or forks (notably 42ity/nut).
> >
> >   Let me take a moment to tender our special thanks from both the
> maintainer team and countless users of UPS, ePDU, solar panel and similar
> hardware, to numerous personal and corporate contributors of new drivers
> and features or fixes for existing ones, as well as to community members
> who ask and answer questions, and who log github issues with their ideas,
> experiences or grievances.
> >
> >   As always we would welcome people willing to regularly share their
> expertise in certain areas and tools (in particular, thanks @nbriggs for
> solving many practical mysteries around USB bit-stream lately), or
> protocols (more active experts on prolific Qx family would be great for PR
> reviews), or  packaging, service and distro integrations, or HCL/DDL
> maintenance based on reports trickling in... just about anything!
> >
> >   While we have a lot of features queued to complete or port for the
> next releases (hopefully with a healthier cadence), we expect to see more
> feedback by exposing thevrelease, and hope for little fallout from the many
> changes made while cleaning up the warnings.
> >
> >   Handing over to creative packagers now...
> >
> > Jim Klimov,
> > on behalf of the Network UPS Tools Project
> > ___
> > Nut-upsdev mailing list
> > Nut-upsdev@alioth-lists.debian.net
> > https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsdev
>
>
> ___
> Nut-upsdev mailing list
> Nut-upsdev@alioth-lists.debian.net
> https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsdev
>
___
Nut-upsdev mailing list
Nut-upsdev@alioth-lists.debian.net
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsdev

Re: [Nut-upsdev] packaging update to rc1: trip report

2022-04-01 Thread Jim Klimov via Nut-upsdev
Thanks for the update.

I'm currently away from a PC so can't dig into libusb nuances. Cursorily I
remember discussions that FreeBSD at least had a different implementation
or build of libusb, in particular for error handling (-1 or more nuanced
IIRC). Not sure which side NetBSD picked.

As for shells, historically Solaris/illumos had a system shell (at some
point also statically linked and so self-sufficient) as the efficient
standard interpreter and root recovery shell (but not too convenient, no
cruft). Since /usr could and still can be a separate partition, dataset or
an NFS mount, and /bin is nowadays a symlink to usr/bin, the system/root
shell remained separate from interactive one(s) for users - the choice of
which can vary with no impact to init scripts, service methods and other
system tooling. So yes, /sbin/sh is the correct thing :)

Jim

On Fri, Apr 1, 2022, 15:05 Greg Troxel  wrote:

>
> I am taking the tarball I built from rc1 and using it as if released in
> pkgsrc.  The great news is that it only took me about 15 minutes to
> update the package.
>
> I am getting one error:
>
>   => Checking for non-existent script interpreters in ups-nut-2.7.4.1
>   ERROR: [check-interpreter.mk] The interpreter "/sbin/sh" of
> "/tmp/work/sysutils/ups-nut/work/.destdir/usr/pkg/share/nut/solaris-init/nut"
> does not exist.
>
> And I wonder:
>
>   Should the solaris-init file only be installed on Solaris?
>
>   Is /sbin/sh really right?  I've never heard of 1) sh in sbin or 2) a
>   system without /bin/sh as POSIX requires.
>
> I've appended my diff, trimmed to remove pkgsrc stuff not of interest.
>
>   - The PLIST diff is perhaps interesting, showing the files installed
> by 2.7.4.1 and not installed by 2.7.4.
>
>   - It looks like drivers/hidparser.c has been rewritten so that the
> previous BIGENDIAN branch that used "long" when it should perhaps be
> fixed-width is no longer present, and this was fixed in
> 24293b3f6d0cd157ac76f4901e0b6732068b55d4
> and thus it really is  correct for me to just drop the patch.
>
>   - We had a patch to change libusb_strerror to be >=0 instead of >0,
> and I am not entirely sure why or what the correct semantics are.
> Looking at libusb.h (focusing on libusb1), it seems 0 is
> LIBUSB_SUCCESS, which isn't an error.  Is the idea that if you
> called libusb_strerror with 0, that was wrong and hence should be
> logged?  I am not really following the mapping from enum
> libusb_error to this function.  Also the name is confusing as
> strerror indicates a translation from errno to a string, and this
> function takes both and does logging.
>
> And that's it, a wicked short list, as we say in Boston.
>
> I will try to actually run it when I can schedule a maintenance window.
>
>
> Index: PLIST
> ===
> RCS file: /cvsroot/pkgsrc/sysutils/ups-nut/PLIST,v
> retrieving revision 1.28
> diff -u -p -r1.28 PLIST
> --- PLIST   13 Jul 2020 18:50:05 -  1.28
> +++ PLIST   1 Apr 2022 12:26:28 -
> @@ -6,14 +6,18 @@ bin/upsrw
>  bin/upssched-cmd
>  include/nut-scan.h
>  include/nutclient.h
> +include/nutclientmem.h
>  include/nutscan-device.h
>  include/nutscan-init.h
>  include/nutscan-ip.h
> +include/nutscan-serial.h
>  include/parseconf.h
>  include/upsclient.h
>  lib/libnutclient.la
> +lib/libnutclientstub.la
>  lib/libupsclient.la
>  lib/pkgconfig/libnutclient.pc
> +lib/pkgconfig/libnutclientstub.pc
>  lib/pkgconfig/libnutscan.pc
>  lib/pkgconfig/libupsclient.pc
>  libexec/nut/al175
> @@ -44,8 +48,9 @@ libexec/nut/metasys
>  libexec/nut/mge-shut
>  libexec/nut/mge-utalk
>  libexec/nut/microdowell
> +libexec/nut/microsol-apc
>  libexec/nut/nutdrv_qx
> -libexec/nut/oldmge-shut
> +libexec/nut/nutdrv_siemens-sitop
>  libexec/nut/oneac
>  libexec/nut/optiups
>  libexec/nut/powercom
> @@ -120,7 +125,9 @@ man/man3/upscli_init.3
>  man/man3/upscli_list_next.3
>  man/man3/upscli_list_start.3
>  man/man3/upscli_readline.3
> +man/man3/upscli_readline_timeout.3
>  man/man3/upscli_sendline.3
> +man/man3/upscli_sendline_timeout.3
>  man/man3/upscli_splitaddr.3
>  man/man3/upscli_splitname.3
>  man/man3/upscli_ssl.3
> @@ -160,9 +167,12 @@ man/man8/metasys.8
>  man/man8/mge-shut.8
>  man/man8/mge-utalk.8
>  man/man8/microdowell.8
> +man/man8/microsol-apc.8
> +man/man8/nut-driver-enumerator.8
>  man/man8/nut-recorder.8
>  man/man8/nut-scanner.8
>  man/man8/nutdrv_qx.8
> +man/man8/nutdrv_siemens_sitop.8
>  man/man8/nutupsdrv.8
>  man/man8/oneac.8
>  man/man8/optiups.8
> @@ -179,6 +189,7 @@ man/man8/upscmd.8
>  man/man8/upscode2.8
>  man/man8/upsd.8
>  man/man8/upsdrvctl.8
> +man/man8/upsdrvsvcctl.8
>  man/man8/upslog.8
>  man/man8/upsmon.8
>  man/man8/upsrw.8
> @@ -196,6 +207,7 @@ share/doc/nut/NEWS
>  share/doc/nut/README
>  share/doc/nut/UPGRADING
>  share/doc/nut/acknowledgements.txt
> +share/doc/nut/asciidoc.txt
>  share/doc/nut/cables.txt
>  

Re: [Nut-upsdev] NUT v2.8.0(-rc1)

2022-04-01 Thread René Garcia via Nut-upsdev
Hi,

I built successfully package with 2.8.0-rc1 for VMware ESXi (6.7 and 7.0 
tested). Now, this package provides only the client part of NUT (upsc and 
upsmon) and I think that this part of code has few evolutions since 2.7.4

Client has to be able to communicate with NUT servers running older versions as 
customers may not be able to chose server version. I did not notice significant 
network protocol changes in 2.8.0 (no change at all ?) and every test I did has 
ran fine.

Thank you,
René


> Le 1 avr. 2022 à 02:01, Jim Klimov via Nut-upsdev 
>  a écrit :
> 
> Hello, fellow NUTs!
> 
>   It is with a [happy] heart that I must proclaim today, that the long reign 
> of NUT v2.7.4 is coming to an end. Its anticipated successor of half a dozen 
> years, release-in-waiting NUT v2.7.5 has also quietly expired, and [won't] be 
> sorely missed. They were survived by the next name in line, NUT v2.8.0(-rc1). 
> Le NUT est mort, long live the NUT!
> 
>   Along just this leg of the journey, NUT codebase survived at least four 
> separate CI farms and technologies to make its builds easier and more 
> reliable, all while succeeding on a wide range of CPU and OS platforms, 
> ranging from current distros to the dawn of millenium (nearly-immutable 
> appliances and sturdy reliable servers matter too!), as well as multiple 
> generations and implementations of compiler toolkits, "make" and scripted 
> code interpreters involved.
> 
>   We are grateful to the many freely available projects, services and 
> communities who helped us in particular (maybe unwittingly) and the FOSS 
> ecosystem in general (intentionally), such as (and not limited to) Asciidoc, 
> Autotools and family, BuildBot, CCache, Clang/LLVM, FossHost, GCC, GitHub, 
> Google, illumos, Jenkins, LiberaChat, Proxmox, QEMU, StackExchange, Travis, 
> ZeroMQ... bits here, swathes there - it would have been much harder without 
> the likes of them (and many others).
>   
>   Advances in compiler code analysis in particular, as is seen on a daily 
> basis with CI non-regression builds across the range of 10 major releases of 
> clang and 7 of gcc, is immense. At times annoying, yes, but it led to a great 
> cleansing of the codebase from questionable code (and indeed some potential 
> bugs). And it was possible to do so in a way that all those regularly tested 
> systems are satisfied, so the codebase stays clean and green and portable as 
> we iterate new contributions, and merged with peace of mind many ports and 
> features from long-awaited branches (such as libusb-1.0+0.1 support finally), 
> or forks (notably 42ity/nut).
> 
>   Let me take a moment to tender our special thanks from both the maintainer 
> team and countless users of UPS, ePDU, solar panel and similar hardware, to 
> numerous personal and corporate contributors of new drivers and features or 
> fixes for existing ones, as well as to community members who ask and answer 
> questions, and who log github issues with their ideas, experiences or 
> grievances.
> 
>   As always we would welcome people willing to regularly share their 
> expertise in certain areas and tools (in particular, thanks @nbriggs for 
> solving many practical mysteries around USB bit-stream lately), or protocols 
> (more active experts on prolific Qx family would be great for PR reviews), or 
>  packaging, service and distro integrations, or HCL/DDL maintenance based on 
> reports trickling in... just about anything!
> 
>   While we have a lot of features queued to complete or port for the next 
> releases (hopefully with a healthier cadence), we expect to see more feedback 
> by exposing thevrelease, and hope for little fallout from the many changes 
> made while cleaning up the warnings.
> 
>   Handing over to creative packagers now...
>   
> Jim Klimov,
> on behalf of the Network UPS Tools Project
> ___
> Nut-upsdev mailing list
> Nut-upsdev@alioth-lists.debian.net
> https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsdev


___
Nut-upsdev mailing list
Nut-upsdev@alioth-lists.debian.net
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsdev


[Nut-upsdev] packaging update to rc1: trip report

2022-04-01 Thread Greg Troxel

I am taking the tarball I built from rc1 and using it as if released in
pkgsrc.  The great news is that it only took me about 15 minutes to
update the package.

I am getting one error:

  => Checking for non-existent script interpreters in ups-nut-2.7.4.1
  ERROR: [check-interpreter.mk] The interpreter "/sbin/sh" of 
"/tmp/work/sysutils/ups-nut/work/.destdir/usr/pkg/share/nut/solaris-init/nut" 
does not exist.

And I wonder:

  Should the solaris-init file only be installed on Solaris?

  Is /sbin/sh really right?  I've never heard of 1) sh in sbin or 2) a
  system without /bin/sh as POSIX requires.

I've appended my diff, trimmed to remove pkgsrc stuff not of interest.

  - The PLIST diff is perhaps interesting, showing the files installed
by 2.7.4.1 and not installed by 2.7.4.

  - It looks like drivers/hidparser.c has been rewritten so that the
previous BIGENDIAN branch that used "long" when it should perhaps be
fixed-width is no longer present, and this was fixed in
24293b3f6d0cd157ac76f4901e0b6732068b55d4
and thus it really is  correct for me to just drop the patch.

  - We had a patch to change libusb_strerror to be >=0 instead of >0,
and I am not entirely sure why or what the correct semantics are.
Looking at libusb.h (focusing on libusb1), it seems 0 is
LIBUSB_SUCCESS, which isn't an error.  Is the idea that if you
called libusb_strerror with 0, that was wrong and hence should be
logged?  I am not really following the mapping from enum
libusb_error to this function.  Also the name is confusing as
strerror indicates a translation from errno to a string, and this
function takes both and does logging.

And that's it, a wicked short list, as we say in Boston.

I will try to actually run it when I can schedule a maintenance window.


Index: PLIST
===
RCS file: /cvsroot/pkgsrc/sysutils/ups-nut/PLIST,v
retrieving revision 1.28
diff -u -p -r1.28 PLIST
--- PLIST   13 Jul 2020 18:50:05 -  1.28
+++ PLIST   1 Apr 2022 12:26:28 -
@@ -6,14 +6,18 @@ bin/upsrw
 bin/upssched-cmd
 include/nut-scan.h
 include/nutclient.h
+include/nutclientmem.h
 include/nutscan-device.h
 include/nutscan-init.h
 include/nutscan-ip.h
+include/nutscan-serial.h
 include/parseconf.h
 include/upsclient.h
 lib/libnutclient.la
+lib/libnutclientstub.la
 lib/libupsclient.la
 lib/pkgconfig/libnutclient.pc
+lib/pkgconfig/libnutclientstub.pc
 lib/pkgconfig/libnutscan.pc
 lib/pkgconfig/libupsclient.pc
 libexec/nut/al175
@@ -44,8 +48,9 @@ libexec/nut/metasys
 libexec/nut/mge-shut
 libexec/nut/mge-utalk
 libexec/nut/microdowell
+libexec/nut/microsol-apc
 libexec/nut/nutdrv_qx
-libexec/nut/oldmge-shut
+libexec/nut/nutdrv_siemens-sitop
 libexec/nut/oneac
 libexec/nut/optiups
 libexec/nut/powercom
@@ -120,7 +125,9 @@ man/man3/upscli_init.3
 man/man3/upscli_list_next.3
 man/man3/upscli_list_start.3
 man/man3/upscli_readline.3
+man/man3/upscli_readline_timeout.3
 man/man3/upscli_sendline.3
+man/man3/upscli_sendline_timeout.3
 man/man3/upscli_splitaddr.3
 man/man3/upscli_splitname.3
 man/man3/upscli_ssl.3
@@ -160,9 +167,12 @@ man/man8/metasys.8
 man/man8/mge-shut.8
 man/man8/mge-utalk.8
 man/man8/microdowell.8
+man/man8/microsol-apc.8
+man/man8/nut-driver-enumerator.8
 man/man8/nut-recorder.8
 man/man8/nut-scanner.8
 man/man8/nutdrv_qx.8
+man/man8/nutdrv_siemens_sitop.8
 man/man8/nutupsdrv.8
 man/man8/oneac.8
 man/man8/optiups.8
@@ -179,6 +189,7 @@ man/man8/upscmd.8
 man/man8/upscode2.8
 man/man8/upsd.8
 man/man8/upsdrvctl.8
+man/man8/upsdrvsvcctl.8
 man/man8/upslog.8
 man/man8/upsmon.8
 man/man8/upsrw.8
@@ -196,6 +207,7 @@ share/doc/nut/NEWS
 share/doc/nut/README
 share/doc/nut/UPGRADING
 share/doc/nut/acknowledgements.txt
+share/doc/nut/asciidoc.txt
 share/doc/nut/cables.txt
 share/doc/nut/cables/apc-rs500-serial.txt
 share/doc/nut/cables/apc.txt
@@ -205,9 +217,12 @@ share/doc/nut/cables/mgeups.txt
 share/doc/nut/cables/powerware.txt
 share/doc/nut/cables/repotec.txt
 share/doc/nut/cables/sms.txt
+share/doc/nut/ci-farm-lxc-setup.txt
 share/doc/nut/config-notes.txt
+share/doc/nut/config-prereqs.txt
 share/doc/nut/configure.txt
 share/doc/nut/contact-closure.txt
+share/doc/nut/daisychain.txt
 share/doc/nut/design.txt
 share/doc/nut/developer-guide.txt
 share/doc/nut/developers.txt
@@ -230,6 +245,7 @@ share/doc/nut/security.txt
 share/doc/nut/snmp-subdrivers.txt
 share/doc/nut/snmp.txt
 share/doc/nut/sock-protocol.txt
+share/doc/nut/solaris-usb.txt
 share/doc/nut/support.txt
 share/doc/nut/user-manual.txt
 share/examples/nut/nut.conf.sample
@@ -240,5 +256,6 @@ share/examples/nut/upsmon.conf.sample
 share/examples/nut/upssched.conf.sample
 share/nut/cmdvartab
 share/nut/driver.list
+share/nut/solaris-init/nut
 @pkgdir share/doc/nut/drivers
 @pkgdir etc/nut
Index: patches/patch-drivers_hidparser.c
===
RCS file: patches/patch-drivers_hidparser.c
diff -N 

Re: [Nut-upsdev] a few build nits

2022-04-01 Thread Charles Lepple via Nut-upsdev
On Mar 31, 2022, at 9:18 AM, Greg Troxel wrote:
> 
> I see your point about distcheck.  I tend to build tarballs from source
> to then use in pkgsrc (not that I publish those tarballs and packages),
> to be able to debug the combination of upstream and pkgsrc to be ready
> for a release.   I can certainly just flip my script to the light version.
> 
mostly for the archives (sounds like Greg has a solution), this page talks 
about the difference between "make distcheck" and "make distcheck-light" in NUT:

https://networkupstools.org/docs/developer-guide.chunked/ar01s03.html#building

- C
___
Nut-upsdev mailing list
Nut-upsdev@alioth-lists.debian.net
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsdev


Re: [Nut-upsdev] [Nut-upsuser] NUT v2.8.0(-rc1)

2022-04-01 Thread Jim Klimov via Nut-upsdev
> Are there any known backward incompatible changes?
e.g. conf file settings or commands that won't work anymore?

None that I am aware of. There are a few new config keywords (and aliases
to older concepts), so programs from the older NUT packages would probably
safely refuse to start while parsing configurations that take advantage of
these new features. This is a large part of what prompted semantic
versioning to be bumped to 2.8.x.

Also the protocol between NUT server and clients got a few new words (and
aliases), but its implementation over the years should be less picky -
unsupported commands are rejected as such, so the chatter can effectively
constrain to the common denominator. The version was formally bumped to
"1.3" but it does not seem the value is used by NUT itself to make any
decisions.

And of course, closely related to the pending release is the work
spearheaded by Roger Price to document the protocol as an upcoming standard
that other solutions might implement (e.g. an upsd equivalent running
directly on the UPS or ePDU). Discussions with community and committee
reviewers took their welcome toll on codebase too.

Hope this helps,
Jim Klimov

On Fri, Apr 1, 2022, 07:07 Zomaya, David  wrote:

> > They were survived by the next name in line, NUT v2.8.0(-rc1). Le NUT
> est mort, long live the NUT!
>
> Thank you to everyone who made this happen!
>
> Are there any known backward incompatible changes?
> e.g. conf file settings or commands that won't work anymore?
>
> Thank you,
> David Zomaya
> Eaton Tripp Lite
>
>
___
Nut-upsdev mailing list
Nut-upsdev@alioth-lists.debian.net
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsdev


Re: [Nut-upsdev] [EXTERNAL] [Nut-upsuser] NUT v2.8.0(-rc1)

2022-04-01 Thread Zomaya, David via Nut-upsdev
> They were survived by the next name in line, NUT v2.8.0(-rc1). Le NUT est 
> mort, long live the NUT!

Thank you to everyone who made this happen!

Are there any known backward incompatible changes?
e.g. conf file settings or commands that won't work anymore? 

Thank you,
David Zomaya
Eaton Tripp Lite
 
___
Nut-upsdev mailing list
Nut-upsdev@alioth-lists.debian.net
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsdev