nut
nut copied to clipboard
Create branch and a configure/build option for SmartNUT
This option should configure and build NUT to:
- [ ] allow for dual compilation, for packaging (so users/devs/distros can build and test/ship both easily), or classic/static Vs SmartNUT (see Notes)
- [ ] Compile the selected subset of drivers (usb*, snmp-ups, netxml-ups and dummy-ups ; all to be renamed) with the new dstate_xxx. no serial drivers, no upsd, no upsmon, no clients! (see Notes)
- [x] Create a dedicated udev rules, with a RUN directive
- [ ] Investigate udev in dockers / s6 (seems limited, like udevadm trigger, check s6....ipc, ...)
- [ ] Refine RUN to execute <to be defined: nutdrvctl, driver or a script>
Also:
- [x] create branch
- [ ] create configure option (--with-smartnut, to be refined later with mqtt, homekit, ...)
Notes:
-
Additional SmartNUT improvements can heavily impact the above implementation and packaging, such as #2228, drivers renaming (see <FIXME>), ...
- if #2228 is implemented fast, the selected subset and dual compilation can be discarded! (just build/ship all comm. lib(s), no need to rebuild drivers nor specific subsets)
-
Documentation will need to be adapted (only ship needed/adapted manpages content, ...)
-
General design
https://github.com/aquette/nut/blob/smartnut/docs/smartnut.txt