diff --git a/TODO.rst b/TODO.rst index 6861abe2..57880987 100644 --- a/TODO.rst +++ b/TODO.rst @@ -40,14 +40,14 @@ Runlevels --------- * Add support for "runlevel N" to finit.conf * Improve support for runlevels: startup, running (services from - finit.conf), and shutdown as well as hooks when switching RL, - startup at RL 1 and a default run level. -* Implement initctl stop|start|restart|reload|status and - service stop|start|restart|reload|status on top + finit.conf), and shutdown as well as hooks when switching RL, startup + at RL 1 and a default run level. +* Implement initctl stop|start|restart|reload|status and service + stop|start|restart|reload|status on top * Add PRE and POST hooks for when changing runlevels -* SysV init in Debian uses an rcS.d/ for scripts that should run once - at boot. These scripts are run before the actual runlevel set in - inittab. In finit we could use "task [S]" and "boot [S]" for this. +* SysV init in Debian uses an rcS.d/ for scripts that should run once at + boot. These scripts are run before the actual runlevel, which is set + in inittab. We could use "task [S]" and "run [S]" (below) for this. * Add support for a new runlevel 'S' that is started before all other services in the selected runlevel. @@ -57,18 +57,26 @@ Both the "task" and "boot" stanzas below are like "service", share the same mechanism for registering callbacks. These callbacks can be used to check a configuration db and return 1 (RUN), 2 (STOP), or 3 (RELOAD). -* Add support for "task [RUNLVL] ..." similar to services, but - one-shot. Needs a trigger/when -* Add support for "boot [RUNLVL] ..." similar to services, but - waits for completion before continuing with the next line -* Add support for service/task dependencies +* Add support for "task [RUNLVL] ..." similar to services, but one-shot. +* Add support for "run [RUNLVL] ..." similar to task, but waits for + completion before continuing with the next task/service +* Add support for service/task/run dependencies * Add support for "init list" to show running services +It is tempting to say that a task called at runlevel S would be a +blocking call, like run, but there are likely use-cases when you want to +call on-shot tasks in parallell with something else, even at boot. Hence +the differentiation between "task" and "run", which are essentially the +same, except for the "pause and wait for completion" that "run" has. + Miscellaneous ------------- * Add support for "init -v,--version | version" * Cleanup move sources from top-level directory to src/ and include/ * Make sure to install queue.h to $(PREFIX)/include/finit/queue.h +* Move finit.conf "check" command to plugin which checks /etc/fstab + instead. This is the de-facto practise. But keep the check command + for really low-end systems w/o /etc/fstab. Documentation -------------