<div dir="auto">Posted <a href="https://github.com/networkupstools/nut/issues/1560">https://github.com/networkupstools/nut/issues/1560</a> lest we forget :)<div dir="auto"><br></div><div dir="auto">Jim</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Aug 14, 2022, 02:06 Jim Klimov <<a href="mailto:jimklimov%2Bnut@gmail.com">jimklimov+nut@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto">Haven't poked INSTALL.nut for a while, PRs welcome. And there were many bite-size PR ideas in this thread ;)<div dir="auto"><br></div><div dir="auto">There was quite a bit of details poured into docs/config-prereqs.txt that grew along with CI farm over the past year or two, so covers many OSes (even Windows, it its branch).</div><div dir="auto"><br></div><div dir="auto">From my stunt at packaging NUT for some in-house stuff and researching others' work, the approach I saw often was to `configure --with-all` and add `--without-something` for components utterly missing on a particular OS. Then the resulting binaries are assigned to this or that package to group drivers by dependencies, clients, tools, etc.</div><div dir="auto"><br></div><div dir="auto">The help text posted above seems to be from a system that lacks shared net-snmp, libusb, etc. which nut-scanner loads dynamically by design of its era, so it could be bundled freely and without impacting the binary file by strict links to shared objects. Worked for you in fact - libraries missing but tool does run for other protocols. A downside is dependency on lib file naming and location (master may be more flexible in that since last week's PRs).</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Aug 11, 2022, 17:55 Greg Troxel <<a href="mailto:gdt@lexort.com" target="_blank" rel="noreferrer">gdt@lexort.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
It turns out that there is a bug in nut about this, in 2.8.0.<br>
<br>
I checked the pkgsrc package, and it doesn't have nut-scanner. Usually<br>
what is packaged is what upstream installs. On digging in, I found that<br>
the package did not declare a dependency on libltldl and thus it was not<br>
visibile during the build, and nut-scanner was not built.<br>
<br>
The first bug is that this is not documented in INSTALL.nut. If it<br>
were, it would be a package bug not to provide it. It is sort of hinted<br>
at that somehwere else there is a list of prereqs, and I eventually<br>
found them, but I think "this is what you need installed to build", even<br>
if a pointer, should be front and center in a really-hard-to-miss way.<br>
And, there is a huge list of per-OS, without first things being<br>
described in terms of upstream package names in an<br>
OS/distribution-agnostic manner.<br>
<br>
The second bug is that the nut-scanner man page is installed even if<br>
nut-scanner is not built. Probably the fix is to move man pages to be<br>
with their programs so docs/code match, but that is surely a can of<br>
worms and just conditionalizing it in the Makefile.am the same way that<br>
the nut-scanner subdir is conditionalized is reasonable.<br>
<br>
I changed pkgsrc to depend on libltldl and now I get nut-scanner. I'll<br>
likely commit that change. But, the main nut package does not use usb,<br>
and I haven't figured out how that works with the usb split package.<br>
<br>
(I am not meaning to assert that nut-scanner does or does not belong as<br>
default or that users should or should not use it.)<br>
<br>
The nut-scanner I got doesn't seem that useful:<br>
<br>
OPTIONS:<br>
-C, --complete_scan: Scan all available devices except serial ports (default).<br>
* Options for USB devices scan not enabled: library not detected.<br>
* Options for SNMP devices scan not enabled: library not detected.<br>
* Options for XML/HTTP devices scan not enabled: library not detected.<br>
-O, --oldnut_scan: Scan NUT devices (old method).<br>
* Options for NUT devices (avahi method) scan not enabled: library not detected.<br>
* Options for IPMI devices scan not enabled: library not detected.<br>
-E, --eaton_serial <serial ports list>: Scan serial Eaton devices (XCP, SHUT and Q1).<br>
-T, --thread <max number of threads>: Limit the amount of scanning threads running simultaneously (not implemented in this build: no pthread support)<br>
_______________________________________________<br>
Nut-upsuser mailing list<br>
<a href="mailto:Nut-upsuser@alioth-lists.debian.net" rel="noreferrer noreferrer" target="_blank">Nut-upsuser@alioth-lists.debian.net</a><br>
<a href="https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser" rel="noreferrer noreferrer noreferrer" target="_blank">https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser</a><br>
</blockquote></div>
</blockquote></div>