Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
247 commits
Select commit Hold shift + click to select a range
74b1f41
Initial conf library.
EmilienKia Oct 10, 2012
1360d08
Implement abstract configuration parser.
EmilienKia Oct 15, 2012
b2f95f9
Add stubs for DefaultConfigParser
EmilienKia Oct 15, 2012
0f885b0
Define a typedef type to make function easier to understand.
EmilienKia Oct 19, 2012
4798e59
Implement abstract class DefaultConfigParser
EmilienKia Oct 19, 2012
501cdb0
Implement GenericConfigParser and related.
EmilienKia Oct 19, 2012
eb363e4
Virtualize GenericConfiguration with BaseConfiguration to really allo…
EmilienKia Oct 19, 2012
86e3262
Add GenericConfiguration function to parse from string (use GenericCo…
EmilienKia Oct 19, 2012
bae95f7
Add unit test for GenericConfiguration parsing.
EmilienKia Oct 22, 2012
31fc32c
Add stubs for upsmon.conf parser and config structure.
EmilienKia Oct 22, 2012
bf53b02
Add notify messages array in UpsmonConfiguration (oups !).
EmilienKia Oct 23, 2012
513bb43
Create and use a Settable helper which indicate if a parameter is set…
EmilienKia Oct 23, 2012
5e6487f
Implement UpsmonConfigParser and related.
EmilienKia Oct 23, 2012
c69305d
Implement nut.conf NutConfiguration parser.
EmilienKia Oct 23, 2012
ba516e7
Implement upsd.conf UpsdConfigParser.
EmilienKia Oct 23, 2012
4decf08
Add equality test operators for Settable<T> and UpsdConfiguration::Li…
EmilienKia Oct 24, 2012
e1a76f3
Add test for UpsdConfiguration parsing.
EmilienKia Oct 24, 2012
d9f652d
Add parsing options and allow ':' to be interpreted as normal character.
EmilienKia Oct 24, 2012
3c15b9a
Initial implementation of nut::NutStream sub-tree
Nov 16, 2012
b5b7cbc
Unit tests for nut::NutStream subtree
Nov 22, 2012
e95e289
Forgotten UT source from prev. commit
Nov 22, 2012
003e345
Partial implementation on NutWriter subtree
Nov 28, 2012
2e54e2d
NutWriter: ups.conf upsmon.conf upsd.conf support
Nov 30, 2012
5e9ae92
UpsConfiguration class added to libnutconf
Dec 5, 2012
a5da456
Special serialiser for upsd.users config file
Dec 6, 2012
3d8c92c
Bugfix: out. std::stringstream constr. arg ignored
Dec 6, 2012
754036c
Support for upsd.users config. file added
Dec 6, 2012
89a534c
(De)serialisation methods added to config. classes
Dec 7, 2012
38c9934
Basic unit tests for libnutconf
Dec 11, 2012
ff401e5
NUT IPC module introduction
Dec 14, 2012
f364e22
Add a little sample to use libconf.
EmilienKia Dec 20, 2012
e9e0752
nutipc: linking cleanup & exec UT
Jan 7, 2013
475580a
nutipc: ext. command execution improvements
Jan 7, 2013
6d6e56a
nutipc: signal sending UTs
Jan 8, 2013
0cf62c5
nutconf: fix of misplaced value quoting
Jan 8, 2013
b6ffc87
nutipc: signal handling UT added
Jan 9, 2013
46a3a45
C++11 code removed due platform compatibility
Jan 21, 2013
897a05b
The very 1st nutconf tool stub
Jan 22, 2013
62a3586
nutconf: --is-configured option introduced
Jan 23, 2013
b0efd21
nutconf: daily commit
Jan 24, 2013
1de379f
nutconf: daily commit
Jan 25, 2013
0b00605
nutconf: --{set|add}-device options added
Jan 25, 2013
b5a4db0
nutconf: --{set|add}-notifyflags options added
Jan 28, 2013
2c94e25
nutconf: --set-notifymsg option added
Jan 28, 2013
12143f5
nutconf: --set-shutdowncmd option added
Jan 28, 2013
40f0b69
Support for FreeIPMI 1.1.x and 1.2.x (#2)
aquette Sep 19, 2012
606663e
Support power supplies scan over the network
aquette Oct 4, 2012
601c46d
Add nut-scanner support for Eaton serial units
aquette Jan 22, 2013
1c6b2b2
Protect header files for C++ inclusion.
EmilienKia Jan 13, 2013
3c5a63f
nutconf: --{set|add}-user options added
Jan 29, 2013
14bfefb
nutconf: --scan-* options added
Jan 30, 2013
db64fe7
nutconf: --scan-snmp option added
Jan 31, 2013
1ec2f71
nutconf: added --scan-serial option
Feb 1, 2013
7122acd
nutconf: manpage added
Feb 1, 2013
930a000
nutconf: compilation & finishing touches
Feb 4, 2013
a2caf28
nutconf: bugfixes + HTML manpage
Feb 5, 2013
78cb35c
nutconf: device with no options bugfix
Feb 5, 2013
7be9634
nutconf: proper device config dump
Feb 5, 2013
04d5903
nutconf: another round of bugfixes
Feb 5, 2013
0320875
libnutscan: serial device type string undefined
Feb 7, 2013
9362bad
libnutscan: dev. type strings array size fixed
Feb 8, 2013
1be6bd4
nutconf: --scan-serial port list bugfix
Feb 8, 2013
6104c9a
tests: Fix build without libcppunit
clepple Mar 10, 2013
417fbfc
nutconf: reintroduction of funcs lost in trans.
Mar 18, 2013
345980b
nutconf: --{add|set}-device: <key>=<value> support
Mar 29, 2013
f6a29ec
nutconf man page update
Apr 12, 2013
ee97288
Merge tag 'v2.7.1' into libconf-nutconf (started from v2.6.5)
jimklimov Jan 27, 2024
b167401
Merge tag 'v2.7.4' into libconf-nutconf
jimklimov Jan 27, 2024
b42a448
Merge tag 'v2.8.0' into libconf-nutconf
jimklimov Jan 27, 2024
441dd4f
Merge tag 'v2.8.1' into libconf-nutconf
jimklimov Jan 27, 2024
0e19ab1
Import NUT source changes for nutconf tool from 42ITy (initial set)
jimklimov Jan 14, 2022
f5da712
tools/nutconf/Makefile.am: modernize
jimklimov Jan 14, 2022
4970227
tools/nutconf/nutconf.cpp: add (C) header
jimklimov Jan 14, 2022
3a722d6
Add tools/nutconf/.gitignore
jimklimov Jan 14, 2022
7853565
tools/nutconf/nutconf.cpp: adjust to changed API for nutscan_scan_xml…
jimklimov Jan 14, 2022
f30fbb3
Spellcheck manpage for nutconf tool
jimklimov Jan 14, 2022
231e4e2
nutconf codebase: fix C++17 warnings - dynamic throw() declaration
jimklimov Jan 15, 2022
1593273
nutconf codebase: fix C++17 warnings - equality operators should retu…
jimklimov Jan 15, 2022
f92941c
tools/nutconf/Makefile.am, tests/Makefile.am, configure.ac: limit the…
jimklimov Jan 15, 2022
cc5e316
tools/nutconf/Makefile.am: update Makefile markup and comments
jimklimov Jan 24, 2024
d423987
tools/nutconf/nutconf.cpp: fix file description
jimklimov Jan 24, 2024
87d5f04
nutconf related sources: fix whitespace style
jimklimov Jan 24, 2024
84d3517
common/nutconf.cpp: NutConfigParser::parseConfig(): pre-initialize "s…
jimklimov Jan 24, 2024
ee19b55
nutconf related sources: fix deprecated throw() declarations to not b…
jimklimov Jan 24, 2024
248d893
nutconf related sources: fix typos and wording in comments
jimklimov Jan 24, 2024
b0732a5
Rename include/nutconf.h => .hpp as a C++ specific source file
jimklimov Jan 24, 2024
892e578
nutconf related sources: use NUT_UNUSED_VARIABLE() to decorate the co…
jimklimov Jan 24, 2024
abe7c1a
common/nutconf.cpp: NutConfigParser::parseConfig(): fix switch/case t…
jimklimov Jan 24, 2024
7d75e18
nutconf related sources: fix implicit copy/move operator warnings - u…
jimklimov Jan 24, 2024
2b9a546
common/nutconf.cpp: NutConfigParser::parseConfig(): reshuffle base vs…
jimklimov Jan 27, 2024
bc1269c
include/nutipc.hpp: avoid naming clash for QUIT signal and command
jimklimov Jan 25, 2024
90a93b3
common/nutstream.cpp: formatIPv{4,6}addr(): code typo fix (bit maths,…
jimklimov Jan 24, 2024
256f6a0
include/nutipc.hpp: Process::Child<M>::wait(): fix error-case check
jimklimov Jan 24, 2024
8ff7e53
common/nutstream.cpp: address a run-time warning about tempnam()
jimklimov Jan 24, 2024
0ae8eca
tools/nutconf/nutconf.cpp: adapt nutscan_scan_usb() to libnutscan API…
jimklimov Jan 24, 2024
e833186
configure.ac, tests/nutconf_ut.cpp: rearrange to use ABS_TOP_SRCDIR a…
jimklimov Jan 24, 2024
6d791a4
tests/nutconf_ut.cpp: update expectations for current ups.conf.sample…
jimklimov Jan 24, 2024
1683379
nutconf related changes: avoid NULL ("zero as null pointer constant")…
jimklimov Jan 25, 2024
56b4d6f
nutconf related sources: avoid "no out-of-line virtual method definit…
jimklimov Jan 25, 2024
81b3216
include/nutconf.hpp: avoid naming clash for Token "type" and "str" pr…
jimklimov Jan 25, 2024
92910d2
nutconf related sources: avoid "old-style cast" usage
jimklimov Jan 25, 2024
b178b6c
include/nutconf.hpp: err on the safe side by having a default handler…
jimklimov Jan 25, 2024
4992258
include/nutconf.cpp: avoid annotating a switch/case fallthrough
jimklimov Jan 25, 2024
c6b9ca5
include/nutconf.cpp: NutConfigParser::parseConfig(): be explicit abou…
jimklimov Jan 25, 2024
b6eb8b3
include/nutconf.cpp: NutConfigParser::parseConfig(): explicitly handl…
jimklimov Jan 25, 2024
edd72d1
include/nutconf.hpp: align UpsmonConfiguration::notifyFlags type with…
jimklimov Jan 25, 2024
1a8fd30
include/nutstream.hpp: decorate unimplemented methods which only thro…
jimklimov Jan 25, 2024
7eb561d
include/nutipc.hpp: align templated class destructor name with class …
jimklimov Jan 25, 2024
10506cb
include/nutipc.hpp: align array deleter with allocator
jimklimov Jan 25, 2024
5b31da5
include/nutipc.hpp: align size_t vs ssize_t maths
jimklimov Jan 25, 2024
a03f151
include/nutstream.hpp: align size_t vs ssize_t maths
jimklimov Jan 25, 2024
031c0f0
include/nutwriter.hpp: comment away a currently unused static method
jimklimov Jan 25, 2024
fbd05cd
include/nutconf.{c,h}pp: align port type to uint16_t (not plain or sh…
jimklimov Jan 25, 2024
040f586
common/nutconf.cpp: cast around std::getline() for parenthesized syntax
jimklimov Jan 25, 2024
c3c850c
tools/nutconf/nutconf.cpp: align "us_timeout" to be "useconds_t" not …
jimklimov Jan 25, 2024
cb5344f
tools/nutconf/nutconf.cpp: mark almost all methods in the tool as static
jimklimov Jan 25, 2024
d5685d8
tools/nutconf/nutconf.cpp: avoid shadowing a class property with meth…
jimklimov Jan 25, 2024
685ae0e
tests/nutstream_ut.cpp: fix cast of size_t vs. double for "pivot"
jimklimov Jan 25, 2024
f5a01d9
nutconf related tests: declare the override of CPPUNIT methods
jimklimov Jan 25, 2024
94efa11
tests/nutipc_ut.cpp: declare the override of nut::Signal::Handler met…
jimklimov Jan 25, 2024
bc65ae2
nutconf related tests: avoid "no out-of-line virtual method definitio…
jimklimov Jan 25, 2024
12739f0
nutconf related tests: avoid "old-style cast" usage
jimklimov Jan 25, 2024
1182587
Merge remote-tracking branch 'upstream/master' as of 2024-01-22 into …
jimklimov Jan 27, 2024
bf217ee
configure.ac: use -Wno-exit-time-destructors and -Wno-global-construc…
jimklimov Jan 25, 2024
7567b49
ci_build.sh: add support for CANBUILD_NUTCONF toggle (NUT_BUILD_CAPS=…
jimklimov Jan 15, 2022
79327f9
tests/nutstream_ut.cpp: Randomize bind(port) to try avoiding collisio…
jimklimov Jan 28, 2024
a83873b
Merge remote-tracking branch 'upstream/master' into libconf-nutconf
jimklimov Jan 29, 2024
5248968
configure.ac: default --with-nutconf=auto (based on have_cxx11) and a…
jimklimov Jan 24, 2024
e38d725
ci_build.sh: update that nutconf is now fair game for builds and tests
jimklimov Jan 24, 2024
302a307
nutconf related sources: revise include file lists and order (config.…
jimklimov Jan 28, 2024
cdbf69b
common/nutstream.cpp: adapt socket operations to Win/Lin cross builds…
jimklimov Jan 28, 2024
76eb155
common/nutconf.cpp: rename "system" and "word" vars to avoid clashes …
jimklimov Jan 28, 2024
3d08205
common/nutstream.cpp: add a comment about NutFile::m_tmp_dir (should …
jimklimov Jan 28, 2024
21d66c5
include/nutstream.hpp, common/nutstream.cpp: currently neuter AF_UNIX…
jimklimov Jan 28, 2024
a5d2c88
common/nutstream.cpp: radically avoid the hassle with sa_family type
jimklimov Jan 28, 2024
a94ba7b
nutconf related codebase: neuter code parts that need WIN32 implement…
jimklimov Jan 28, 2024
6c04c0c
common/Makefile.am: add NETLIBS to libnutconf (esp. needed on WIN32 b…
jimklimov Jan 28, 2024
72b3674
tools/nutconf/nutconf.cpp: avoid bogus warnings about uninitialized map
jimklimov Jan 29, 2024
c30e935
common/nutstream.cpp: comment not-use of wincompat.h
jimklimov Jan 29, 2024
ea4c155
tests/nutstream_ut.cpp: ensure random() symbol for WIN32 builds
jimklimov Jan 29, 2024
b9a22d8
common/nutipc.cpp: disarm NUT fallbacks for time methods (as may be d…
jimklimov Jan 29, 2024
9ec1923
nutconf related headers: tell clang to ignore "unknown" \retval in Do…
jimklimov Jan 29, 2024
598717f
configure.ac: tell clang to ignore "unknown" \retval in Doxygen comments
jimklimov Jan 29, 2024
3ae7918
Merge branch 'master' into libconf-nutconf-enable-build
jimklimov Jan 29, 2024
49bcc28
NEWS.adoc: update info about installer
jimklimov Jan 29, 2024
b7445c3
NEWS.adoc: document addition of nutconf [#2290]
jimklimov Jan 29, 2024
bf65eed
Revert "nutconf related headers: tell clang to ignore "unknown" \retv…
jimklimov Jan 29, 2024
fc8cb44
tests/nutstream_ut.cpp: cast the random() port number to uint16_t
jimklimov Jan 30, 2024
5d59b03
tests/nutipc_ut.cpp: not all shells have "test" with two equality chars
jimklimov Jan 30, 2024
4812a2b
tests/nutstream_ut.cpp: troubleshoot writer_exit!=0
jimklimov Jan 30, 2024
482a132
nutconf related code: where we use pragmas for "-Wcovered-switch-defa…
jimklimov Jan 30, 2024
763d7b5
nutconf related tests: CPPUNIT_MACROS raise warnings (for older compi…
jimklimov Jan 30, 2024
085b379
tests/nutstream_ut.cpp: troubleshoot listen_sock.bind(m_listen_addres…
jimklimov Jan 30, 2024
3445299
tests/nutstream_ut.cpp: use CPPUNIT_ASSERT_MESSAGE with prepared C++ …
jimklimov Jan 30, 2024
0f2ab24
tools/nutconf/nutconf.cpp: getMode(): wrap potentially unreachable de…
jimklimov Jan 30, 2024
7146ff4
m4/ax_c_pragmas.m4: introduce HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORED_DEPR…
jimklimov Jan 30, 2024
6e48e5f
tests/nutstream_ut.cpp: make use of HAVE_PRAGMA_GCC_DIAGNOSTIC_IGNORE…
jimklimov Jan 30, 2024
fc2b560
common/nutwriter.cpp: avoid UPSD_DIRECTIVEX and UPSMON_DIRECTIVEX mac…
jimklimov Jan 30, 2024
3e1a858
tests/cpputest.cpp: initialize random number generator with srand()
jimklimov Jan 30, 2024
b0d3a14
tests/nutconf.cpp: rename to nutconf_parser_ut.cpp to reduce ambiguity
jimklimov Feb 9, 2024
e7cfbee
tools/nutconf/nutconf.cpp: rename to nutconf-cli.cpp to reduce ambiguity
jimklimov Feb 9, 2024
21320ea
tools/nutconf/nutconf-cli.cpp: rearrange getMode() default handling
jimklimov Feb 9, 2024
6252bc4
common/nutstream.cpp, include/nutstream.hpp: wrap some long exception…
jimklimov Feb 9, 2024
a7f45e9
common/nutstream.cpp: NutFile class: take more care about empty m_nam…
jimklimov Feb 9, 2024
328ed23
common/nutstream.cpp, include/nutstream.hpp: NutFile class: refactor …
jimklimov Feb 9, 2024
bfbb901
common/nutstream.cpp, include/nutstream.hpp: NutFile class: refactor …
jimklimov Feb 9, 2024
38b9662
m4/nut_compiler_family.m4: fix detection of a compiler standard alrea…
jimklimov Feb 9, 2024
ca461a9
tests/nutipc_ut.cpp: try to fix the occasional fault of testSignalRecv()
jimklimov Feb 9, 2024
5b9e3f6
tests/nutipc_ut.cpp: try to fix the occasional fault of testSignalRec…
jimklimov Feb 9, 2024
2d4cada
tests/nutstream_ut.cpp: try to fix the use of really random port numb…
jimklimov Feb 9, 2024
acbefd5
ci_build.sh: refine CANBUILD_NUTCONF handling vs. CXXFLAGS="-std=..."
jimklimov Feb 9, 2024
6650194
drivers/sms_ser.c, clients/upssched.c: avoid "FOR loop initial declar…
jimklimov Feb 9, 2024
b12746c
tests/NIT/nit.sh: make sure log_debug() never errors out
jimklimov Feb 9, 2024
f609922
tests/NIT/nit.sh: isBusy_NUT_PORT(): add log_debug() tracing about de…
jimklimov Feb 9, 2024
9507f50
tests/NIT/nit.sh: isBusy_NUT_PORT(): do not test for non-emptiness of…
jimklimov Feb 9, 2024
60ef042
tests/NIT/nit.sh: isBusy_NUT_PORT(): check known sockets also with "s…
jimklimov Feb 9, 2024
6f525aa
tests/NIT/nit.sh: support NIT_CASE=isBusy_NUT_PORT for troubleshooting
jimklimov Feb 9, 2024
94c87e7
Jenkinsfile-dynamatrix: constrain cross-mingw builds to GNU C standar…
jimklimov Feb 10, 2024
c5cf9db
Merge branch 'master' into libconf-nutconf-enable-build
jimklimov Feb 10, 2024
46f3f1d
Merge branch 'master' into libconf-nutconf-enable-build
jimklimov Feb 11, 2024
cd650c0
tests/nutipc_ut.cpp: separate tests about received signal count (rapi…
jimklimov Feb 12, 2024
fc8bd0f
tests/nutstream_ut.cpp: try to actively probe an available port numbe…
jimklimov Feb 12, 2024
b0ced57
tests/cpputest.cpp: be sure to flush the printout of starting test na…
jimklimov Feb 12, 2024
c23b3c4
tests/nutipc_ut.cpp, tests/nutconf_ut.cpp: register each test separat…
jimklimov Feb 12, 2024
fc40182
tests/nutipc_ut.cpp: be sure to caught_signals.clear() early in testS…
jimklimov Feb 12, 2024
4f3b06d
configure.ac, ci_build.sh: introduce --with-debuginfo (BUILD_DEBUGINF…
jimklimov Feb 12, 2024
1401d59
ci_build.sh: add "TAKING SHORTCUT" to re-generate if current configur…
jimklimov Feb 12, 2024
a48c5de
configure.ac: separate internally nut_with_debuginfo into nut_with_de…
jimklimov Feb 12, 2024
f835692
tests/nutstream_ut.cpp: avoid forked helper continuing with another c…
jimklimov Feb 12, 2024
d2b8677
tests/cpputest.cpp: be sure to avoid debug-trace segfaults if "test" …
jimklimov Feb 12, 2024
01ac835
tests/cpputest.cpp: avoid segfault with debug-trace progress printer …
jimklimov Feb 12, 2024
cb3ebd4
appveyor.yml: print trace files if "make check" failed
jimklimov Feb 12, 2024
e4bba32
tests/nutipc_ut.cpp: testSignalRecvQuick(): avoid switch/case over an…
jimklimov Feb 12, 2024
7040512
ci_build.sh: empty BUILD_TYPE is not an "error", fix the warning message
jimklimov Feb 12, 2024
abf2a9e
appveyor.yml: use double-quotes to wrap bash calls (windows shell is …
jimklimov Feb 12, 2024
6b44778
include/nutipc.hpp, tests/nutipc_ut.cpp: accomodate the likes of OSX …
jimklimov Feb 12, 2024
8710305
tests/nutstream_ut.cpp: on IWN32, use WSAStartup() before socket methods
jimklimov Feb 12, 2024
3f84c99
Revert "appveyor.yml: use double-quotes to wrap bash calls (windows s…
jimklimov Feb 12, 2024
3f851cf
configure.ac: if we apply nut_with_debuginfo_CXX, avoid separate sett…
jimklimov Feb 12, 2024
fdc9574
configure.ac, tests/Makefile.am: define CPPUNIT_NUT_CXXFLAGS properly
jimklimov Feb 12, 2024
96456cf
appveyor.yml: try to print "make check" post-mortem details with a su…
jimklimov Feb 12, 2024
eb11040
tests/nutstream_ut.cpp: getFreePort(): use sock.closex() with excepti…
jimklimov Feb 12, 2024
f93c31f
tests/nutstream_ut.cpp: let the destructor alone close() the bound so…
jimklimov Feb 13, 2024
1102c04
common/nutstream.cpp: fix NutSocket calls to read/write/close/connect…
jimklimov Feb 13, 2024
6eccafa
configure.ac: allow to --enable-cppunit=force for dev-testing
jimklimov Feb 13, 2024
5e86f01
Revert "tests/nutstream_ut.cpp: let the destructor alone close() the …
jimklimov Feb 13, 2024
81d72b3
tests/cpputest.cpp, tests/nutstream_ut.cpp: let individual tests see …
jimklimov Feb 13, 2024
aa1fdad
tests/nutstream_ut.cpp: use global "verbose" setting to trace readTes…
jimklimov Feb 13, 2024
95ffab6
common/nutstream.cpp: avoid use of hard-coded temporary path; fix WIN…
jimklimov Feb 13, 2024
35094b3
common/nutstream.cpp, include/nutstream.hpp: track NutSocket domain a…
jimklimov Feb 13, 2024
32c76a1
common/nutstream.cpp, include/nutstream.hpp, tests/nutstream_ut.cpp: …
jimklimov Feb 13, 2024
8e6d628
include/nutstream.hpp: make flush() methods in the NutStream classes …
jimklimov Feb 13, 2024
3e980b1
configure.ac: avoid autoconf-added debug/optimization settings
jimklimov Feb 13, 2024
bfacbfa
common/nutstream.cpp: refactor getTmpDirPath() with checkExistsWritab…
jimklimov Feb 13, 2024
6711f7f
common/nutstream.cpp: drop fflush() for sockets, not applicable type
jimklimov Feb 13, 2024
d943da2
common/nutstream.cpp, common/Makefile.am: augment getTmpDirPath() wit…
jimklimov Feb 13, 2024
ac55aeb
configure.ac: rearrange mangling of CFLAGS and CXXFLAGS by autotools …
jimklimov Feb 14, 2024
49f0604
configure.ac: do not mangle C(XX)FLAGS added by autotools; just stash…
jimklimov Feb 14, 2024
6c7ecb7
configure.ac: avoid needless quoting in AC_MSG_RESULT() printouts
jimklimov Feb 14, 2024
1b62dc5
configure.ac: fix typo in shell test
jimklimov Feb 14, 2024
4c8bde3
NEWS.adoc: document "configure --with-debuginfo" possibility [#2290]
jimklimov Feb 14, 2024
51f64a8
configure.ac: hide C(XX)FLAGS_(BEFORE|AFTER)_ACPROG tracing printouts…
jimklimov Feb 14, 2024
a10afda
configure.ac: add C(XX)FLAGS_ORIG tracing printouts to where we check…
jimklimov Feb 14, 2024
0a554cc
configure.ac: move stashing of CFLAGS_ORIG/CXXFLAGS_ORIG higher in th…
jimklimov Feb 14, 2024
4feec97
configure.ac: rename C(XX)FLAGS_ORIG to CONFIG_C(XX)FLAGS to avoid co…
jimklimov Feb 14, 2024
64360be
configure.ac: move CONFIG_C(XX)FLAGS definition back down to where we…
jimklimov Feb 14, 2024
b833cc0
m4/nut_report_feature.m4: adjust NUT_REPORT_COMPILERS to note about d…
jimklimov Feb 14, 2024
0039c43
common/nutstream.cpp: :NutFile(anonymous_t), getTmpDirPath(): use ASC…
jimklimov Feb 14, 2024
368bd87
common/nutstream.cpp: getTmpDirPath(): comment about a C++17 equivale…
jimklimov Feb 14, 2024
21bb932
common/nutstream.cpp: getTmpDirPath(): return "/tmp" not "/var/tmp" b…
jimklimov Feb 14, 2024
05c18ff
common/nutstream.cpp: NutFile(anonymous_t): pre-zero filename buffer
jimklimov Feb 14, 2024
85c16aa
common/nutstream.cpp: NutFile(anonymous_t): use tmp file as binary in…
jimklimov Feb 14, 2024
3ae862f
common/nutstream.cpp: NutFile(anonymous_t): trace the attempted m_tmp…
jimklimov Feb 14, 2024
1110c66
common/nutstream.cpp: neuter fallback localtime_r(), gmtime_r() on mi…
jimklimov Feb 14, 2024
7ac04f7
tests/nutstream_ut.cpp: improve chances on parallel CI testing: retry…
jimklimov Feb 14, 2024
6f71248
common/nutstream.cpp: try more locations for getTmpDirPath(), particu…
jimklimov Feb 14, 2024
d7b2929
appveyor.yml: be sure to have a NUT_STATEPATH spelled in a way that i…
jimklimov Feb 14, 2024
2e9555e
common/nutstream.cpp: NutFile::open(): try to report the filename whi…
jimklimov Feb 14, 2024
23668bc
configure.ac: fix up ABS_TOP_SRCDIR/ABS_TOP_BUILDDIR for builds of NU…
jimklimov Feb 14, 2024
c428d1d
Merge remote-tracking branch 'upstream/master' into libconf-nutconf-e…
jimklimov Feb 14, 2024
ca47f71
configure.ac: fix WIN32 resolution of build/src paths for tests
jimklimov Feb 15, 2024
6f03473
common/nutstream.cpp: checkExistsWritableDir(): add debuggging, fix u…
jimklimov Feb 15, 2024
dfaf727
tests/nutconf_ut.cpp: add a big comment about POSIX/WIN32 (absolute) …
jimklimov Feb 15, 2024
85866d4
common/nutstream.cpp: NutFile::open(): add a big comment about POSIX/…
jimklimov Feb 15, 2024
a3390bf
Merged 'upstream/master' to 'libconf-nutconf-enable-build'
jimklimov Feb 15, 2024
e1454a7
configure.ac: The more slashes - the better! One can never fully esca…
jimklimov Feb 15, 2024
6ef09b4
tests/nutconf_ut.cpp: with fixed ABS_TOP_SRCDIR for WIN32, un-block c…
jimklimov Feb 15, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion NEWS.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,15 @@ https://github.com/networkupstools/nut/milestone/10
- Eaton contributed recipes and scripts used to create the IPP for Unix bundle
(UPS software companion), delivering NUT packages with an interactive
installer and some system integration scripts (events, notifications,
status, shutdown daemon...) [#2288]
status, shutdown daemon...) -- provided "as is" at the moment, and may
later serve as foundation or inspiration for new NUT features. [#2288]

- nutconf (C++ library and tool to read and manage NUT configuration files)
was started in the open by Eaton employees and used in the IPP installer,
but the code lingered in a side branch. It was now brushed up to our common
best practices and added to the main codebase. As of this import, there are
known deficiencies in Windows platform support, as well as some un-awareness
about configuration key words which appeared in NUT since 2013. [#2290]


Release notes for NUT 2.8.1 - what's new since 2.8.0
Expand Down
2 changes: 1 addition & 1 deletion appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ test_script:
REM Start a 64 bit Mingw environment:
set MSYSTEM=MINGW64
REM Start Mingw-based integration and unit checks:
C:\msys64\usr\bin\bash -lc 'date -u; PATH="/mingw64/bin:$PATH" make -s check'
C:\msys64\usr\bin\bash -lc 'date -u; NUT_STATEPATH="C:\\Users\\appveyor\\AppData\\Local\\Temp\\nut-test"; mkdir -p "${NUT_STATEPATH}"; export NUT_STATEPATH; PATH="/mingw64/bin:$PATH" make -s check || bash -lc "for F in tests/*.log tests/*.trs ; do echo \"===---=== $F :\"; cat \"$F\"; done; exit 1;" '
REM Start a Mingw-based documentation spellcheck:
C:\msys64\usr\bin\bash -lc 'date -u; PATH="/mingw64/bin:$PATH" make -s -j 4 spellcheck'

Expand Down
46 changes: 46 additions & 0 deletions ci_build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -296,6 +296,18 @@ for L in $NODE_LABELS ; do
"NUT_BUILD_CAPS=cppunit"|"NUT_BUILD_CAPS=cppunit=yes")
[ -n "$CANBUILD_CPPUNIT_TESTS" ] || CANBUILD_CPPUNIT_TESTS=yes ;;

# This should cover both the --with-nutconf tool setting
# and the cppunit tests for it (if active per above).
# By default we would nowadays guess (requires C++11).
"NUT_BUILD_CAPS=nutconf=no")
[ -n "$CANBUILD_NUTCONF" ] || CANBUILD_NUTCONF=no ;;
"NUT_BUILD_CAPS=nutconf=no-gcc")
[ -n "$CANBUILD_NUTCONF" ] || CANBUILD_NUTCONF=no-gcc ;;
"NUT_BUILD_CAPS=nutconf=no-clang")
[ -n "$CANBUILD_NUTCONF" ] || CANBUILD_NUTCONF=no-clang ;;
"NUT_BUILD_CAPS=nutconf"|"NUT_BUILD_CAPS=nutconf=yes")
[ -n "$CANBUILD_NUTCONF" ] || CANBUILD_NUTCONF=yes ;;

# Some (QEMU) builders have issues running valgrind as a tool
"NUT_BUILD_CAPS=valgrind=no")
[ -n "$CANBUILD_VALGRIND_TESTS" ] || CANBUILD_VALGRIND_TESTS=no ;;
Expand Down Expand Up @@ -1063,6 +1075,40 @@ default|default-alldrv|default-alldrv:no-distcheck|default-all-errors|default-sp
CONFIG_OPTS+=("--enable-cppunit=no")
fi

if ( [ "${CANBUILD_NUTCONF-}" = "no-gcc" ] && [ "$COMPILER_FAMILY" = "GCC" ] ) \
|| ( [ "${CANBUILD_NUTCONF-}" = "no-clang" ] && [ "$COMPILER_FAMILY" = "CLANG" ] ) \
; then
CANBUILD_NUTCONF=no
fi

case "${CANBUILD_NUTCONF-}" in
yes)
# Depends on C++11 or newer, so let configure script try this tediously
# unless we know we would not build for the too-old language revision
case "${CXXFLAGS-}" in
*-std=c++98*|*-std=gnu++98*|*-std=c++03*|*-std=gnu++03*)
echo "WARNING: Build agent says it can build nutconf, but requires a test with C++ revision too old - so not requiring the experimental feature (auto-try)" >&2
CONFIG_OPTS+=("--with-nutconf=auto")
;;
*-std=c++0x*|*-std=gnu++0x*|*-std=c++1*|*-std=gnu++1*|*-std=c++2*|*-std=gnu++2*)
echo "WARNING: Build agent says it can build nutconf, and requires a test with a sufficiently new C++ revision - so requiring the experimental feature" >&2
CONFIG_OPTS+=("--with-nutconf=yes")
;;
*)
echo "WARNING: Build agent says it can build nutconf, and does not specify a test with prticular C++ revision - so not requiring the experimental feature (auto-try)" >&2
CONFIG_OPTS+=("--with-nutconf=auto")
;;
esac
;;
no)
echo "WARNING: Build agent says it can not build nutconf, disabling the feature (do not even try)" >&2
CONFIG_OPTS+=("--with-nutconf=no")
;;
"")
CONFIG_OPTS+=("--with-nutconf=auto")
;;
esac

if [ "${CANBUILD_VALGRIND_TESTS-}" = no ] ; then
echo "WARNING: Build agent says it has a broken valgrind, adding configure option to skip tests with it" >&2
CONFIG_OPTS+=("--with-valgrind=no")
Expand Down
18 changes: 16 additions & 2 deletions common/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,22 @@
@NUT_AM_MAKE_CAN_EXPORT@export CCACHE_PATH=@CCACHE_PATH@
@NUT_AM_MAKE_CAN_EXPORT@export PATH=@PATH_DURING_CONFIGURE@

AM_CFLAGS = -I$(top_srcdir)/include
AM_CFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
AM_CXXFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
AM_LDFLAGS = -no-undefined
EXTRA_DIST =

noinst_LTLIBRARIES = libparseconf.la libcommon.la libcommonclient.la
if WITH_NUTCONF
# We define the recipe below in any case, but only activate it by default
# if the build configuration tells us to:
noinst_LTLIBRARIES += libnutconf.la
endif

libparseconf_la_SOURCES = parseconf.c

libnutconf_la_SOURCES = nutconf.cpp nutstream.cpp nutwriter.cpp nutipc.cpp

# do not hard depend on '../include/nut_version.h', since it blocks
# 'dist', and is only required for actual build, in which case
# BUILT_SOURCES (in ../include) will ensure nut_version.h will
Expand Down Expand Up @@ -75,7 +84,7 @@ endif
if HAVE_WINDOWS
libcommon_la_SOURCES += wincompat.c $(top_srcdir)/include/wincompat.h
libcommonclient_la_SOURCES += wincompat.c $(top_srcdir)/include/wincompat.h
endif
endif HAVE_WINDOWS

# ensure inclusion of local implementation of missing systems functions
# using LTLIBOBJS. Refer to configure.in/.ac -> AC_REPLACE_FUNCS
Expand All @@ -85,6 +94,11 @@ libcommonclient_la_LIBADD = libparseconf.la @LTLIBOBJS@ @NETLIBS@
libcommon_la_CFLAGS = $(AM_CFLAGS)
libcommonclient_la_CFLAGS = $(AM_CFLAGS)

if WITH_NUTCONF
libnutconf_la_CXXFLAGS = $(AM_CXXFLAGS)
libnutconf_la_LIBADD = @LTLIBOBJS@ @NETLIBS@ libcommonclient.la
endif WITH_NUTCONF

if HAVE_LIBREGEX
libcommon_la_CFLAGS += $(LIBREGEX_CFLAGS)
libcommon_la_LIBADD += $(LIBREGEX_LIBS)
Expand Down
Loading