#
# $Id: TODO 4548 2011-04-09 04:22:24Z finley $
#  vi:set filetype=conf tw=80:
#

Have a single init script.  Start services based on their settings in /etc/default/systemimager or /etc/systemimager/initscript.conf

Move _all_ source code into si.trunk/src

move _all_ *.rul files into make.d

Verify we have an "*_install" target for all initrd packages

Move ./initrd_dir/make.d/*.rul files into ./make.d/

Find some way to add color to logmsg, so that function names can be a different color from the output they produce...

mklibs.bef -- review output and re-direct -L towards locally built libs
mknods -- review this and see if we can remove now that we're using udev

Priority classification:
(9)  next minor release
(8)  next release
(7)  as soon as possible
(6)  soon
(5)  should be included
(4)  nice to have
(3)  consider including
(2)  maybe not
(1)  probably not
(-)  unclassified

Finley's new TODO list for SystemImager
---------------------------------------
(1) Fix source so that it builds on Ubuntu Lucid
    (1.1) Busybox latest (done)
(2) Support grub2 (and other improvements)

    * Thanks to Dennis Stam and Bas van der Vlies of SARA for their
      notes (below w/my modifications) to help me along here

        - Make sure init scripts for updated binaries come from the
          binaries' packages
        - xbusybox 1.16.1
        - xparted 2.2+ needed for grub 2 so we can set the grub2 partition
          flag
        - xudev 157. So we could remove the hotplug software.
          Autodetecting of hardware is better. 
        - yNo insmod and my_modules anymore?  I'm thinking we should keep
          this feature around in the mainstream SystemImager code for now.
        - kernel support with gpt labels needed for grub2 and upgrade to
          2.6.33.3 and switch to cpio for initrd instead of cramfs. The
          systemimager standard kernel use a lot of deprecated options.
        - changed bittorent client to aria2. Can handle more protocols:
           * http://aria2.sourceforge.net/ and is completely written in
             C++
        - all filesystem tools are upgrade to a newer version.
        - switched to udhcpc instead of dhclient. The former is included
          standard in busybox.
        - Further we completely removed the boel_binaries.tar.gz rsync
          setup.  Our modules and utilities are all included in the
          initrd.img. It is easier to upgrade to a new kernel.
        - /etc/init.d/functions. A lot is removed or has been rewritten.
        - the grub2 installations is handled in our post install script
          for now


(3) Support ext4
(3.5) Make sure built libs are used and included, and not libs from the
build system.  mklibs.bef invokations.
(3.6) Create regression test list
(4) switch to udhcp

----

The prior TODO list for SystemImager
------------------------------------
(8) Introduce a new command (si_power) to control the power of the clients
    (turn on/off/reboot, etc.), see also: ipmitool, BMC.

(8) Create a new module called SystemImager::Monitor to implement all the common
    monitoring functions.

    Rename the monitoring commands as following:

    - si_monitord: SystemImager monitoring daemon
    - si_monitor: console interface (dump clients.xml info to stdout in a simple
      txt format)
    - si_monitorcurses: ncurses-based interface
    - si_monitortk: perl-Tk interface

(7) Include mkrecoveryISO in the standard release.

(5) Implement si_getdebuginfo to generate a tar.gz containing all the system
    informations that could help to debug user problems (systemimager versions,
    partitioning schema, kernel, distribution used, etc). In this way a user
    that needs support can simply post the tarball to the list and we'll have
    immediately an overview of the system.

(4) Move all LVM info into the <lvm> section of autoinstallscript.conf.

    - No longer store any lvm info in the <disk> and/or <raid> sections
    - Collect PV info and store it in the <lvm_group> section
        <lvm>
          <lvm_group>
            <pv device="/dev/sda1" />
            <pv device="/dev/md0"  />
            <pv device="/dev/md1"  />
            <lv name="swap" size="524288K" />
            <etc...>
          </lvm_group>
        </lvm>

    - Need to modify:
        - Server.pm
        - Common.pm
        - autoinstallscript.template

(4) si_monitortk improvements (thanks Bernard for the good suggestions):
    - support multiple virtual console instances at the same time
    - add a popup menu on the client entries to display detailed info
      and perform special actions (like open virtual console, check
      availability of the node, delete entry, etc)
    - tabbed view for virtual console

(4) Implement a GUI to perform all the common systemimager operations

(4) Implement pre/post-update scripts (to be ran with si_updateclient)

(2) Add a kernel-devel tree package, like those that ship with RedHat, 
    Ubuntu, etc. There's just enough data to build boot-kernel modules 
    against, but nothing else. 

    Ie: kernel-headers. (Jeremy Siadal suggestion)

