[Nut-upsdev] Update on NUT 2.4 roadmap

Arnaud Quette aquette.dev at gmail.com
Tue Jul 8 14:05:18 UTC 2008


I finally took some time to lay down a consolidated roadmap to the
next major milestone (2.4), and some update on this.

1) new documentation (User and Developer Manuals)
--------------------------------------------------------------------------------------
This is the biggest change for 2.4.
We will use the new test.networkupstools.org website to create and
maintain the content, based upon the current docs/ directory.
The aim is to separate the users and developers information, and
create two manuals.
The wiki content will then be exported as HTML, and integrated into
the docs/html directory.
As for the plain text files, there will only remain the minimum
needed: basic README, INSTALL and UPGRADING.
Though I still have to think a bit more on this last point.
The last point is that we're able to generate docbook xml, so there is
still a room to move out if we're not satisfied.

I'll get back on this in a separate mail... But this is the main blocker of 2.4

2) new source tree
------------------------------
The aim is to group various disseminated things, and to make the top
level directory more standard and clear.
I currently have that in mind:

 conf
 data
 docs
  |_ html
  |_ man
 include
 m4
 packaging
 scripts
 src
  |_ clients
  |_ common
  |_ drivers
  |_ lib
  |_ server
  |_ new ones: hal, dk-p, ...

Comments and feedback welcome.
I'll request a freeze during the 2.4 branches merge, just the time
needed to move everything around.

3) drivers simplification and improvements
---------------------------------------------------------------------
 - upsdrv_info structure: this is a structure containing all the
common driver information, like name, version, author(s) and
development status. The aim is to centralize more common code
(upsdrv_banner, ...), to simplify the drivers and focus on the code
that matters, while increasing the possibilities (like printing the
authors name, point the driver maintainer, ...)
   The result of this can already be watched in the
branches/trunk-upsdrv-info-struct
 - unified sec/gamatronic driver: Julius and Nadav, I hope you're reading ;-)
 - newmge-shut completion and takeover (old mge-shut removal)
 - powerpanel takeover (cpsups, nitram, cyberpower removal)
 - "-p" probe flag: break after upsdrv_initinfo() printing the
"Detected..." message. This will be useful for configuration tools
essentially.

4) The sandbox
-------------------------
These are various points that need investigation.
Some will enter 2.4, other will be postponed to later releases,
depending on the available manpower:

 - Python binding: integrate PyNut
 - simplified / embeddable nut (check with Synology, Opengear, ...):
There seems to be some issues with cross-compilation, and some need to
stretch down the footprint (eventually by cutting down features,
busybox'ifying, ...)
 - upstart support
 - libusb 1.0 support
 - lower verbosity (only print out at debug level 1, be quiet by default)
 - new web UIs (using Ajax)
 - upsd plugins (log to replace upslog, rrd)
 - perl binding: integrate Perl::Nut (need update)
 - windows port: integrate WinNUT and complete the port (or directive
for Cygwin)

5) Packaging
---------------------
 - NUT Packaging Standard (aka NPS): complete and commit the draft
docs/packaging.txt. Then call for a consensus on the packager list.
 - update all existing packages
 - integrate the matching files from scripts/
 - complete missing packages (gentoo, *BSD, Solaris, HP-UX, Aix, ...)
 - create a "make package" target using the packaging scripts

6) QA enforcement
------------------------------
 - complete and commit the draft docs/quality.txt
 - create a nutlint script to check the code against the coding rules
(snprintf, ..., varnaming, ...)
 - create a "make qualitycheck" and  "make qualitycheck-light" targets

As you can see, there are many varied tasks, requiring different
skills, and not only technical ones.
So if you are interested in helping, you're warmly welcome to contact
me or to step up on the development list.
Tiny contribution made in 5 mn from the beach are also accepted ;-)
Remember that each drop helps in making an ocean!

Have a nice summer,
Arnaud
-- 
Linux / Unix Expert R&D - MGE Office Protection Systems - http://www.mgeops.com
Network UPS Tools (NUT) Project Leader - http://www.networkupstools.org/
Debian Developer - http://people.debian.org/~aquette/
Free Software Developer - http://arnaud.quette.free.fr/



More information about the Nut-upsdev mailing list