diff options
author | Ludovic Courtès <ludo@gnu.org> | 2015-10-14 19:17:12 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2015-10-14 21:39:06 +0200 |
commit | 6f305ea5fdb239bdac5ab9c1d7b837f3177a025a (patch) | |
tree | c501f75f264c5ec181997246247d3e18520fcd79 /doc/guix.texi | |
parent | 80a67734834a0981ca65cf1757a7d8408d02f1fd (diff) | |
download | guix-6f305ea5fdb239bdac5ab9c1d7b837f3177a025a.tar guix-6f305ea5fdb239bdac5ab9c1d7b837f3177a025a.tar.gz |
guix system: Add 'dmd-graph' command.
* guix/scripts/system.scm (dmd-service-node-label,
dmd-service-node-type, export-dmd-graph): New procedures.
(show-help): Add 'dmd-graph'.
(guix-system)[parse-sub-command]: Likewise.
Honor it.
* doc/guix.texi (Invoking guix system): Document it.
(dmd Services): Add an illustration and explanation.
* doc/images/dmd-graph.dot: New file.
* doc.am (DOT_FILES): Add it.
Diffstat (limited to 'doc/guix.texi')
-rw-r--r-- | doc/guix.texi | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index 0e0e507714..fd0adfd203 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -7004,6 +7004,12 @@ $ guix system extension-graph @var{file} | dot -Tpdf > services.pdf produces a PDF file showing the extension relations among services. +@anchor{system-dmd-graph} +@item dmd-graph +Emit in Dot/Graphviz format to standard output the @dfn{dependency +graph} of dmd services of the operating system defined in @var{file}. +@xref{dmd Services}, for more information and for an example graph. + @end table @@ -7332,10 +7338,23 @@ setuid-root programs on the system (@pxref{Setuid Programs}). The @code{(gnu services dmd)} provides a way to define services managed by GNU@tie{}dmd, which is GuixSD initialization system---the first process that is started when the system boots, aka. PID@tie{}1 -(@pxref{Introduction,,, dmd, GNU dmd Manual}). The -@var{%dmd-root-service} represents PID@tie{}1, of type -@var{dmd-root-service-type}; it can be extended by passing it lists of -@code{<dmd-service>} objects. +(@pxref{Introduction,,, dmd, GNU dmd Manual}). + +Services in dmd can depend on each other. For instance, the SSH daemon +may need to be started after the syslog daemon has been started, which +in turn can only happen once all the file systems have been mounted. +The simple operating system defined earlier (@pxref{Using the +Configuration System}) results in a service graph like this: + +@image{images/dmd-graph,,5in,Typical dmd service graph.} + +You can actually generate such a graph for any operating system +definition using the @command{guix system dmd-graph} command +(@pxref{system-dmd-graph, @command{guix system dmd-graph}}). + +The @var{%dmd-root-service} is a service object representing PID@tie{}1, +of type @var{dmd-root-service-type}; it can be extended by passing it +lists of @code{<dmd-service>} objects. @deftp {Data Type} dmd-service The data type representing a service managed by dmd. |