$Id: TODO,v 1.74 2006/06/18 17:28:13 joostvb Exp $

--- typesetting stuff ---

- get toc printed in html mode. even while using nochunks mode.

- license should be printed, see rh vs deb doc.

- add zoem.mk, for zoem ( http://micans.org/zoem ) typesetting.

--- install stuff ---

- Suggest (or offer) a more generic interface than my_EXEC for the load
  target.  Users are invited to extend the interface.
  They can add extra variables to their push mechanisms.  So we might be
  able to abstract LOAD one day.  Perhaps something like

    $(foreach uh,$(csp_UHOSTS),$(call csp_EXEC,$(uh),$(csp_DIR),$(csp_XARG));)

  could work.  If a user's exec wrapper needs more arguments, these can get
  introduced as implicit variables, outside $1, $2, ...

- Get rid of csp_SUHDIRS and other obsolete variable.  Get rid or SCP and CP
  RULEs in caspar.mk.

- Add a real-life complete example to manpage: multiple directories, multiple
  hosts, groups of hosts.  Explain why it's good practice to do
    include ../../include/install.mk
  .

- Supply a preset loop over hosts, for load target.

- Don't do
   csp_scp_FUNC  = $(csp_SCP) $(csp_CPFLAGS) $(1) $(2):$(3)
  but do
   csp_scp_FUNC  = $(csp_SCP) $(4) $(1) $(2):$(3)
  and use $(csp_CPFLAGS) for csp_XARGS.
  _Do_ test this!

- this whole thing could probably better use rsync, or, alternatively, perhaps
  caspar is redundant: there is cfengine.  Perhaps people would be better of
  with a get-started-quick cfengine document. See caspar(7).

- add support for install(1).

- The function $(subst -install,,$@) in caspar.mk breaks when filename itself
  has the substring -install.  We might have to use sed here, and strip only
  a _trailing_ '-install' from the maketarget.

- load stuff:
  - Create a ``load-recursive'' target.
  - supply daemons.mk: csp_SSHDEBIANLOAD csp_URUKREDHATLOAD , etc, to use
    in load targets

- document this: we have a csp_BUILD too.  If you want to do some syntax check
  on remote host too (and have a "make check" thing), do

    csp_LOAD = check my-load

    my-load:
      ssh $(csp_scp_UHOST) do load stuff

    check:
      ssh $(csp_scp_UHOST) do check stuff

  Test wether "make load" won't load if "check" fails (it should).
  Document how to use csp_BUILD.

- install-recursive should call mkdir if appropriate

- The scp invocation is inefficient:

   % make -n README.txt-install net.txt-install
   scp "README.txt" pong:/data/www/doc/doc/;
   scp "net.txt" pong:/data/www/doc/doc/;

  Should be:

   scp "README.txt" "net.txt" pong:/data/www/doc/doc/;

  $@ vs $? might be helpful.

- Implement csp_SUHS_SUBSET: only deal with this subset of csp_SUHS.  If SUHS
  in csp_SUHS_SUBSET is no subset of csp_SUHS, skip it.  Requested by Wessel
  Dankers (and the author).  It'll work nice in cases where you have lots of
  subdirectories holding information for lots of groups of hosts when you want
  to install just for a small group (or 1) hosts.



