nut icon indicating copy to clipboard operation
nut copied to clipboard

Create branch and a configure/build option for SmartNUT

Open aquette opened this issue 1 year ago • 0 comments

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 image https://github.com/aquette/nut/blob/smartnut/docs/smartnut.txt

aquette avatar Dec 12 '23 18:12 aquette