Differences between revisions 6 and 7
Revision 6 as of 2007-06-12 18:22:32
Size: 2358
Editor: ?MikkoTorni
Comment:
Revision 7 as of 2007-06-13 10:10:13
Size: 2489
Editor: nomeata
Comment:
Deletions are marked like this. Additions are marked like this.
Line 10: Line 10:
 * Some early hacking found on http://http://darcs.nomeata.de/metainit/ (http://darcs.nomeata.de/cgi-bin/darcsweb.cgi?r=metainit)

Summary

A project to provide an infrastructure for automatic init script generation in simple cases.

Protocol from DebConf 7 BoF

Current Problems

  • Debian supports only Sys-V-Init
  • Other systems hard to support get packages to provide init scripts
  • Changes (bug or features) in lots of init scripts are hard to do

Solution

Packages ship simple “metainit” files that contain the minimal information needed to create init scripts for (hopefully) any init system. We only want to support the normal, simple case, any daemon with special needs still has to write the init scripts themselves

Scripts generated at build or install time

  • gwolf: Use dpkg-trigger
  • gwolf: Easier to implement changes (no recompilation needed)
  • panthera: add additional build dependency which handle the registration/generation of init scripts
  • nomeata: we need it on client side to resolve dependecies to svs-v

Consenus: workstation side

What features (metainit file field) to be supported?

  • daemon name / description
  • how to start, forking or non-forking?
    • required: non-forking start
    • others not at the moment, maybe implemented later
  • Dependencies according to the LSB standard, but without Default-Start and Default-Stop, see:
  • uid/gid
  • hooks (inline /bin/sh fragments)
    • - pre-start - post-stop
  • reload/restart functionality:
    • - default: stopping and starting - optionally: specifying a signal

Implementation details

  • metainit files to be conffiles, therefore user editable
  • generated files are deleted only when the package is removed in remove (not only in purge)
  • maybe non-protective comments in generated files
  • Problem: What happens if a new version stopps using our scheme...

Helpers

  • ["nomeata"] will try to start some code
  • ?MikkoTorni will care about the runit side

TODO

  • Define metainit file format
  • update-metainit
  • metainit-sysvinit