1. Introduction

Packaging is a final aim for software. It eases and completes the software integration into an OS, and allows users to have an easy software installation and support out of the box.

Note

making NUT packaging more uniform should help its documentation, support and maintenance across the supported OSes.

*sandbox*
This document assumes that you have read the other NUT documents such
as INSTALL.nut, FAQ, config-notes.txt, config-prereqs.txt ...

Facts about NUT packaging
=========================

NUT has so much evolved those two last years (with USB and SNMP
support, the premises of libraries, ...) that the simple
"1, 2 or 3  package(s)" approach is no more suitable.

This fact has reached a high level since NUT 1.4. Actually,
doing this would result in either being forced to install hosts
of unneeded dependencies (net-snmp, gd, ... as seen on SUSE),
to have a partially broken package [1] or not being able to
use all NUT features [2].

Let's now have an overview on how NUT is currently packaged:

        1) Debian:
        http://packages.qa.debian.org/n/nut.html
                nut, nut-dev, nut-usb, nut-snmp, nut-xml, nut-cgi, nut-doc

        2) Mandriva
        http://cvs.mandriva.com/cgi-bin/cvsweb.cgi/SPECS/nut/
                nut-server
                nut
                nut-cgi

        3) SUSE / Novell
                nut

        4) RedHat

        5) PLD
        http://cvs.pld-linux.org/cgi-bin/cvsweb/SPECS/nut.spec

        ... (FreeBSD, Gentoo Linux, IRIX, NetBSD, OpenBSD)

This shows how much the packages name split is now scattered.
The result is:
- that a user of several systems will be lost, and will
waste time
- there is a big waste of energy
- this makes things hard to create standard configuration
wizards

[1] NUT build on Debian GNU/Linux m68k and Hurd was once
broken due to hiddev dependencies, and usb support still
included in the core package.

[2]
- snmp-ups driver is not available under Mandrake GNU/Linux,
but its man is present. See
http://rpms.mandrakeclub.com/rpms/mandrake/9.1/i586/Mandrake/RPMS/nut-server-1.2.1-4mdk.i586.html
- secured ssh network mode not available (due to deps and/or non free)
- some systems don't provide libupsclient lib/header/.pc so as to
client application (such as wmnut) can't be built
- the logger function is not (well) used, same goes for the syslog (triple
redundancy in Mandriva)
- the solution is partial in every system: lost of tests
case / feedback could be shared
...