The below proposed packages split is subject to discussion.
The aim of this is to:
This standard was created by:
FIXME: make a dependency graph
Network UPS Tools (NUT) is a client/server monitoring system that allows computers to share uninterruptible power supply (UPS) and power distribution unit (PDU) hardware. Clients access the hardware through the server, and are notified whenever the power status changes.
the "-dev" suffix is to be replaced by "-devel" on RPM based platforms.
hard third-party dependency on libltdl
; recommends libsnmp
, libneon
,
and the libusb
variant (0.1 or 1.0) it was built against.
*sandbox* nut-server ^^^^^^^^^^ Desc: Files: dummy/serial/USB drivers + upsd + upslog Size: Deps: nut-client, libusb, libc/ld B) nut-snmp Desc: Files: SNMP driver [/ manager ] Deps: nut-server, net-snmp, libc/ld C) nut-client Desc: don't force to have the server part/deps if not needed Files: upsmon, upsc, upscmd, upsrw + driver.list [+nut-dev (lib, .h, .pc, man] Deps: libc/ld E) nut-cgi Deps: Files: snmp-ups and powernet + manpages F) nut-doc: Deps: Files: dummycons + manpage G) nut-dev: Deps: Files: upsmon, upsc, upscmd, upsrw H) nut-scanner: Deps: hard dependency on `libltdl`; recommends `libsnmp`, `libneon`, and the `libusb` variant (0.1 or 1.0) it was built against. Files: nut-scanner tool and libnutscan + manpages Note: "nut" can be a meta package This kind of tree obviously needs modification on the conf/make files of NUT to allow build/install in a separate way. ... TO BE CONTINUED ... Configuration option ^^^^^^^^^^^^^^^^^^^^ Example: name= "ups" or "nut" ./configure \ --prefix=/ \ --sysconfdir=/etc/$name \ --mandir=/usr/share/man \ --libdir=/usr/lib \ --includedir=/usr/include \ --datadir=/usr/share/$name \ --with-statepath=/var/run/nut \ --with-altpidpath=/var/run/nut \ --with-drvpath=/lib/nut \ --with-cgipath=/usr/lib/cgi-bin/$name \ html-path --with-pidpath=/var/run/$name \ --with-user=$name \ --with-cgi \ --without-ssl ... NOTE: For packaging (OS distribution or in-house) it is recommended to primarily `./configure --with-all` and then excise `--without-something` explicitly for items not supported on your platform, so you do not miss out on new NUT features as they come with new releases. Some may require that you update your build environment with new third-party dependencies, so a broken build of a new NUT release would let you know how to act.