From jimklimov+nut at gmail.com Fri Aug 1 09:19:31 2025 From: jimklimov+nut at gmail.com (Jim Klimov) Date: Fri, 1 Aug 2025 10:19:31 +0200 Subject: [Nut-upsdev] NUT v2.8.4 coming up Message-ID: Hello all, Due to some issues uncovered with NUT v2.8.3 release on one hand (fixable, but cumbersome for packagers to extract and patch in their recipes), and an upcoming hiatus due to vacation travels on another, I've pushed much of the more-ambitious plan slated for NUT v2.8.4 back to v2.8.5, and plan to release what has cropped up until now as a smaller v2.8.4 increment, just a few months after a preceding release. This is probably how things should be (aiming for smaller quicker releases), too :) Even so, it is by no means a trivial hot-fixing release - there were many contributions that have already landed, including new drivers, updates to existing drivers and other programs, recipes, CI tests, etc. While a few smaller PRs are still queued and iterated, it would be wise of the community to run some builds of the current master against their devices in their OS ecosystems of choice, to make sure we do not get big facepalms within a week after a release :) The plan is to cut off a snapshot of the `master` branch (slightly pre-doctored as usual) into a NUT v2.8.4 release, and so begin the v2.8.5 timeline, during the first week of August, probably before next Friday. Or forever hold our silence (that is, until September or later). Cheers, Jim Klimov -------------- next part -------------- An HTML attachment was scrubbed... URL: From gdt at lexort.com Fri Aug 1 14:39:05 2025 From: gdt at lexort.com (Greg Troxel) Date: Fri, 01 Aug 2025 09:39:05 -0400 Subject: [Nut-upsdev] [Nut-upsuser] NUT v2.8.4 coming up In-Reply-To: (Jim Klimov via Nut-upsuser's message of "Fri, 1 Aug 2025 10:19:31 +0200") References: Message-ID: Jim Klimov via Nut-upsuser writes: > While a few smaller PRs are still queued and iterated, it would be wise > of the community to run some builds of the current master against their > devices in their OS ecosystems of choice, to make sure we do not get big > facepalms within a week after a release :) My usual request is that if there is going to be a release (which is great), then we need a decent interval -- nominally a week -- after freeze for everthing but typos and version changing, before release. I don't know what the "smaller PRs" are, and I don't mind testing now and refreshing the build to test again. But if we want a good release we really need to stop making changes and have a testing period. Making that short discourages people from testing. > The plan is to cut off a snapshot of the `master` branch (slightly > pre-doctored as usual) into a NUT v2.8.4 release, and so begin the v2.8.5 > timeline, during the first week of August, probably before next Friday. Or > forever hold our silence (that is, until September or later). Given that you seem to intend to still merge things (unless the merges end today), that's too fast, but otherwise sounds good. My first-stage build (not in pkgsrc) has finished build/check/dist on NetBSD 10 amd64. On to building the distfile with pkgsrc, then on older NetBSD and on arm and arm64, and live-testing with Best Fortress. From gdt at lexort.com Fri Aug 1 14:49:00 2025 From: gdt at lexort.com (Greg Troxel) Date: Fri, 01 Aug 2025 09:49:00 -0400 Subject: [Nut-upsdev] [Nut-upsuser] NUT v2.8.4 coming up In-Reply-To: (Jim Klimov via Nut-upsuser's message of "Fri, 1 Aug 2025 10:19:31 +0200") References: Message-ID: I'm getting a build failure under pkgsrc. This is likely due to introduction of a sed construct not specified by POSIX. Posting first before thinking due to threatened short timeframe :-) /usr/bin/make all-recursive Making all in . Making all in NIT SUBDIR-MAKE SUCCESS: 'make all' in tests SUBDIR-MAKE STARTING: 'make prep-src-docs' in docs ... SUBDIR-MAKE SUCCESS: 'make prep-src-docs' in docs SUBDIR-MAKE STARTING: 'make all' in docs ... Making all in cables DOCS_NO_MAN SKIP: all-optional called in docs/man/Makefile: requested to not work in this code path DOC-FOLLOW-UP Basic 'make all' in /tmp/work/wip/ups-nut/work/nut-2.8.3.724/docs is done, following up with 'make doc' to ensure complex document types DOC-CHANGELOG-GENERATE-WRAPPER ../ChangeLog : call parent Makefile to decide if (re-)generation is needed DOC-CHANGELOG-GENERATE /tmp/work/wip/ups-nut/work/nut-2.8.3.724/ChangeLog : SKIP (keep existing) Using distributed ChangeLog file from sources (and builddir is srcdir) DOC-NOT-MAN SKIP: man-man called in docs/Makefile DOC-CHANGELOG-ASCIIDOC ../ChangeLog => ../ChangeLog.adoc : Block for up to 10 sec, maybe another thread will make the file first DOC-CHANGELOG-ASCIIDOC ../ChangeLog => ../ChangeLog.adoc : GENERATE DOC-CHANGELOG-ASCIIDOC ../ChangeLog => ../ChangeLog.adoc : PROCEED, waited for 10 sec sed: 1: "s,^\(\s\s*\)\([0-9]\),\ ...": RE error: trailing backslash (\) *** [../ChangeLog.adoc] Error code 1 make[3]: stopped in /tmp/work/wip/ups-nut/work/nut-2.8.3.724/docs 1 error make[3]: stopped in /tmp/work/wip/ups-nut/work/nut-2.8.3.724/docs *** [all] Error code 2 make[2]: stopped in /tmp/work/wip/ups-nut/work/nut-2.8.3.724/docs 1 error make[2]: stopped in /tmp/work/wip/ups-nut/work/nut-2.8.3.724/docs SUBDIR-MAKE FAILURE: 'make all' in docs *** [all/docs] Error code 2 make[1]: stopped in /tmp/work/wip/ups-nut/work/nut-2.8.3.724 1 error make[1]: stopped in /tmp/work/wip/ups-nut/work/nut-2.8.3.724 *** [all-fanout-maybe] Error code 2 make: stopped in /tmp/work/wip/ups-nut/work/nut-2.8.3.724 1 error make: stopped in /tmp/work/wip/ups-nut/work/nut-2.8.3.724 *** Error code 2 Stop. make[1]: stopped in /n0/gdt/pkgsrc-current/pkgsrc/wip/ups-nut *** Error code 1 Stop. make: stopped in /usr/pkgsrc/wip/ups-nut Other issues: -with-doc is very confusing. There is talk of "traditional", "legacy", and other mumbo jumbo, but I can't tell from reading configure.ac what is the documented, preferred option, and what is accepted for compatibility. I also can't tell if, when building from a tarball with docs, this results in not getting docs (unacceptable in a package), or installing the ones that were built and not rebuilding. From jimklimov+nut at gmail.com Fri Aug 1 15:49:58 2025 From: jimklimov+nut at gmail.com (Jim Klimov) Date: Fri, 1 Aug 2025 16:49:58 +0200 Subject: [Nut-upsdev] [Nut-upsuser] NUT v2.8.4 coming up In-Reply-To: References: Message-ID: Regarding the timeframe, I did mention the idea of a release before or early in August (specifically as before vacations) in a few discussions here and there, but yes - that plan got clearer as the flight gets closer. How is a pkgsrc build significantly different? Notably, which sed does it have? I am all for having proper POSIX constructs, that's what the diverse farm and wild recipes are for, but these iterations have all passed sed et al on GNU/BSD/Solarish/... ecosystems of various ages... And perhaps - any quick hints how I could set it up for NUT CI farm builds? Jim On Fri, Aug 1, 2025 at 3:49?PM Greg Troxel via Nut-upsdev < nut-upsdev at alioth-lists.debian.net> wrote: > I'm getting a build failure under pkgsrc. This is likely due to > introduction of a sed construct not specified by POSIX. Posting first > before thinking due to threatened short timeframe :-) > > /usr/bin/make all-recursive > Making all in . > Making all in NIT > SUBDIR-MAKE SUCCESS: 'make all' in tests > SUBDIR-MAKE STARTING: 'make prep-src-docs' in docs ... > SUBDIR-MAKE SUCCESS: 'make prep-src-docs' in docs > SUBDIR-MAKE STARTING: 'make all' in docs ... > Making all in cables > DOCS_NO_MAN SKIP: all-optional called in docs/man/Makefile: > requested to not work in this code path > DOC-FOLLOW-UP Basic 'make all' in > /tmp/work/wip/ups-nut/work/nut-2.8.3.724/docs is done, following up with > 'make doc' to ensure complex document types > DOC-CHANGELOG-GENERATE-WRAPPER ../ChangeLog : call parent > Makefile to decide if (re-)generation is needed > DOC-CHANGELOG-GENERATE > /tmp/work/wip/ups-nut/work/nut-2.8.3.724/ChangeLog : SKIP (keep existing) > Using distributed ChangeLog file from sources (and builddir is srcdir) > DOC-NOT-MAN SKIP: man-man called in docs/Makefile > DOC-CHANGELOG-ASCIIDOC ../ChangeLog => ../ChangeLog.adoc : > Block for up to 10 sec, maybe another thread will make the file first > DOC-CHANGELOG-ASCIIDOC ../ChangeLog => ../ChangeLog.adoc : > GENERATE > DOC-CHANGELOG-ASCIIDOC ../ChangeLog => ../ChangeLog.adoc : > PROCEED, waited for 10 sec > sed: 1: "s,^\(\s\s*\)\([0-9]\),\ ...": RE error: trailing backslash (\) > *** [../ChangeLog.adoc] Error code 1 > > make[3]: stopped in /tmp/work/wip/ups-nut/work/nut-2.8.3.724/docs > 1 error > > make[3]: stopped in /tmp/work/wip/ups-nut/work/nut-2.8.3.724/docs > *** [all] Error code 2 > > make[2]: stopped in /tmp/work/wip/ups-nut/work/nut-2.8.3.724/docs > 1 error > > make[2]: stopped in /tmp/work/wip/ups-nut/work/nut-2.8.3.724/docs > SUBDIR-MAKE FAILURE: 'make all' in docs > *** [all/docs] Error code 2 > > make[1]: stopped in /tmp/work/wip/ups-nut/work/nut-2.8.3.724 > 1 error > > make[1]: stopped in /tmp/work/wip/ups-nut/work/nut-2.8.3.724 > *** [all-fanout-maybe] Error code 2 > > make: stopped in /tmp/work/wip/ups-nut/work/nut-2.8.3.724 > 1 error > > make: stopped in /tmp/work/wip/ups-nut/work/nut-2.8.3.724 > *** Error code 2 > > Stop. > make[1]: stopped in /n0/gdt/pkgsrc-current/pkgsrc/wip/ups-nut > *** Error code 1 > > Stop. > make: stopped in /usr/pkgsrc/wip/ups-nut > > > > > Other issues: > > -with-doc is very confusing. There is talk of "traditional", > "legacy", and other mumbo jumbo, but I can't tell from reading > configure.ac what is the documented, preferred option, and what is > accepted for compatibility. I also can't tell if, when building > from a tarball with docs, this results in not getting docs > (unacceptable in a package), or installing the ones that were built > and not rebuilding. > > _______________________________________________ > Nut-upsdev mailing list > Nut-upsdev at alioth-lists.debian.net > https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsdev > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jimklimov+nut at gmail.com Sat Aug 2 13:21:45 2025 From: jimklimov+nut at gmail.com (Jim Klimov) Date: Sat, 2 Aug 2025 14:21:45 +0200 Subject: [Nut-upsdev] NUT v2.8.4 coming up In-Reply-To: References: Message-ID: FWIW, I did merge the previously queued "small PRs", now probably gotta figure out what Greg found with pkgsrc's `sed` (or await his PR with a fix that would work everywhere - can't reproduce the problem so far), and planned changes will be done. If there's something to clarify about dcs - PRs are always welcome, though not sure this would hold up a release. Regarding `configure --with-doc(s)` and related options -- there indeed is a big can of worms due to portability and tools availability and standard expectations. TLDR summary of decades-long history, legacy and recent: On one hand, a build is expected to deliver man pages. Historically *roff files were directly edited and served by projects; nowadays it is asciidoc or similar, rendered into man pages as one of many output formats. Dist tarballs include those page files so they can be installed even where asciidoc renderer is not available. So some options manage this part. Another issue is the codes assigned to man page sections in different OSes - this was previously bolted to what is seen in Linux and FreeBSD; now can be amended for package builds (especially on other platforms), to avoid clumsy distro-specific patch files or scripts in their recipes. And another aspect regards other rendering formats (HTML*, PDF). Hope this helps, Jim Klimov On Fri, Aug 1, 2025, 10:19 Jim Klimov wrote: > Hello all, > > Due to some issues uncovered with NUT v2.8.3 release on one hand > (fixable, but cumbersome for packagers to extract and patch in their > recipes), and an upcoming hiatus due to vacation travels on another, I've > pushed much of the more-ambitious plan slated for NUT v2.8.4 back to > v2.8.5, and plan to release what has cropped up until now as a smaller > v2.8.4 increment, just a few months after a preceding release. This is > probably how things should be (aiming for smaller quicker releases), too :) > > Even so, it is by no means a trivial hot-fixing release - there were > many contributions that have already landed, including new drivers, updates > to existing drivers and other programs, recipes, CI tests, etc. > > While a few smaller PRs are still queued and iterated, it would be wise > of the community to run some builds of the current master against their > devices in their OS ecosystems of choice, to make sure we do not get big > facepalms within a week after a release :) > > The plan is to cut off a snapshot of the `master` branch (slightly > pre-doctored as usual) into a NUT v2.8.4 release, and so begin the v2.8.5 > timeline, during the first week of August, probably before next Friday. Or > forever hold our silence (that is, until September or later). > > Cheers, > Jim Klimov > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gdt at lexort.com Sat Aug 2 17:43:25 2025 From: gdt at lexort.com (Greg Troxel) Date: Sat, 02 Aug 2025 12:43:25 -0400 Subject: [Nut-upsdev] NUT v2.8.4 coming up In-Reply-To: (Jim Klimov via Nut-upsdev's message of "Sat, 2 Aug 2025 14:21:45 +0200") References: Message-ID: Jim Klimov via Nut-upsdev writes: > FWIW, I did merge the previously queued "small PRs", Great, thanks. > now probably gotta > figure out what Greg found with pkgsrc's `sed` (or await his PR with a fix > that would work everywhere - can't reproduce the problem so far), and > planned changes will be done. This is not about pkgsrc's sed; it's about the sed that is part of the NetBSD base system, which is believed to conform to POSIX. (When building under pkgsrc, the base sed is used even if gsed is installed, as part of repeatable build hygiene.) I am 99% sure that the problem is this, from doc/Makefile.am, building ChangeLog.adoc from ChangeLog: -e 's,^\(\s\s*\)\([0-9]\),\1{empty}\2,g' resulting in "s,^\(\s\s*\)\([0-9]\),\ ..." I think the problem is that \s is a GNU beyond-POSIX extension and the standards-compliant way to write this is -e 's,^\([:blank:][:blank:]*\)\([0-9]\),\1{empty}2\,g' \ instead. (In general, I find the sed magic surrounding docs builds too hard to understand, even for someone who has used sed, probably starting with Seventh Edition.) > On one hand, a build is expected to deliver man pages. Historically *roff > files were directly edited and served by projects; nowadays it is asciidoc > or similar, rendered into man pages as one of many output formats. Dist > tarballs include those page files so they can be installed even where > asciidoc renderer is not available. So some options manage this part. ok, but which options actually do what precisely? Does --without-doc say "don't build them" or "don't install them"? What happens if you give --without-doc, and you don't, or do, have them built? One could make an argument that "don't build them, and install what should have been built into distfile, erroring out if not there" is mild/acceptable, resulting in a correct package. And that "don't build and don't install" is, while useful to some, an instruction that results in a defective install. This is not understandable from reading configure.ac. > Another issue is the codes assigned to man page sections in different OSes > - this was previously bolted to what is seen in Linux and FreeBSD; now can > be amended for package builds (especially on other platforms), to avoid > clumsy distro-specific patch files or scripts in their recipes. sure, good to have --do-foo to accomodate. So far that's not my issue! From gdt at lexort.com Sat Aug 2 17:58:28 2025 From: gdt at lexort.com (Greg Troxel) Date: Sat, 02 Aug 2025 12:58:28 -0400 Subject: [Nut-upsdev] [Nut-upsuser] NUT v2.8.4 coming up In-Reply-To: (Greg Troxel via Nut-upsuser's message of "Sat, 02 Aug 2025 12:43:25 -0400") References: Message-ID: Sorry, bad patch. Tested with gsed and BSD sed. The BSD sed error message was non-helpful, even if the input is clearly non-conforming. diff --git a/docs/Makefile.am b/docs/Makefile.am index 51f2846a8..0d56ca35b 100644 --- a/docs/Makefile.am +++ b/docs/Makefile.am @@ -544,7 +544,7 @@ $(top_builddir)/ChangeLog.adoc: $(top_builddir)/ChangeLog -e 's,^\([ '"$${TABCHAR}"'][^+]*\)\([^+/\]\)[+],\1\2\\\+,g' \ -e 's,^\([ '"$${TABCHAR}"'].*\)\([~|^]\),\1\\\2,g' \ -e 's,\[\[\([^]]*\)\]\],[\1],g' \ - -e 's,^\(\s\s*\)\([0-9]\),\1{empty}\2,g' \ + -e 's,^\([[:blank:]][[:blank:]]*\)\([0-9]\),\1{empty}\2,g' \ < "$${INPUT}" >> "$@.tmp.$$$$" \ && if [ x"`find '$@' -newer "$${INPUT}" 2>/dev/null`" != x ] ; then \ echo " DOC-CHANGELOG-ASCIIDOC $${INPUT} => $@ : SKIP (keep recently born competitor)"; rm -f "$@.tmp.$$$$"; \