-
-
Notifications
You must be signed in to change notification settings - Fork 413
CI: Fix configure.ac and Makefiles to deliver libnutconf (optionally) #2828
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
jimklimov
merged 18 commits into
networkupstools:master
from
jimklimov:deliver-nutconf-lib
Mar 2, 2025
Merged
CI: Fix configure.ac and Makefiles to deliver libnutconf (optionally) #2828
jimklimov
merged 18 commits into
networkupstools:master
from
jimklimov:deliver-nutconf-lib
Mar 2, 2025
Conversation
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
|
❌ Build nut 2.8.2.2800-master failed (commit 07c1f2d071 by @jimklimov) |
…e -j` [networkupstools#2825] Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…tions Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
… names Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…ddition of "skel" Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
* FIXME: Enable SO build, API version, etc. like in clients/Makefile.am and nut-scanner * Headers somewhere there too Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…ing them into a library Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
… experimental) to generate the shared object file Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
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 <jimklimov+nut@gmail.com>
Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
… we already use it in libcommonclient.la Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…completes, report SUCCESS more visibly Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…tax of configure options Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…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 <jimklimov+nut@gmail.com>
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 <jimklimov+nut@gmail.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
C++
documentation
nut-scanner
nutconf
NUT configuration library and tool
packaging
portability
We want NUT to build and run everywhere possible
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.