CI: Fix configure.ac and Makefiles to deliver libnutconf (optionally)#2828
Merged
jimklimov merged 18 commits intonetworkupstools:masterfrom Mar 2, 2025
Merged
CI: Fix configure.ac and Makefiles to deliver libnutconf (optionally)#2828jimklimov merged 18 commits intonetworkupstools:masterfrom
jimklimov merged 18 commits intonetworkupstools:masterfrom
Conversation
|
❌ Build nut 2.8.2.2800-master failed (commit 07c1f2d071 by @jimklimov) |
…e -j` [networkupstools#2825] Signed-off-by: Jim Klimov <[email protected]>
…tions Signed-off-by: Jim Klimov <[email protected]>
Signed-off-by: Jim Klimov <[email protected]>
… names Signed-off-by: Jim Klimov <[email protected]>
…ddition of "skel" Signed-off-by: Jim Klimov <[email protected]>
* FIXME: Enable SO build, API version, etc. like in clients/Makefile.am and nut-scanner * Headers somewhere there too Signed-off-by: Jim Klimov <[email protected]>
…ing them into a library Signed-off-by: Jim Klimov <[email protected]>
… experimental) to generate the shared object file Signed-off-by: Jim Klimov <[email protected]>
3d75e31 to
e4b95f3
Compare
|
✅ Build nut 2.8.2.2801-master completed (commit 1c55d0ba07 by @jimklimov) |
…r lib+headers) and WITH_LIBNUTCONF (at least one of tool or lib) Signed-off-by: Jim Klimov <[email protected]>
Signed-off-by: Jim Klimov <[email protected]>
… we already use it in libcommonclient.la Signed-off-by: Jim Klimov <[email protected]>
Signed-off-by: Jim Klimov <[email protected]>
…completes, report SUCCESS more visibly Signed-off-by: Jim Klimov <[email protected]>
…tax of configure options Signed-off-by: Jim Klimov <[email protected]>
Signed-off-by: Jim Klimov <[email protected]>
Signed-off-by: Jim Klimov <[email protected]>
Signed-off-by: Jim Klimov <[email protected]>
…d --with-dev-libnutconf The original independence of settings led to CI failures, where explicit `--with-nutconf=auto --with-all=yes` correctly turned `with_nutconf` to `no` on systems or build scenarios without the required level of C++ support, but the defaulted `with_dev_libnutconf` became `yes` (following `with_all`). Signed-off-by: Jim Klimov <[email protected]>
e4b95f3 to
ffd0ba8
Compare
This was referenced Mar 2, 2025
jimklimov
added a commit
that referenced
this pull request
Mar 3, 2025
…t on packaging [#2828] Signed-off-by: Jim Klimov <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR follows up from #2825 to complete a feature originally tried there but excised due to added complexity/instability of original PoC builds. Also updates bits of documentation and general Makefile markup here and there, and presumably fixes a presumably broken delivery of some source files into "dist" archives in certain build circumstances.
The
libnutconflibrary was until now treated in recipes as an internal detail of thenutconftool, added to main codebase in PR #2283 and refined later on. However for third-party integrations it may be (or not be) interesting to experiment with use of the library as such, rather than calling the command-line tool (which allegedly provides a more stable API for integrations). IMHO there's too much placed into the header files for it to be stable, and some lower-level concepts were evolving since the branch merge into master.To allow for such experiments, this PR introduces
configure --with-dev-libnutconfto enable delivery of a (shared) library file and corresponding C++ headers.UPDATE: This was originally "orthogonal to either
--with-nutconfor--with-devbeing enabled or disabled", but now is tied to those values IF--with-all=(auto|yes|no)is used and no explicit--with-dev-libnutconfvalue is requested. The updated decision logic is also documented indocs/configure.txt.CC @arnaudquette-eaton if this can help in e.g. SmartNUT. Not sure how stable or unstable this API would end up being, but at least the PR makes it easier to try.
Feel free to CC @emilienkia-eaton @ericclappier-eaton and other initial authors/contributors to see how their baby grew :)
Also this tool (and/or maybe lib) may be useful in integrations like unraid (CC @desertwitch, how do I case its spelling correctly BTW?), HA (CC @aquette) and other embedding, rather them all keeping track of generating NUT configs.