1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-05-26 11:01:48 +02:00

services: Rename 'dmd' services to 'shepherd'.

* gnu/services/shepherd.scm (dmd-root-service-type, %dmd-root-service)
  (dmd-service-type, <dmd-service>, dmd-service, dmd-service?)
  (make-dmd-service, dmd-service-documentation, dmd-service-provision)
  (dmd-service-requirement, dmd-service-respawn, dmd-service-start)
  (dmd-service-stop, dmd-service-auto-start?, dmd-service-modules)
  (dmd-service-imported-modules, dmd-service-file-name, dmd-service-file)
  (dmd-service-back-edges): Rename to...
  (shepherd-root-service-type, %shepherd-root-service, shepherd-service-type)
  (<shepherd-service>, shepherd-service, shepherd-service?)
  (make-shepherd-service, shepherd-service-documentation)
  (shepherd-service-provision, shepherd-service-requirement)
  (shepherd-service-respawn, shepherd-service-start)
  (shepherd-service-stop, shepherd-service-auto-start?)
  (shepherd-service-modules, shepherd-service-imported-modules)
  (shepherd-service-file-name, shepherd-service-file)
  (shepherd-service-back-edges): ...this
* gnu/services.scm: Adjust comments.
* gnu/services/avahi.scm (avahi-dmd-service): Rename to...
  (avahi-shepherd-service): ... this.
* gnu/services/base.scm (%root-file-system-dmd-service)
  (file-system->dmd-service-name, mapped-device->dmd-service-name)
  (dependency->dmd-service-name, file-system-dmd-service)
  (mingetty-dmd-service, nscd-dmd-service, guix-dmd-service)
  (guix-publish-dmd-service, udev-dmd-service, gpm-dmd-service): Rename to...
  (%root-file-system-shepherd-service)
  (file-system->shepherd-service-name, mapped-device->shepherd-service-name)
  (dependency->shepherd-service-name, file-system-shepherd-service)
  (mingetty-shepherd-service, nscd-shepherd-service, guix-shepherd-service)
  (guix-publish-shepherd-service, udev-shepherd-service)
  (gpm-shepherd-service): ... this.
* gnu/services/databases.scm (postgresql-dmd-service): Rename to...
  (postgresql-shepherd-service): ... this.
* gnu/services/desktop.scm (upower-dmd-service, elogind-dmd-service):
  Rename to...
  (upower-shepherd-service, elogind-shepherd-service): ... this.
* gnu/services/dbus.scm (dbus-dmd-service): Rename to...
  (dbus-shepherd-service): ... this.
* gnu/services/lirc.scm (lirc-dmd-service): Rename to...
  (lirc-shepherd-service): ... this.
* gnu/services/mail.scm (dovecot-dmd-service): Rename to...
  (dovecot-shepherd-service): ... this.
* gnu/services/networking.scm (ntp-dmd-service, tor-dmd-service)
  (bitlbee-dmd-service, wicd-dmd-service, network-manager-dmd-service): Rename to...
  (dbus-shepherd-service): ... this.
* gnu/services/ssh.scm (lsh-dmd-service): Rename to...
  (lsh-shepherd-service): ... this.
* gnu/services/web.scm (nginx-dmd-service): Rename to...
  (nginx-shepherd-service): ... this.
* gnu/services/xorg.scm (slim-dmd-service): Rename to...
  (slim-shepherd-service): ... this.
* gnu/system.scm (essential-services): Use '%shepherd-root-service'.
* gnu/system/install.scm (cow-store-service-type): Adjust accordingly.
* guix/scripts/system.scm (dmd-service-node-label, dmd-service-node-type)
  (export-dmd-graph): Likewise.
* tests/guix-system.sh: Likewise.
* tests/services.scm ("dmd-service-back-edges"): Rename to...
  ("shepherd-service-back-edges"): Adjust accordingly.
* doc/guix.texi: Likewise.
* doc/images/service-graph.dot: Use 'shepherd' service name.
This commit is contained in:
Alex Kost
2016-01-27 23:02:31 +03:00
parent 26b94866ad
commit d4053c710b
20 changed files with 266 additions and 259 deletions
+63 -63
View File
@@ -148,8 +148,8 @@
(compose identity)
(extend append)))
(define %root-file-system-dmd-service
(dmd-service
(define %root-file-system-shepherd-service
(shepherd-service
(documentation "Take care of the root file system.")
(provision '(root-file-system))
(start #~(const #t))
@@ -181,37 +181,37 @@
(respawn? #f)))
(define root-file-system-service-type
(dmd-service-type 'root-file-system
(const %root-file-system-dmd-service)))
(shepherd-service-type 'root-file-system
(const %root-file-system-shepherd-service)))
(define (root-file-system-service)
"Return a service whose sole purpose is to re-mount read-only the root file
system upon shutdown (aka. cleanly \"umounting\" root.)
This service must be the root of the service dependency graph so that its
'stop' action is invoked when dmd is the only process left."
'stop' action is invoked when shepherd is the only process left."
(service root-file-system-service-type #f))
(define (file-system->dmd-service-name file-system)
(define (file-system->shepherd-service-name file-system)
"Return the symbol that denotes the service mounting and unmounting
FILE-SYSTEM."
(symbol-append 'file-system-
(string->symbol (file-system-mount-point file-system))))
(define (mapped-device->dmd-service-name md)
"Return the symbol that denotes the dmd service of MD, a <mapped-device>."
(define (mapped-device->shepherd-service-name md)
"Return the symbol that denotes the shepherd service of MD, a <mapped-device>."
(symbol-append 'device-mapping-
(string->symbol (mapped-device-target md))))
(define dependency->dmd-service-name
(define dependency->shepherd-service-name
(match-lambda
((? mapped-device? md)
(mapped-device->dmd-service-name md))
(mapped-device->shepherd-service-name md))
((? file-system? fs)
(file-system->dmd-service-name fs))))
(file-system->shepherd-service-name fs))))
(define (file-system-dmd-service file-system)
"Return a list containing the dmd service for @var{file-system}."
(define (file-system-shepherd-service file-system)
"Return a list containing the shepherd service for @var{file-system}."
(let ((target (file-system-mount-point file-system))
(device (file-system-device file-system))
(type (file-system-type file-system))
@@ -221,10 +221,10 @@ FILE-SYSTEM."
(dependencies (file-system-dependencies file-system)))
(if (file-system-mount? file-system)
(list
(dmd-service
(provision (list (file-system->dmd-service-name file-system)))
(shepherd-service
(provision (list (file-system->shepherd-service-name file-system)))
(requirement `(root-file-system
,@(map dependency->dmd-service-name dependencies)))
,@(map dependency->shepherd-service-name dependencies)))
(documentation "Check, mount, and unmount the given file system.")
(start #~(lambda args
;; FIXME: Use or factorize with 'mount-file-system'.
@@ -276,11 +276,11 @@ FILE-SYSTEM."
(define file-system-service-type
;; TODO(?): Make this an extensible service that takes <file-system> objects
;; and returns a list of <dmd-service>.
;; and returns a list of <shepherd-service>.
(service-type (name 'file-system)
(extensions
(list (service-extension dmd-root-service-type
file-system-dmd-service)
(list (service-extension shepherd-root-service-type
file-system-shepherd-service)
(service-extension fstab-service-type
identity)))))
@@ -290,10 +290,10 @@ object."
(service file-system-service-type file-system))
(define user-unmount-service-type
(dmd-service-type
(shepherd-service-type
'user-file-systems
(lambda (known-mount-points)
(dmd-service
(shepherd-service
(documentation "Unmount manually-mounted file systems.")
(provision '(user-file-systems))
(start #~(const #t))
@@ -328,15 +328,15 @@ in KNOWN-MOUNT-POINTS when it is stopped."
"/etc/shepherd/do-not-kill")
(define user-processes-service-type
(dmd-service-type
(shepherd-service-type
'user-processes
(match-lambda
((requirements grace-delay)
(dmd-service
(shepherd-service
(documentation "When stopped, terminate all user processes.")
(provision '(user-processes))
(requirement (cons* 'root-file-system 'user-file-systems
(map file-system->dmd-service-name
(map file-system->shepherd-service-name
requirements)))
(start #~(const #t))
(stop #~(lambda _
@@ -410,7 +410,7 @@ that the root file system can be re-mounted read-only, just before
rebooting/halting. Processes still running GRACE-DELAY seconds after SIGTERM
has been sent are terminated with SIGKILL.
The returned service will depend on 'root-file-system' and on all the dmd
The returned service will depend on 'root-file-system' and on all the shepherd
services corresponding to FILE-SYSTEMS.
All the services that spawn processes must depend on this one so that they are
@@ -457,10 +457,10 @@ strings or string-valued gexps."
;;;
(define host-name-service-type
(dmd-service-type
(shepherd-service-type
'host-name
(lambda (name)
(dmd-service
(shepherd-service
(documentation "Initialize the machine's host name.")
(provision '(host-name))
(start #~(lambda _
@@ -490,10 +490,10 @@ strings or string-valued gexps."
(zero? (cdr (waitpid pid))))))))
(define console-keymap-service-type
(dmd-service-type
(shepherd-service-type
'console-keymap
(lambda (file)
(dmd-service
(shepherd-service
(documentation (string-append "Load console keymap (loadkeys)."))
(provision '(console-keymap))
(start #~(lambda _
@@ -506,12 +506,12 @@ strings or string-valued gexps."
(service console-keymap-service-type file))
(define console-font-service-type
(dmd-service-type
(shepherd-service-type
'console-font
(match-lambda
((tty font)
(let ((device (string-append "/dev/" tty)))
(dmd-service
(shepherd-service
(documentation "Load a Unicode console font.")
(provision (list (symbol-append 'console-font-
(string->symbol tty))))
@@ -568,12 +568,12 @@ strings or string-valued gexps."
#:motd
(mingetty-configuration-motd conf))))
(define mingetty-dmd-service
(define mingetty-shepherd-service
(match-lambda
(($ <mingetty-configuration> mingetty tty motd auto-login login-program
login-pause? allow-empty-passwords?)
(list
(dmd-service
(shepherd-service
(documentation "Run mingetty on an tty.")
(provision (list (symbol-append 'term- (string->symbol tty))))
@@ -598,8 +598,8 @@ strings or string-valued gexps."
(define mingetty-service-type
(service-type (name 'mingetty)
(extensions (list (service-extension dmd-root-service-type
mingetty-dmd-service)
(extensions (list (service-extension shepherd-root-service-type
mingetty-shepherd-service)
(service-extension pam-root-service-type
mingetty-pam-service)))))
@@ -711,11 +711,11 @@ the tty to run, among other things."
(string-concatenate
(map cache->config caches)))))))
(define (nscd-dmd-service config)
"Return a dmd service for CONFIG, an <nscd-configuration> object."
(define (nscd-shepherd-service config)
"Return a shepherd service for CONFIG, an <nscd-configuration> object."
(let ((nscd.conf (nscd.conf-file config))
(name-services (nscd-configuration-name-services config)))
(list (dmd-service
(list (shepherd-service
(documentation "Run libc's name service cache daemon (nscd).")
(provision '(nscd))
(requirement '(user-processes))
@@ -747,8 +747,8 @@ the tty to run, among other things."
(extensions
(list (service-extension activation-service-type
(const nscd-activation))
(service-extension dmd-root-service-type
nscd-dmd-service)))
(service-extension shepherd-root-service-type
nscd-shepherd-service)))
;; This can be extended by providing additional name services
;; such as nss-mdns.
@@ -767,10 +767,10 @@ Service Switch}, for an example."
(service nscd-service-type config))
(define syslog-service-type
(dmd-service-type
(shepherd-service-type
'syslog
(lambda (config-file)
(dmd-service
(shepherd-service
(documentation "Run the syslog daemon (syslogd).")
(provision '(syslogd))
(requirement '(user-processes))
@@ -885,13 +885,13 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
(define %default-guix-configuration
(guix-configuration))
(define (guix-dmd-service config)
"Return a <dmd-service> for the Guix daemon service with CONFIG."
(define (guix-shepherd-service config)
"Return a <shepherd-service> for the Guix daemon service with CONFIG."
(match config
(($ <guix-configuration> guix build-group build-accounts authorize-key?
use-substitutes? substitute-urls extra-options
lsof lsh)
(list (dmd-service
(list (shepherd-service
(documentation "Run the Guix daemon.")
(provision '(guix-daemon))
(requirement '(user-processes))
@@ -941,7 +941,7 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
(service-type
(name 'guix)
(extensions
(list (service-extension dmd-root-service-type guix-dmd-service)
(list (service-extension shepherd-root-service-type guix-shepherd-service)
(service-extension account-service-type guix-accounts)
(service-extension activation-service-type guix-activation)
(service-extension profile-service-type
@@ -963,10 +963,10 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
(host guix-publish-configuration-host ;string
(default "localhost")))
(define guix-publish-dmd-service
(define guix-publish-shepherd-service
(match-lambda
(($ <guix-publish-configuration> guix port host)
(list (dmd-service
(list (shepherd-service
(provision '(guix-publish))
(requirement '(guix-daemon))
(start #~(make-forkexec-constructor
@@ -989,8 +989,8 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
(define guix-publish-service-type
(service-type (name 'guix-publish)
(extensions
(list (service-extension dmd-root-service-type
guix-publish-dmd-service)
(list (service-extension shepherd-root-service-type
guix-publish-shepherd-service)
(service-extension account-service-type
(const %guix-publish-accounts))))))
@@ -1070,8 +1070,8 @@ item of @var{packages}."
(udev-rule "90-kvm.rules"
"KERNEL==\"kvm\", GROUP=\"kvm\", MODE=\"0660\"\n"))
(define udev-dmd-service
;; Return a <dmd-service> for UDEV with RULES.
(define udev-shepherd-service
;; Return a <shepherd-service> for UDEV with RULES.
(match-lambda
(($ <udev-configuration> udev rules)
(let* ((rules (udev-rules-union (cons* udev kvm-udev-rule rules)))
@@ -1082,7 +1082,7 @@ item of @var{packages}."
"udev_rules=\"~a/lib/udev/rules.d\"\n"
#$rules))))))
(list
(dmd-service
(shepherd-service
(provision '(udev))
;; Udev needs /dev to be a 'devtmpfs' mount so that new device nodes can
@@ -1154,8 +1154,8 @@ item of @var{packages}."
(define udev-service-type
(service-type (name 'udev)
(extensions
(list (service-extension dmd-root-service-type
udev-dmd-service)))
(list (service-extension shepherd-root-service-type
udev-shepherd-service)))
(compose concatenate) ;concatenate the list of rules
(extend (lambda (config rules)
@@ -1172,11 +1172,11 @@ extra rules from the packages listed in @var{rules}."
(udev-configuration (udev udev) (rules rules))))
(define device-mapping-service-type
(dmd-service-type
(shepherd-service-type
'device-mapping
(match-lambda
((target open close)
(dmd-service
(shepherd-service
(provision (list (symbol-append 'device-mapping- (string->symbol target))))
(requirement '(udev))
(documentation "Map a device node using Linux's device mapper.")
@@ -1192,7 +1192,7 @@ gexp, to open it, and evaluate @var{close} to close it."
(list target open close)))
(define swap-service-type
(dmd-service-type
(shepherd-service-type
'swap
(lambda (device)
(define requirement
@@ -1201,7 +1201,7 @@ gexp, to open it, and evaluate @var{close} to close it."
(string->symbol (basename device))))
'()))
(dmd-service
(shepherd-service
(provision (list (symbol-append 'swap- (string->symbol device))))
(requirement `(udev ,@requirement))
(documentation "Enable the given swap device.")
@@ -1223,10 +1223,10 @@ gexp, to open it, and evaluate @var{close} to close it."
(gpm gpm-configuration-gpm) ;package
(options gpm-configuration-options)) ;list of strings
(define gpm-dmd-service
(define gpm-shepherd-service
(match-lambda
(($ <gpm-configuration> gpm options)
(list (dmd-service
(list (shepherd-service
(requirement '(udev))
(provision '(gpm))
(start #~(lambda ()
@@ -1254,8 +1254,8 @@ gexp, to open it, and evaluate @var{close} to close it."
(define gpm-service-type
(service-type (name 'gpm)
(extensions
(list (service-extension dmd-root-service-type
gpm-dmd-service)))))
(list (service-extension shepherd-root-service-type
gpm-shepherd-service)))))
(define* (gpm-service #:key (gpm gpm)
(options '("-m" "/dev/input/mice" "-t" "ps2")))