~ruther/guix-local

710fa231f03633fe243b52635479d591946fec44 — Alex Kost 10 years ago d4053c7
guix system: Rename 'dmd-graph' to 'shepherd-graph'.

* doc/images/dmd-graph.dot: Rename to...
* doc/images/shepherd-graph.dot: ... this.
* doc.am (DOT_FILES): Adjust accordingly.
* guix/scripts/system.scm (dmd-service-node-label)
  (dmd-service-node-type, export-dmd-graph): Rename to...
  (shepherd-service-node-label, shepherd-service-node-type)
  (export-shepherd-graph): ... this.
  (show-help, process-action, process-command): Rename 'dmd-graph' to
  'shepherd-graph'.
* emacs/guix-command.el (guix-command-additional-execute-arguments)
  (guix-command-special-executors): Likewise.
* doc/guix.texi: Likewise.
* doc/emacs.texi (Emacs Popup Interface): Likewise.
M doc.am => doc.am +1 -1
@@ 26,7 26,7 @@ DOT_FILES =					\
  doc/images/coreutils-graph.dot		\
  doc/images/coreutils-bag-graph.dot		\
  doc/images/service-graph.dot			\
  doc/images/dmd-graph.dot
  doc/images/shepherd-graph.dot

DOT_VECTOR_GRAPHICS =				\
  $(DOT_FILES:%.dot=%.eps)			\

M doc/emacs.texi => doc/emacs.texi +1 -1
@@ 578,7 578,7 @@ GNU Emacs Manual}).

@end itemize

Several commands (@command{guix graph}, @command{guix system dmd-graph}
Several commands (@command{guix graph}, @command{guix system shepherd-graph}
and @command{guix system extension-graph}) also have a ``View graph''
action, which allows you to view a generated graph using @command{dot}
command (specified by @code{guix-dot-program} variable).  By default a

M doc/guix.texi => doc/guix.texi +5 -5
@@ 9348,8 9348,8 @@ $ 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
@anchor{system-shepherd-graph}
@item shepherd-graph
Emit in Dot/Graphviz format to standard output the @dfn{dependency
graph} of shepherd services of the operating system defined in
@var{file}.  @xref{Shepherd Services}, for more information and for an


@@ 9795,11 9795,11 @@ 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.}
@image{images/shepherd-graph,,5in,Typical shepherd 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}}).
definition using the @command{guix system shepherd-graph} command
(@pxref{system-shepherd-graph, @command{guix system shepherd-graph}}).

The @var{%shepherd-root-service} is a service object representing
PID@tie{}1, of type @var{shepherd-root-service-type}; it can be extended

R doc/images/dmd-graph.dot => doc/images/shepherd-graph.dot +1 -1
@@ 1,4 1,4 @@
digraph "Guix dmd-service" {
digraph "Guix shepherd-service" {
  "user-file-systems" [label = "user-file-systems", shape = box, fontname = Helvetica];
  "user-processes" -> "user-file-systems" [color = red];
  "user-processes" [label = "user-processes", shape = box, fontname = Helvetica];

M emacs/guix-command.el => emacs/guix-command.el +2 -2
@@ 620,7 620,7 @@ command."
      (("size")
       ,(guix-command-make-argument
         :name "view" :char ?v :doc "View map"))
      (("system" "dmd-graph") ,graph-arg)
      (("system" "shepherd-graph") ,graph-arg)
      (("system" "extension-graph") ,graph-arg)))
  "Alist of guix commands and additional 'execute' action arguments.")



@@ 646,7 646,7 @@ command."
     ("view" . guix-run-view-graph))
    (("size")
     ("view" . guix-run-view-size-map))
    (("system" "dmd-graph")
    (("system" "shepherd-graph")
     ("view" . guix-run-view-graph))
    (("system" "extension-graph")
     ("view" . guix-run-view-graph)))

M guix/scripts/system.scm => guix/scripts/system.scm +12 -12
@@ 312,17 312,17 @@ list of services."
   (label service-node-label)
   (edges (lift1 (service-back-edges services) %store-monad))))

(define (dmd-service-node-label service)
(define (shepherd-service-node-label service)
  "Return a label for a node representing a <shepherd-service>."
  (string-join (map symbol->string (shepherd-service-provision service))))

(define (dmd-service-node-type services)
(define (shepherd-service-node-type services)
  "Return a node type for SERVICES, a list of <shepherd-service>."
  (node-type
   (name "dmd-service")
   (description "the dependency graph of dmd services")
   (identifier (lift1 dmd-service-node-label %store-monad))
   (label dmd-service-node-label)
   (name "shepherd-service")
   (description "the dependency graph of shepherd services")
   (identifier (lift1 shepherd-service-node-label %store-monad))
   (label shepherd-service-node-label)
   (edges (lift1 (shepherd-service-back-edges services) %store-monad))))




@@ 474,7 474,7 @@ building anything."
                  #:node-type (service-node-type services)
                  #:reverse-edges? #t)))

(define (export-dmd-graph os port)
(define (export-shepherd-graph os port)
  "Export the graph of shepherd services of OS to PORT."
  (let* ((services  (operating-system-services os))
         (pid1      (fold-services services


@@ 484,7 484,7 @@ building anything."
                              (null? (shepherd-service-requirement service)))
                            shepherds)))
    (export-graph sinks (current-output-port)
                  #:node-type (dmd-service-node-type dmds)
                  #:node-type (shepherd-service-node-type shepherds)
                  #:reverse-edges? #t)))




@@ 517,7 517,7 @@ Build the operating system declared in FILE according to ACTION.\n"))
  (display (_ "\
   extension-graph  emit the service extension graph in Dot format\n"))
  (display (_ "\
   dmd-graph        emit the graph of dmd services in Dot format\n"))
   shepherd-graph   emit the graph of shepherd services in Dot format\n"))

  (show-build-options-help)
  (display (_ "


@@ 637,8 637,8 @@ resulting from command-line parsing."
          (case action
            ((extension-graph)
             (export-extension-graph os (current-output-port)))
            ((dmd-graph)
             (export-dmd-graph os (current-output-port)))
            ((shepherd-graph)
             (export-shepherd-graph os (current-output-port)))
            (else
             (perform-action action os
                             #:dry-run? dry?


@@ 678,7 678,7 @@ argument list and OPTS is the option alist."
        (let ((action (string->symbol arg)))
          (case action
            ((build container vm vm-image disk-image reconfigure init
              extension-graph dmd-graph list-generations)
              extension-graph shepherd-graph list-generations)
             (alist-cons 'action action result))
            (else (leave (_ "~a: unknown action~%") action))))))