Table of Contents
This document describes the different dependency types of cinit.
Each service may have two types (non-exclusive) types of dependencies:
The so called needs
or wants
. These are directories below the service
directory and contain symbolic links to the dependencies.
The name of the link can be freely chosen.
An example:
The service /etc/cinit/svc/getty/2 needs the service /etc/cinit/svc/local-tuning/keyboard-layout:
[21:35] hydrogenium:needs# cd /etc/cinit/svc/getty/2/needs [21:35] hydrogenium:needs# ls -l insgesamt 0 lrwxrwxrwx 1 root root 37 2006-10-26 17:51 keyboard-layout -> ../../../local-tuning/keyboard-layout [21:35] hydrogenium:needs# cd keyboard-layout/ [21:35] hydrogenium:keyboard-layout# pwd -P /etc/cinit/svc/local-tuning/keyboard-layout
(Warning: This is an incomplete example, it misses at least mount/root
as dependency)
This service could additionally want something else, too. It is also
possible that a service only wants
another service or that a service
has no dependencies.
cinit does not care whether a link is relative or absolute. And as far as I can see it does not make any difference to usability.
In general, it seems to be a little bit easier to use relative links when manually configuring cinit (ln -s ../../../service versus ln -s /etc/cinit/svc/category/service), but easier readable when analysing them (with `ls -l').
Needs
are the hard dependencies: If a services fails to start that
is linked in the needs
directory, the service will not be started.