Skip to content

Commit 735451f

Browse files
authored
Release NUT v2.8.3
RC5: report libmodbus linking type in drivers with it; revise NEWS and UPGRADING docs for 2.8.3; manage upsmon overload notifications and criticality; revise some messages from CLI tools
2 parents ded0e28 + e084607 commit 735451f

22 files changed

+352
-250
lines changed

Jenkinsfile-dynamatrix

+2-2
Original file line numberDiff line numberDiff line change
@@ -385,7 +385,7 @@ set | sort -n """
385385
//dynamatrixAxesLabels: ['OS_FAMILY', 'OS_DISTRO', '${COMPILER}VER', 'ARCH${ARCH_BITS}'],
386386
//dynamatrixAxesLabels: [~/^OS/, '${COMPILER}VER', 'ARCH${ARCH_BITS}'],
387387
excludeCombos: dynacfgPipeline.excludeCombos_DEFAULT_STRICT_C
388-
+ [[~/OS_DISTRO=netbsd/]] // commented in detail below
388+
+ [[~/OS_DISTRO=(macos|netbsd)/]] // commented in detail below
389389
+ [dynacfgPipeline.axisCombos_WINDOWS_CROSS]
390390
], body)
391391
}, // getParStages
@@ -432,7 +432,7 @@ set | sort -n """
432432
//dynamatrixAxesLabels: ['OS_FAMILY', 'OS_DISTRO', '${COMPILER}VER', 'ARCH${ARCH_BITS}'],
433433
//dynamatrixAxesLabels: [~/^OS/, '${COMPILER}VER', 'ARCH${ARCH_BITS}'],
434434
excludeCombos: dynacfgPipeline.excludeCombos_DEFAULT_STRICT_C
435-
+ [[~/OS_DISTRO=netbsd/]] // commented in detail below
435+
+ [[~/OS_DISTRO=(macos|netbsd)/]] // commented in detail below
436436
+ [dynacfgPipeline.axisCombos_WINDOWS_CROSS]
437437
], body)
438438
}, // getParStages

Makefile.am

+41-32
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ SUBDIRS_ALL_LIBS_LOCAL = \
7373
all-libs-local/clients \
7474
all-libs-local/drivers \
7575
all-libs-local/tests \
76+
all-libs-local/tools \
7677
all-libs-local/tools/nut-scanner
7778

7879
# First target often defines default behavior, and in automake is always at least:
@@ -93,19 +94,19 @@ SUBDIR_MAKE_VERBOSE = default
9394
all-fanout-maybe:
9495
+@if [ x"$(NUT_MAKE_SKIP_FANOUT)" = xtrue ] ; then \
9596
if [ x"$(SUBDIR_MAKE_VERBOSE)" != x0 ] ; then \
96-
echo " SUBDIR-MAKE $@: skip optimization for parallel make - NUT_MAKE_SKIP_FANOUT is set" ; \
97+
echo " SUBDIR-MAKE $@: skip optimization for parallel make - NUT_MAKE_SKIP_FANOUT is set" ; \
9798
fi ; \
9899
exit 0 ; \
99100
fi ; \
100101
case "-$(MAKEFLAGS) $(AM_MAKEFLAGS)" in \
101102
*-j|*-j" "*|*-{j,l}{0,1,2,3,4,5,6,7,8,9}*|*-[jl][0123456789]*|*{-l,--jobs,--load-average,--max-load}" "{-,0,1,2,3,4,5,6,7,8,9}*|*--jobserver*|*--jobs" "[0123456789]*|*--load-average" "[0123456789]*|*--max-load" "[0123456789]*) \
102103
if [ x"$(SUBDIR_MAKE_VERBOSE)" != x0 ] ; then \
103-
echo " SUBDIR-MAKE $@: implement optimization for parallel make as 'make all-fanout-subdirs'" ; \
104+
echo " SUBDIR-MAKE $@: implement optimization for parallel make as 'make all-fanout-subdirs'" ; \
104105
fi ; \
105106
$(MAKE) $(AM_MAKEFLAGS) all-fanout-subdirs ;; \
106107
*) \
107108
if [ x"$(SUBDIR_MAKE_VERBOSE)" != x0 ] ; then \
108-
echo " SUBDIR-MAKE $@: skip optimization for parallel make - we seem to run sequentially now, seen MAKEFLAGS='$(MAKEFLAGS)' AM_MAKEFLAGS='$(AM_MAKEFLAGS)'" ; \
109+
echo " SUBDIR-MAKE $@: skip optimization for parallel make - we seem to run sequentially now, seen MAKEFLAGS='$(MAKEFLAGS)' AM_MAKEFLAGS='$(AM_MAKEFLAGS)'" ; \
109110
fi ;; \
110111
esac
111112

@@ -175,12 +176,12 @@ SUBDIR_TGT_RULE = ( \
175176
[ x"$${TGT-}" != x ] || TGT="`echo '$@' | awk -F/ '{print $$1}'`" ; \
176177
[ x"$${DIR-}" != x ] || DIR="`echo '$@' | sed 's,^[^/]*/,,'`" ; \
177178
if [ x"$(SUBDIR_MAKE_VERBOSE)" != x0 ] ; then \
178-
echo " SUBDIR-MAKE STARTING: 'make $$TGT' in $$DIR ..." ; \
179+
echo " SUBDIR-MAKE STARTING: 'make $$TGT' in $$DIR ..." ; \
179180
fi ; \
180181
cd "$(abs_builddir)/$${DIR}" && \
181-
$(MAKE) $(AM_MAKEFLAGS) $${SUBDIR_TGT_MAKEFLAGS-} "$${TGT}" || { RES=$$?; echo " SUBDIR-MAKE FAILURE: 'make $$TGT' in $$DIR" >&2 ; exit $$RES ; } ; \
182+
$(MAKE) $(AM_MAKEFLAGS) $${SUBDIR_TGT_MAKEFLAGS-} "$${TGT}" || { RES=$$?; echo " SUBDIR-MAKE FAILURE: 'make $$TGT' in $$DIR" >&2 ; exit $$RES ; } ; \
182183
if [ x"$(SUBDIR_MAKE_VERBOSE)" != x0 ] ; then \
183-
echo " SUBDIR-MAKE SUCCESS: 'make $$TGT' in $$DIR" ; \
184+
echo " SUBDIR-MAKE SUCCESS: 'make $$TGT' in $$DIR" ; \
184185
fi ; \
185186
)
186187

@@ -229,15 +230,23 @@ all-libs-local/drivers: all-libs-local/common
229230
all-libs-local/tests: all-libs-local/common
230231
+@$(SUBDIR_TGT_RULE)
231232

233+
### Delivers: generated sources and/or headers for nut-scanner
234+
### No dependencies: actually runs as part of autogen.sh but may be
235+
### re-run during development when USB or SNMP driver sources change.
236+
all-libs-local/tools:
237+
+@$(SUBDIR_TGT_RULE)
238+
232239
### Delivers: libnutscan.la
233240
### LIB-Requires-ext: drivers/libserial-nutscan.la
234241
### LIB-Requires-ext: common/libnutwincompat.la common/libcommonstr.la
235242
### HDR-Requires-ext: clients/libupsclient-version.h
243+
### HDR-Requires-ext: nut-scanner/nutscan-snmp.h nut-scanner/nutscan-usb.h
244+
### (generated by nut-scanner-deps/tools aliased as all-libs-local/tools)
236245
### Requires-int: libnutscan.la
237246
### Note: indirectly (ltdl) may use installed libupsclient.so
238247
### however does directly use libupsclient-version.h
239248
### for hints to find it at run-time
240-
all-libs-local/tools/nut-scanner: all-libs-local/drivers all-libs-local/common all-libs-local/clients
249+
all-libs-local/tools/nut-scanner: all-libs-local/drivers all-libs-local/common all-libs-local/clients all-libs-local/tools
241250
+@$(SUBDIR_TGT_RULE)
242251

243252
# Handle all SUBDIRS_ALL_RECURSIVE in a way that dependencies can be specified,
@@ -543,7 +552,7 @@ else !HAVE_VALGRIND
543552
memcheck distcheck-valgrind:
544553
@echo "Starting $@" >&2
545554
@echo "See also scripts/valgrind in NUT sources for a helper tool"
546-
@echo "SKIPPED $@ : valgrind was not detected on this system by configure script" >&2
555+
@echo " SKIP $@ : valgrind was not detected on this system by configure script" >&2
547556
endif !HAVE_VALGRIND
548557

549558
# workaround the dist generated files that are also part of the distribution
@@ -594,7 +603,7 @@ maintainer-clean-local:
594603
distclean-local:
595604
+@for DIR in $(SUBDIRS) ; do \
596605
if test -f "$${DIR}/Makefile" ; then \
597-
echo " DISTCLEAN in $${DIR}" >&2 ; \
606+
echo " DISTCLEAN in $${DIR}" >&2 ; \
598607
( cd "$${DIR}" && $(MAKE) $(AM_MAKEFLAGS) -s distclean ) || exit ; \
599608
fi ; \
600609
done
@@ -648,7 +657,7 @@ spellcheck spellcheck-interactive:
648657
if [ x"$(NUT_MAKE_SKIP_FANOUT)" = xtrue ] ; then \
649658
RES=0 ; \
650659
if [ x"$(SUBDIR_MAKE_VERBOSE)" != x0 ] ; then \
651-
echo " SUBDIR-MAKE $@: skip optimization for parallel make - NUT_MAKE_SKIP_FANOUT is set" ; \
660+
echo " SUBDIR-MAKE $@: skip optimization for parallel make - NUT_MAKE_SKIP_FANOUT is set" ; \
652661
fi ; \
653662
(cd $(builddir)/docs && $(MAKE) $(AM_MAKEFLAGS) -k -s $(abs_top_builddir)/docs/.prep-src-docs) || RES=$$? ; \
654663
(cd $(builddir)/docs/man && $(MAKE) $(AM_MAKEFLAGS) -k -s $(abs_top_builddir)/docs/man/.prep-src-docs) || RES=$$? ; \
@@ -914,26 +923,26 @@ $(abs_top_builddir)/ChangeLog: tools/gitlog2changelog.py dummy-stamp
914923
if test -e .git ; then \
915924
NUT_GITDIR=".git" ; if test -r "$${NUT_GITDIR}" -a ! -d "$${NUT_GITDIR}" ; then GD="`grep -E '^gitdir:' "$${NUT_GITDIR}" | sed 's/^gitdir: *//'`" && test -n "$$GD" -a -d "$$GD" && NUT_GITDIR="$$GD" ; fi ; \
916925
if test -s "$@" -a -d "$${NUT_GITDIR}" && test -z "`find "$${NUT_GITDIR}" -newer "$@" 2>/dev/null`" ; then \
917-
echo " DOC-CHANGELOG-GENERATE $@ : SKIP (keep existing)" ; \
926+
echo " DOC-CHANGELOG-GENERATE $@ : SKIP (keep existing)" ; \
918927
echo "Using still-valid ChangeLog file generated earlier from same revision of Git source metadata in '$${NUT_GITDIR}'" >&2 ; \
919928
else \
920929
if test -s "$@" ; then \
921-
echo " DOC-CHANGELOG-GENERATE $@ : RE-GENERATE (older than Git workspace metadata) ..." ; \
930+
echo " DOC-CHANGELOG-GENERATE $@ : RE-GENERATE (older than Git workspace metadata) ..." ; \
922931
else \
923-
echo " DOC-CHANGELOG-GENERATE $@ : GENERATE (currently absent) ..." ; \
932+
echo " DOC-CHANGELOG-GENERATE $@ : GENERATE (currently absent) ..." ; \
924933
fi ; \
925934
CHANGELOG_FILE="$@" $(WITH_PDF_NONASCII_TITLES_ENVVAR) \
926935
CHANGELOG_REQUIRE_GROUP_BY_DATE_AUTHOR="$(CHANGELOG_REQUIRE_GROUP_BY_DATE_AUTHOR_ENVVAR)" \
927936
$(abs_top_builddir)/tools/gitlog2changelog.py $(GITLOG_START_POINT) \
928-
&& { echo " DOC-CHANGELOG-GENERATE $@ : SUCCESS"; } \
937+
&& { echo " DOC-CHANGELOG-GENERATE $@ : SUCCESS"; } \
929938
|| { \
930-
echo " DOC-CHANGELOG-GENERATE $@ : FAILED (non-fatal)" >&2 ; \
939+
echo " DOC-CHANGELOG-GENERATE $@ : FAILED (non-fatal)" >&2 ; \
931940
printf "gitlog2changelog.py failed to generate the ChangeLog.\n\nNOTE: See https://github.com/networkupstools/nut/commits/master for change history.\n\n" > "$@" ; \
932941
} ; \
933942
fi ; \
934943
else \
935944
if test x"$(abs_top_srcdir)" != x"$(abs_top_builddir)" -a -s ./ChangeLog ; then \
936-
echo " DOC-CHANGELOG-GENERATE $@ : SKIP (keep existing)" ; \
945+
echo " DOC-CHANGELOG-GENERATE $@ : SKIP (keep existing)" ; \
937946
if ! diff ./ChangeLog "$@" >/dev/null 2>/dev/null ; then \
938947
echo "Using distributed ChangeLog file from sources (and builddir is not srcdir)" >&2 ; \
939948
rm -f "$@" || true ; \
@@ -943,10 +952,10 @@ $(abs_top_builddir)/ChangeLog: tools/gitlog2changelog.py dummy-stamp
943952
fi ; \
944953
else \
945954
if test -s "$@" ; then \
946-
echo " DOC-CHANGELOG-GENERATE $@ : SKIP (keep existing)" ; \
955+
echo " DOC-CHANGELOG-GENERATE $@ : SKIP (keep existing)" ; \
947956
echo "Using distributed ChangeLog file from sources (and builddir is srcdir)" >&2 ; \
948957
else \
949-
echo " DOC-CHANGELOG-GENERATE $@ : FAILED (non-fatal)" >&2 ; \
958+
echo " DOC-CHANGELOG-GENERATE $@ : FAILED (non-fatal)" >&2 ; \
950959
printf "Failed to generate the ChangeLog.\n\nNOTE: See https://github.com/networkupstools/nut/commits/master for change history.\n\n" > "$@" ; \
951960
fi ; \
952961
fi ; \
@@ -1134,41 +1143,41 @@ install-as-root:
11341143
exit ; \
11351144
fi ; \
11361145
fi ; \
1137-
echo " MKDIR $(DESTDIR)/@STATEPATH@ $(DESTDIR)/@STATEPATH@/upssched" >&2 ; \
1146+
echo " MKDIR $(DESTDIR)/@STATEPATH@ $(DESTDIR)/@STATEPATH@/upssched" >&2 ; \
11381147
$(MKDIR_P) "$(DESTDIR)/@STATEPATH@/upssched" && \
11391148
for D in "@PIDPATH@" "@ALTPIDPATH@" "@ALTSTATEPATH@" "@CONFPATH@" ; do \
11401149
case x"$$D" in \
11411150
x|x@*) ;; \
1142-
*) echo " MKDIR $(DESTDIR)/$$D" >&2 ; \
1151+
*) echo " MKDIR $(DESTDIR)/$$D" >&2 ; \
11431152
$(MKDIR_P) "$(DESTDIR)/$$D" \
11441153
|| exit ;; \
11451154
esac ; \
11461155
done ; \
11471156
if (command -v chmod) ; then \
1148-
echo " CHMOD(0770) $(DESTDIR)/@STATEPATH@/upssched" >&2 ; \
1157+
echo " CHMOD(0770) $(DESTDIR)/@STATEPATH@/upssched" >&2 ; \
11491158
chmod 0770 "$(DESTDIR)/@STATEPATH@/upssched" \
11501159
|| exit ; \
11511160
for D in "@STATEPATH@" "@PIDPATH@" "@ALTPIDPATH@" "@ALTSTATEPATH@" ; do \
11521161
case x"$$D" in \
11531162
x|x@*|x/run|x/var/run|x/tmp|x/var/tmp|x/dev/shm|x/etc|x/var|x/usr|x/usr/local|x/usr/local/etc|x/usr/etc) ;; \
1154-
*) echo " CHMOD(0770) $(DESTDIR)/$$D" >&2 ; \
1163+
*) echo " CHMOD(0770) $(DESTDIR)/$$D" >&2 ; \
11551164
chmod 0770 "$(DESTDIR)/$$D" \
11561165
|| exit ;; \
11571166
esac ; \
11581167
done ; \
11591168
case x"@CONFPATH@" in \
11601169
x|x@*|x/run|x/var/run|x/tmp|x/var/tmp|x/dev/shm|x/etc|x/var|x/usr|x/usr/local|x/usr/local/etc|x/usr/etc) ;; \
1161-
*) echo " CHMOD(0751) $(DESTDIR)/@CONFPATH@" >&2 ; \
1170+
*) echo " CHMOD(0751) $(DESTDIR)/@CONFPATH@" >&2 ; \
11621171
chmod 0751 "$(DESTDIR)/@CONFPATH@" \
11631172
|| exit ;; \
11641173
esac ; \
11651174
for F in hosts.conf.sample upsstats-single.html.sample upsstats.html.sample upsset.conf.sample ; do \
1166-
echo " CHMOD(0644) CGI: $(DESTDIR)/@CONFPATH@/$$F" >&2 ; \
1175+
echo " CHMOD(0644) CGI: $(DESTDIR)/@CONFPATH@/$$F" >&2 ; \
11671176
chmod 0644 "$(DESTDIR)/@CONFPATH@/$$F" \
11681177
|| { if $(WITH_CGI) ; then exit 1 ; else true ; fi ; } ; \
11691178
done ; \
11701179
for F in nut.conf.sample ups.conf.sample upsd.conf.sample upsd.users.sample upsmon.conf.sample upssched.conf.sample ; do \
1171-
echo " CHMOD(0640) $(DESTDIR)/@CONFPATH@/$$F" >&2 ; \
1180+
echo " CHMOD(0640) $(DESTDIR)/@CONFPATH@/$$F" >&2 ; \
11721181
chmod 0640 "$(DESTDIR)/@CONFPATH@/$$F" \
11731182
|| exit ; \
11741183
done ; \
@@ -1178,30 +1187,30 @@ install-as-root:
11781187
if (command -v chown) && test 0 -lt "`id -u '@RUN_AS_USER@'`" \
11791188
&& ( test 0 -lt "`getent group '@RUN_AS_GROUP@' | awk -F: '{print $$3}'`" || test 0 -lt "`id -g '@RUN_AS_GROUP@'`" ) \
11801189
; then \
1181-
echo " CHOWN(@RUN_AS_USER@:@RUN_AS_GROUP@) $(DESTDIR)/@STATEPATH@/upssched" >&2 ; \
1190+
echo " CHOWN(@RUN_AS_USER@:@RUN_AS_GROUP@) $(DESTDIR)/@STATEPATH@/upssched" >&2 ; \
11821191
chown "@RUN_AS_USER@:@RUN_AS_GROUP@" "$(DESTDIR)/@STATEPATH@/upssched" \
11831192
|| exit ; \
11841193
for D in "@STATEPATH@" "@PIDPATH@" "@ALTPIDPATH@" "@ALTSTATEPATH@" ; do \
11851194
case x"$$D" in \
11861195
x|x@*|x/run|x/var/run|x/tmp|x/var/tmp|x/dev/shm|x/etc|x/var|x/usr|x/usr/local|x/usr/local/etc|x/usr/etc) ;; \
1187-
*) echo " CHOWN(@RUN_AS_USER@:@RUN_AS_GROUP@) $(DESTDIR)/$$D" >&2 ; \
1196+
*) echo " CHOWN(@RUN_AS_USER@:@RUN_AS_GROUP@) $(DESTDIR)/$$D" >&2 ; \
11881197
chown "@RUN_AS_USER@:@RUN_AS_GROUP@" "$(DESTDIR)/$$D" \
11891198
|| exit ;; \
11901199
esac ; \
11911200
done ; \
11921201
case x"@CONFPATH@" in \
11931202
x|x@*|x/run|x/var/run|x/tmp|x/var/tmp|x/dev/shm|x/etc|x/var|x/usr|x/usr/local|x/usr/local/etc|x/usr/etc) ;; \
1194-
*) echo " CHOWN(root:@RUN_AS_GROUP@) $(DESTDIR)/@CONFPATH@" >&2 ; \
1203+
*) echo " CHOWN(root:@RUN_AS_GROUP@) $(DESTDIR)/@CONFPATH@" >&2 ; \
11951204
chown "root:@RUN_AS_GROUP@" "$(DESTDIR)/@CONFPATH@" \
11961205
|| exit ;; \
11971206
esac ; \
11981207
for F in hosts.conf.sample upsstats-single.html.sample upsstats.html.sample upsset.conf.sample ; do \
1199-
echo " CHOWN(root:@RUN_AS_GROUP@) CGI: $(DESTDIR)/@CONFPATH@/$$F" >&2 ; \
1208+
echo " CHOWN(root:@RUN_AS_GROUP@) CGI: $(DESTDIR)/@CONFPATH@/$$F" >&2 ; \
12001209
chown "root:@RUN_AS_GROUP@" "$(DESTDIR)/@CONFPATH@/$$F" \
12011210
|| { if $(WITH_CGI) ; then exit 1 ; else true ; fi ; } ; \
12021211
done ; \
12031212
for F in nut.conf.sample ups.conf.sample upsd.conf.sample upsd.users.sample upsmon.conf.sample upssched.conf.sample ; do \
1204-
echo " CHOWN(root:@RUN_AS_GROUP@) $(DESTDIR)/@CONFPATH@/$$F" >&2 ; \
1213+
echo " CHOWN(root:@RUN_AS_GROUP@) $(DESTDIR)/@CONFPATH@/$$F" >&2 ; \
12051214
chown "root:@RUN_AS_GROUP@" "$(DESTDIR)/@CONFPATH@/$$F" \
12061215
|| exit ; \
12071216
done ; \
@@ -1370,10 +1379,10 @@ install-win-bundle-thirdparty:
13701379

13711380
else !HAVE_WINDOWS
13721381
install-win-bundle:
1373-
@echo "SKIP: '$@' not enabled for current build configuration"
1382+
@echo " SKIP '$@' : not enabled for current build configuration"
13741383

13751384
install-win-bundle-thirdparty:
1376-
@echo "SKIP: '$@' not enabled for current build configuration"
1385+
@echo " SKIP '$@' : not enabled for current build configuration"
13771386
endif !HAVE_WINDOWS
13781387

13791388
print-MAINTAINERCLEANFILES print-REALCLEANFILES:

0 commit comments

Comments
 (0)