Fixes <https://issues.guix.gnu.org/76368>.
* gnu/services/auditd.scm (auditd-shepherd-service): * gnu/services/base.scm (rngd-service-type): (gpm-shepherd-service): * gnu/services/ci.scm (laminar-shepherd-service): * gnu/services/containers.scm (rootless-podman-cgroups-fs-owner-service): (rootless-podman-cgroups-limits-service): * gnu/services/cups.scm (cups-shepherd-service): * gnu/services/databases.scm (postgresql-role-shepherd-service): * gnu/services/desktop.scm (upower-shepherd-service): (bluetooth-shepherd-service): (elogind-shepherd-service): (inputattach-shepherd-service): (seatd-shepherd-service): * gnu/services/dns.scm (knot-resolver-shepherd-services): (dnsmasq-shepherd-service): * gnu/services/docker.scm (containerd-shepherd-service): (docker-shepherd-service): * gnu/services/file-sharing.scm (transmission-daemon-shepherd-service): * gnu/services/games.scm (joycond-shepherd-service): (wesnothd-shepherd-service): * gnu/services/guix.scm (guix-build-coordinator-shepherd-services): (guix-data-service-shepherd-services): (nar-herder-shepherd-services): (bffe-shepherd-services): * gnu/services/ldap.scm (directory-server-shepherd-service): * gnu/services/linux.scm (cachefilesd-shepherd-service): (rasdaemon-shepherd-service): * gnu/services/mail.scm (dovecot-shepherd-service): (imap4d-shepherd-service): (radicale-shepherd-service): (rspamd-configuration): * gnu/services/monitoring.scm (prometheus-node-exporter-shepherd-service): (vnstat-shepherd-service): * gnu/services/networking.scm (opendht-shepherd-service): (openvswitch-shepherd-service): (pagekite-shepherd-service): (ipfs-shepherd-service): * gnu/services/nfs.scm (rpcbind-service-type): (gss-service-type): (idmap-service-type): * gnu/services/pm.scm (thermald-shepherd-service): * gnu/services/rsync.scm (rsync-shepherd-service): * gnu/services/samba.scm (samba-samba-shepherd-service): (samba-nmbd-shepherd-service): (samba-smbd-shepherd-service): (samba-winbindd-shepherd-service): (wsdd-shepherd-service): * gnu/services/security-token.scm (pcscd-shepherd-service): * gnu/services/sound.scm (speakersafetyd-shepherd-service): * gnu/services/spice.scm (spice-vdagent-shepherd-service): * gnu/services/ssh.scm (lsh-shepherd-service): (openssh-shepherd-service): (dropbear-shepherd-service): (autossh-shepherd-service): * gnu/services/telephony.scm (jami-shepherd-services): (mumble-server-shepherd-service): * gnu/services/version-control.scm (git-daemon-shepherd-service): * gnu/services/virtualization.scm (virtlogd-shepherd-service): * gnu/services/vnc.scm (xvnc-shepherd-service): * gnu/services/vpn.scm (openvpn-shepherd-service): (strongswan-shepherd-service): * gnu/services/web.scm (httpd-shepherd-services): (fcgiwrap-shepherd-service): (php-fpm-shepherd-service): (hpcguix-web-shepherd-service): (tailon-shepherd-service): (varnish-shepherd-service): (whoogle-shepherd-service): (mumi-shepherd-services): (gmnisrv-shepherd-service): (agate-shepherd-service): Add ‘user-processes’ requirement. * doc/guix.texi (Mail Services): Update accordingly. Reported-by: Dariqq <dar...@posteo.net> Change-Id: I947bd2afc83b786cb17c555cfe73ab586b806618 --- doc/guix.texi | 2 +- gnu/services/auditd.scm | 1 + gnu/services/base.scm | 4 ++-- gnu/services/ci.scm | 2 +- gnu/services/containers.scm | 6 ++++-- gnu/services/cups.scm | 2 +- gnu/services/databases.scm | 2 +- gnu/services/desktop.scm | 10 +++++----- gnu/services/dns.scm | 4 ++-- gnu/services/docker.scm | 4 +++- gnu/services/file-sharing.scm | 2 +- gnu/services/games.scm | 4 ++-- gnu/services/guix.scm | 12 ++++++------ gnu/services/ldap.scm | 2 +- gnu/services/linux.scm | 4 ++-- gnu/services/mail.scm | 8 ++++---- gnu/services/monitoring.scm | 4 ++-- gnu/services/networking.scm | 8 ++++---- gnu/services/nfs.scm | 6 +++--- gnu/services/pm.scm | 1 + gnu/services/rsync.scm | 1 + gnu/services/samba.scm | 10 +++++----- gnu/services/security-token.scm | 2 +- gnu/services/sound.scm | 2 +- gnu/services/spice.scm | 2 +- gnu/services/ssh.scm | 11 +++++++---- gnu/services/telephony.scm | 6 +++--- gnu/services/version-control.scm | 2 +- gnu/services/virtualization.scm | 1 + gnu/services/vnc.scm | 2 +- gnu/services/vpn.scm | 4 ++-- gnu/services/web.scm | 22 ++++++++++++---------- 32 files changed, 83 insertions(+), 70 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 83ba0f32923..1bfe76f016d 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -29519,7 +29519,7 @@ Mail Services @item @code{skip-template?} (default: @code{#f}) (type: boolean) Do not apply Jinja templates. -@item @code{shepherd-requirements} (default: @code{(loopback)}) (type: list-of-symbols) +@item @code{shepherd-requirements} (default: @code{(user-processes loopback)}) (type: list-of-symbols) This is a list of symbols naming Shepherd services that this service will depend on. diff --git a/gnu/services/auditd.scm b/gnu/services/auditd.scm index abde811f51f..7c6c87a060c 100644 --- a/gnu/services/auditd.scm +++ b/gnu/services/auditd.scm @@ -56,6 +56,7 @@ (define (auditd-shepherd-service config) (list (shepherd-service (documentation "Auditd allows you to audit file system accesses and process execution.") (provision '(auditd)) + (requirement '(user-processes)) (start #~(make-forkexec-constructor (list (string-append #$audit "/sbin/auditd") "-c" #$configuration-directory) #:pid-file "/var/run/auditd.pid")) diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 0cd4d3e9cd0..2ff9bee4a79 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -721,7 +721,7 @@ (define rngd-service-type (shepherd-service (documentation "Add TRNG to entropy pool.") - (requirement '(udev)) + (requirement '(user-processes udev)) (provision '(trng)) (start #~(make-forkexec-constructor '#$rngd-command)) (stop #~(make-kill-destructor)))) @@ -2791,7 +2791,7 @@ (define (gpm-shepherd-service config) (match-record config <gpm-configuration> (gpm options) (list (shepherd-service - (requirement '(udev)) + (requirement '(user-processes udev)) (provision '(gpm)) ;; 'gpm' runs in the background and sets a PID file. ;; Note that it requires running as "root". diff --git a/gnu/services/ci.scm b/gnu/services/ci.scm index 01cc7c7d860..d0363595a20 100644 --- a/gnu/services/ci.scm +++ b/gnu/services/ci.scm @@ -79,7 +79,7 @@ (define laminar-shepherd-service (list (shepherd-service (documentation "Run Laminar.") (provision '(laminar)) - (requirement '(networking)) + (requirement '(user-processes networking)) (start #~(make-forkexec-constructor (list #$(file-append laminar "/sbin/laminard")) #:environment-variables diff --git a/gnu/services/containers.scm b/gnu/services/containers.scm index 19d35ccbcb6..b3cd109ce6c 100644 --- a/gnu/services/containers.scm +++ b/gnu/services/containers.scm @@ -153,7 +153,8 @@ (define (cgroups-fs-owner-entrypoint config) (define (rootless-podman-cgroups-fs-owner-service config) (shepherd-service (provision '(cgroups2-fs-owner)) (requirement - '(dbus-system + '(user-processes + dbus-system elogind file-system-/sys/fs/cgroup networking @@ -180,7 +181,8 @@ (define cgroups-limits-entrypoint (define (rootless-podman-cgroups-limits-service config) (shepherd-service (provision '(cgroups2-limits)) (requirement - '(dbus-system + '(user-processes + dbus-system elogind networking udev diff --git a/gnu/services/cups.scm b/gnu/services/cups.scm index d95c38b4d91..738bb7f5cc3 100644 --- a/gnu/services/cups.scm +++ b/gnu/services/cups.scm @@ -1008,7 +1008,7 @@ (define (cups-shepherd-service config) (list (shepherd-service (documentation "Run the CUPS print server.") (provision '(cups)) - (requirement '(networking)) + (requirement '(user-processes networking)) (start #~(make-forkexec-constructor (list (string-append #$cups "/sbin/cupsd") "-f" "-c" #$cupsd.conf "-s" #$cups-files.conf))) diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm index 6530c6f0a12..6d80376d90d 100644 --- a/gnu/services/databases.scm +++ b/gnu/services/databases.scm @@ -443,7 +443,7 @@ (define (postgresql-role-shepherd-service config) (match-record config <postgresql-role-configuration> (log) (list (shepherd-service - (requirement '(postgres)) + (requirement '(user-processes postgres)) (provision '(postgres-roles)) (one-shot? #t) (start diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index 708034f89c4..ee05bd98db9 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -304,7 +304,7 @@ (define (upower-shepherd-service config) (list (shepherd-service (documentation "Run the UPower power and battery monitor.") (provision '(upower-daemon)) - (requirement '(dbus-system udev)) + (requirement '(user-processes dbus-system udev)) (start #~(make-forkexec-constructor (list (string-append #$upower "/libexec/upowerd")) @@ -859,7 +859,7 @@ (define (bluetooth-shepherd-service config) "Return a shepherd service for @command{bluetoothd}." (shepherd-service (provision '(bluetooth)) - (requirement '(dbus-system udev)) + (requirement '(user-processes dbus-system udev)) (documentation "Run the bluetoothd daemon.") (start #~(make-forkexec-constructor (list #$(file-append (bluetooth-configuration-bluez config) @@ -1303,7 +1303,7 @@ (define (elogind-shepherd-service config) (elogind-configuration-file config)) (list (shepherd-service - (requirement '(dbus-system)) + (requirement '(user-processes dbus-system)) (provision '(elogind)) (start #~(make-forkexec-constructor (list #$(file-append (elogind-package config) @@ -1953,7 +1953,7 @@ (define inputattach-shepherd-service device)))) (list (shepherd-service (provision '(inputattach)) - (requirement '(udev)) + (requirement '(user-processes udev)) (documentation "inputattach daemon") (start #~(make-forkexec-constructor (cons (string-append #$inputattach @@ -2067,7 +2067,7 @@ (define-record-type* <seatd-configuration> seatd-configuration (define (seatd-shepherd-service config) (list (shepherd-service (documentation "Minimal seat management daemon") - (requirement '()) + (requirement '(user-processes)) ;; TODO: once cgroups is separate dependency ;; here we should depend on it rather than elogind (provision '(seatd elogind)) diff --git a/gnu/services/dns.scm b/gnu/services/dns.scm index dcfb90235c1..05291eb65d9 100644 --- a/gnu/services/dns.scm +++ b/gnu/services/dns.scm @@ -700,7 +700,7 @@ (define knot-resolver-shepherd-services (list (shepherd-service (provision '(kresd)) - (requirement '(networking)) + (requirement '(user-processes networking)) (documentation "Run the Knot Resolver daemon.") (start #~(make-forkexec-constructor '(#$(file-append package "/sbin/kresd") @@ -816,7 +816,7 @@ (define (dnsmasq-shepherd-service config) tftp-root tftp-unique-root extra-options) (shepherd-service (provision (dnsmasq-provision config)) - (requirement '(networking)) + (requirement '(user-processes networking)) (documentation "Run the dnsmasq DNS server.") (start #~(make-forkexec-constructor (list diff --git a/gnu/services/docker.scm b/gnu/services/docker.scm index 5837784c7f1..9ab3e583345 100644 --- a/gnu/services/docker.scm +++ b/gnu/services/docker.scm @@ -157,6 +157,7 @@ (define (containerd-shepherd-service config) (shepherd-service (documentation "containerd daemon.") (provision '(containerd)) + (requirement '(user-processes)) (start #~(make-forkexec-constructor (list (string-append #$containerd "/bin/containerd") #$@(if debug? @@ -195,7 +196,8 @@ (define (docker-shepherd-service config) (shepherd-service (documentation "Docker daemon.") (provision '(dockerd)) - (requirement '(containerd + (requirement '(user-processes + containerd dbus-system elogind file-system-/sys/fs/cgroup diff --git a/gnu/services/file-sharing.scm b/gnu/services/file-sharing.scm index 4b6867bc070..d0e9a8ca901 100644 --- a/gnu/services/file-sharing.scm +++ b/gnu/services/file-sharing.scm @@ -635,7 +635,7 @@ (define (transmission-daemon-shepherd-service config) (list (shepherd-service (provision '(transmission-daemon transmission bittorrent)) - (requirement '(networking)) + (requirement '(user-processes networking)) (documentation "Share files using the BitTorrent protocol.") (start #~(make-forkexec-constructor '(#$(file-append transmission "/bin/transmission-daemon") diff --git a/gnu/services/games.scm b/gnu/services/games.scm index 2557b82bec7..cea442fd3ae 100644 --- a/gnu/services/games.scm +++ b/gnu/services/games.scm @@ -53,7 +53,7 @@ (define (joycond-shepherd-service config) (list (shepherd-service (documentation "Run joycond.") (provision '(joycond)) - (requirement '(bluetooth)) + (requirement '(user-processes bluetooth)) (start #~(make-forkexec-constructor (list #$(file-append joycond "/bin/joycond")))) (stop #~(make-kill-destructor)))))) @@ -109,7 +109,7 @@ (define wesnothd-shepherd-service (shepherd-service (documentation "The Battle for Wesnoth server") (provision '(wesnoth-daemon)) - (requirement '(networking)) + (requirement '(user-processes networking)) (start #~(make-forkexec-constructor (list #$wesnothd "-p" #$(number->string port)) #:user "wesnothd" #:group "wesnothd")) diff --git a/gnu/services/guix.scm b/gnu/services/guix.scm index 86a1e1bf52f..24d22a7a3d1 100644 --- a/gnu/services/guix.scm +++ b/gnu/services/guix.scm @@ -334,7 +334,7 @@ (define (guix-build-coordinator-shepherd-services config) (shepherd-service (documentation "Guix Build Coordinator") (provision '(guix-build-coordinator)) - (requirement '(networking)) + (requirement '(user-processes networking)) (start #~(lambda args (parameterize ((%current-logfile-date-format "")) (apply @@ -585,7 +585,7 @@ (define (guix-data-service-shepherd-services config) (shepherd-service (documentation "Guix Data Service web server") (provision '(guix-data-service)) - (requirement '(postgres networking)) + (requirement '(user-processes postgres networking)) (start #~(make-forkexec-constructor (list #$(file-append package "/bin/guix-data-service") @@ -612,7 +612,7 @@ (define (guix-data-service-shepherd-services config) (shepherd-service (documentation "Guix Data Service setup database") (provision '(guix-data-service-setup-database)) - (requirement '(postgres)) + (requirement '(user-processes postgres)) (one-shot? #t) (start (with-extensions (cons package @@ -647,7 +647,7 @@ (define (guix-data-service-shepherd-services config) (shepherd-service (documentation "Guix Data Service process jobs") (provision '(guix-data-service-process-jobs)) - (requirement '(postgres networking)) + (requirement '(user-processes postgres networking)) (start #~(make-forkexec-constructor (list #$(file-append package @@ -923,7 +923,7 @@ (define (nar-herder-shepherd-services config) (shepherd-service (documentation "Nar Herder") (provision '(nar-herder)) - (requirement '(networking)) + (requirement '(user-processes networking)) (start #~(make-forkexec-constructor (list #$(file-append package "/bin/nar-herder") @@ -1097,7 +1097,7 @@ (define (bffe-shepherd-services config) (shepherd-service (documentation "Build Farm Front-end") (provision '(bffe)) - (requirement '(networking)) + (requirement '(user-processes networking)) (start #~(make-forkexec-constructor (list #$start-script) #:user #$user diff --git a/gnu/services/ldap.scm b/gnu/services/ldap.scm index 49a33fac086..76f9b14a412 100644 --- a/gnu/services/ldap.scm +++ b/gnu/services/ldap.scm @@ -229,7 +229,7 @@ (define (directory-server-shepherd-service config) (documentation "Run an 389 directory server instance.") (provision (list (symbol-append 'directory-server- (string->symbol instance-name)))) - (requirement '()) + (requirement '(user-processes)) (start #~(make-forkexec-constructor (list #$(file-append 389-ds-base "/sbin/dsctl") #$instance-name "start") diff --git a/gnu/services/linux.scm b/gnu/services/linux.scm index fb089b965f8..b22dbeefa03 100644 --- a/gnu/services/linux.scm +++ b/gnu/services/linux.scm @@ -469,7 +469,7 @@ (define (cachefilesd-shepherd-service config) (shepherd-service (documentation "Run the cachefilesd daemon for FS-Cache.") (provision '(cachefilesd)) - (requirement (append '(file-systems) + (requirement (append '(user-processes file-systems) (if use-syslog? '(syslogd) '()))) (start #~(begin (and=> #$(maybe-value cache-directory) mkdir-p) @@ -523,7 +523,7 @@ (define (rasdaemon-shepherd-service config) (shepherd-service (documentation "Run rasdaemon") (provision '(rasdaemon)) - (requirement '(syslogd)) + (requirement '(user-processes syslogd)) (start #~(make-forkexec-constructor '#$(rasdaemon-configuration->command-line-args config))) (stop #~(make-kill-destructor)))) diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm index 18b482272c7..4ab0d681348 100644 --- a/gnu/services/mail.scm +++ b/gnu/services/mail.scm @@ -1600,7 +1600,7 @@ (define (dovecot-shepherd-service config) (list (shepherd-service (documentation "Run the Dovecot POP3/IMAP mail server.") (provision '(dovecot)) - (requirement '(pam networking)) + (requirement '(user-processes pam networking)) (start #~(make-forkexec-constructor (list (string-append #$dovecot "/sbin/dovecot") "-F"))) @@ -1903,7 +1903,7 @@ (define imap4d-shepherd-service (($ <imap4d-configuration> package config-file) (list (shepherd-service (provision '(imap4d)) - (requirement '(networking syslogd)) + (requirement '(user-processes networking syslogd)) (documentation "Run the imap4d daemon.") (start (let ((imap4d (file-append package "/sbin/imap4d"))) #~(make-forkexec-constructor @@ -2195,7 +2195,7 @@ (define (radicale-shepherd-service cfg) (list (shepherd-service (provision '(radicale)) (documentation "Run the radicale daemon.") - (requirement '(networking)) + (requirement '(user-processes networking)) (start #~(make-forkexec-constructor (list #$(file-append (radicale-configuration-package cfg) "/bin/radicale") @@ -2317,7 +2317,7 @@ (define-configuration/no-serialization rspamd-configuration (boolean #f) "Do not apply Jinja templates.") (shepherd-requirements - (list-of-symbols '(loopback)) + (list-of-symbols '(user-processes loopback)) "This is a list of symbols naming Shepherd services that this service will depend on.")) diff --git a/gnu/services/monitoring.scm b/gnu/services/monitoring.scm index 59cf4710ea4..f504c61afdf 100644 --- a/gnu/services/monitoring.scm +++ b/gnu/services/monitoring.scm @@ -196,7 +196,7 @@ (define prometheus-node-exporter-shepherd-service (shepherd-service (documentation "Prometheus node exporter.") (provision '(prometheus-node-exporter)) - (requirement '(networking)) + (requirement '(user-processes networking)) (start #~(make-forkexec-constructor (list #$(file-append package "/bin/node_exporter") "--web.listen-address" #$web-listen-address @@ -630,7 +630,7 @@ (define (vnstat-shepherd-service config) (match-record config <vnstat-configuration> (package pid-file) (shepherd-service (documentation "Run vnstatd.") - (requirement `(networking file-systems)) + (requirement `(user-processes networking file-systems)) (provision '(vnstatd)) (start #~(make-forkexec-constructor (list #$(file-append package "/sbin/vnstatd") diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index f7c2471535a..53840c27642 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm @@ -936,7 +936,7 @@ (define (opendht-shepherd-service config) (shepherd-service (documentation "Run an OpenDHT node.") (provision '(opendht dhtnode dhtproxy)) - (requirement '(networking syslogd)) + (requirement '(user-processes networking syslogd)) (start #~(make-forkexec-constructor (list #$@(opendht-configuration->command-line-arguments config)) #:user "opendht" @@ -2036,7 +2036,7 @@ (define (openvswitch-shepherd-service config) (stop #~(make-kill-destructor))) (shepherd-service (provision '(vswitchd)) - (requirement '(ovsdb)) + (requirement '(user-processes ovsdb)) (documentation "Run the Open vSwitch daemon.") (start #~(make-forkexec-constructor (list #$ovs-vswitchd "--pidfile") @@ -2248,7 +2248,7 @@ (define (pagekite-shepherd-service config) (shepherd-service (documentation "Run the PageKite service.") (provision '(pagekite)) - (requirement '(networking)) + (requirement '(user-processes networking)) (actions (list (shepherd-configuration-action config-file))) (start #~(make-forkexec-constructor (list #$pagekite @@ -2446,7 +2446,7 @@ (define (ipfs-shepherd-service config) ;; While IPFS is most useful when the machine is connected ;; to the network, only loopback is required for starting ;; the service. - (requirement '(loopback)) + (requirement '(user-processes loopback)) (documentation "Connect to the IPFS network") (start #~(make-forkexec-constructor #$ipfs-daemon-command diff --git a/gnu/services/nfs.scm b/gnu/services/nfs.scm index 209cde24b35..f5a1c6a44e8 100644 --- a/gnu/services/nfs.scm +++ b/gnu/services/nfs.scm @@ -74,7 +74,7 @@ (define rpcbind-service-type (shepherd-service (documentation "Start the RPC bind daemon.") - (requirement '(networking)) + (requirement '(user-processes networking)) (provision '(rpcbind-daemon)) (start #~(make-forkexec-constructor #$rpcbind-command)) @@ -164,7 +164,7 @@ (define gss-service-type (shepherd-service (documentation "Start the RPC GSS daemon.") - (requirement '(rpcbind-daemon rpc-pipefs)) + (requirement '(user-processes rpcbind-daemon rpc-pipefs)) (provision '(gss-daemon)) (start #~(make-forkexec-constructor #$gss-command)) @@ -236,7 +236,7 @@ (define idmap-service-type (shepherd-service (documentation "Start the RPC IDMAP daemon.") - (requirement '(rpcbind-daemon rpc-pipefs)) + (requirement '(user-processes rpcbind-daemon rpc-pipefs)) (provision '(idmap-daemon)) (start #~(make-forkexec-constructor #$idmap-command)) (stop #~(make-kill-destructor)))))) diff --git a/gnu/services/pm.scm b/gnu/services/pm.scm index 1978de55d47..64b64e01fb8 100644 --- a/gnu/services/pm.scm +++ b/gnu/services/pm.scm @@ -511,6 +511,7 @@ (define (thermald-shepherd-service config) (list (shepherd-service (provision '(thermald)) + (requirement '(user-processes)) (documentation "Run thermald cpu frequency scaling.") (start #~(make-forkexec-constructor '(#$(file-append (thermald-thermald config) "/sbin/thermald") diff --git a/gnu/services/rsync.scm b/gnu/services/rsync.scm index e85dd509346..4bbf2c4eff1 100644 --- a/gnu/services/rsync.scm +++ b/gnu/services/rsync.scm @@ -277,6 +277,7 @@ (define (rsync-shepherd-service config) "--config" #$config-file "--daemon"))) (list (shepherd-service (provision '(rsync)) + (requirement '(user-processes)) (documentation "Run rsync daemon.") (actions (list (shepherd-configuration-action config-file))) (start #~(if #$inetd-style? diff --git a/gnu/services/samba.scm b/gnu/services/samba.scm index dfc77785702..23d5cc45a07 100644 --- a/gnu/services/samba.scm +++ b/gnu/services/samba.scm @@ -91,7 +91,7 @@ (define (samba-samba-shepherd-service config) (list (shepherd-service (documentation "Run Samba") (provision '(samba-samba)) - (requirement '(networking)) + (requirement '(user-processes networking)) (start #~(make-forkexec-constructor (list #$(file-append package "/sbin/samba") (string-append "--configfile=" #$config-file) @@ -105,7 +105,7 @@ (define (samba-nmbd-shepherd-service config) (list (shepherd-service (documentation "Run NMBD") (provision '(samba-nmbd)) - (requirement '(networking)) + (requirement '(user-processes networking)) (start #~(make-forkexec-constructor (list #$(file-append package "/sbin/nmbd") (string-append "--configfile=" #$config-file) @@ -119,7 +119,7 @@ (define (samba-smbd-shepherd-service config) (list (shepherd-service (documentation "Run SMBD") (provision '(samba-smbd)) - (requirement '(networking)) + (requirement '(user-processes networking)) (start #~(make-forkexec-constructor (list #$(file-append package "/sbin/smbd") (string-append "--configfile=" #$config-file) @@ -133,7 +133,7 @@ (define (samba-winbindd-shepherd-service config) (list (shepherd-service (documentation "Run Winnbindd for Name Service Switch") (provision '(samba-winbindd)) - (requirement '(networking)) + (requirement '(user-processes networking)) (start #~(make-forkexec-constructor (list #$(file-append package "/sbin/winbindd") (string-append "--configfile=" #$config-file) @@ -222,7 +222,7 @@ (define (wsdd-shepherd-service config) like your local NAS device, to be found by Web Service Discovery Clients like Windows.") (provision '(wsdd)) - (requirement '(networking)) + (requirement '(user-processes networking)) (start #~(make-forkexec-constructor (list #$(file-append package "/bin/wsdd") #$@(if ipv4only? diff --git a/gnu/services/security-token.scm b/gnu/services/security-token.scm index d971091e732..7d6c0e0f8da 100644 --- a/gnu/services/security-token.scm +++ b/gnu/services/security-token.scm @@ -53,7 +53,7 @@ (define pcscd-shepherd-service (shepherd-service (documentation "PC/SC Smart Card Daemon") (provision '(pcscd)) - (requirement '(syslogd)) + (requirement '(user-processes syslogd)) (start #~(lambda _ (let ((socket "/run/pcscd/pcscd.comm")) (when (file-exists? socket) diff --git a/gnu/services/sound.scm b/gnu/services/sound.scm index 20f78bb500b..fbaa55c5533 100644 --- a/gnu/services/sound.scm +++ b/gnu/services/sound.scm @@ -301,7 +301,7 @@ (define speakersafetyd-shepherd-service (shepherd-service (documentation "Run the speaker safety daemon") (provision '(speakersafetyd)) - (requirement '(udev)) + (requirement '(user-processes udev)) (start #~(make-forkexec-constructor (list #$(file-append speakersafetyd "/bin/speakersafetyd") "--config-path" #$configuration-directory diff --git a/gnu/services/spice.scm b/gnu/services/spice.scm index b8d2f8486e9..59c5c186274 100644 --- a/gnu/services/spice.scm +++ b/gnu/services/spice.scm @@ -47,7 +47,7 @@ (define (spice-vdagent-shepherd-service config) (list (shepherd-service (documentation "Spice vdagentd service") - (requirement '(dbus-system)) + (requirement '(user-processes dbus-system)) (provision '(spice-vdagentd)) (start #~(lambda args ;; spice-vdagentd supports being activated upon the client diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm index f759c5cf6e9..12547b3c7b3 100644 --- a/gnu/services/ssh.scm +++ b/gnu/services/ssh.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014-2019, 2022-2024 Ludovic Courtès <l...@gnu.org> +;;; Copyright © 2014-2019, 2022-2025 Ludovic Courtès <l...@gnu.org> ;;; Copyright © 2016 David Craven <da...@craven.ch> ;;; Copyright © 2016 Julien Lepiller <jul...@lepiller.eu> ;;; Copyright © 2017 Clément Lassieur <clem...@lassieur.org> @@ -218,7 +218,8 @@ (define (lsh-shepherd-service config) interfaces))))) (define requires - `(networking + `(user-processes + networking pam ,@(if (and daemonic? (lsh-configuration-syslog-output? config)) '(syslogd) @@ -595,7 +596,7 @@ (define (openssh-shepherd-service config) ;; On the Hurd, this can only be started after pfinet is up, hence ;; the dependency on 'networking'. - (requirement '(pam syslogd loopback networking)) + (requirement '(user-processes pam syslogd loopback networking)) (provision '(ssh-daemon ssh sshd)) (start #~(if #$inetd-style? @@ -726,7 +727,8 @@ (define (dropbear-shepherd-service config) (define requires (if (dropbear-configuration-syslog-output? config) - '(networking syslogd) '(networking))) + '(user-processes networking syslogd) + '(user-processes networking))) (list (shepherd-service (documentation "Dropbear SSH server.") @@ -794,6 +796,7 @@ (define (autossh-shepherd-service config) (shepherd-service (documentation "Automatically set up ssh connections (and keep them alive).") (provision '(autossh)) + (requirement '(user-processes)) (start #~(make-forkexec-constructor (list #$(file-append autossh "/bin/autossh") #$@(autossh-configuration-ssh-options config)) diff --git a/gnu/services/telephony.scm b/gnu/services/telephony.scm index 16d109b8b1b..9926f4107de 100644 --- a/gnu/services/telephony.scm +++ b/gnu/services/telephony.scm @@ -547,7 +547,7 @@ (define (jami-shepherd-services config) ,@%default-modules)) ;; The requirement on dbus-system is to ensure other required ;; activation for D-Bus, such as a /etc/machine-id file. - (requirement '(dbus-system syslogd)) + (requirement '(user-processes dbus-system syslogd)) (start #~(lambda () (define pid @@ -580,7 +580,7 @@ (define (jami-shepherd-services config) list-banned-contacts-action enable-account-action disable-account-action)) - (requirement '(jami-dbus-session)) + (requirement '(user-processes jami-dbus-session)) (modules `((ice-9 format) (ice-9 ftw) (ice-9 match) @@ -944,7 +944,7 @@ (define (mumble-server-shepherd-service config) (list (shepherd-service (provision '(mumble-server)) (documentation "Run the Mumble server.") - (requirement '(networking)) + (requirement '(user-processes networking)) (start #~(make-forkexec-constructor '(#$(file-append (mumble-server-configuration-package config) "/bin/mumble-server") diff --git a/gnu/services/version-control.scm b/gnu/services/version-control.scm index 14ff0a59a6b..06b6ff224dc 100644 --- a/gnu/services/version-control.scm +++ b/gnu/services/version-control.scm @@ -136,7 +136,7 @@ (define git-daemon-shepherd-service ,@whitelist))) (list (shepherd-service (documentation "Run the git-daemon.") - (requirement '(networking)) + (requirement '(user-processes networking)) (provision '(git-daemon)) (start #~(make-forkexec-constructor '#$command #:user "git-daemon" diff --git a/gnu/services/virtualization.scm b/gnu/services/virtualization.scm index b697ae95269..88cc91bb490 100644 --- a/gnu/services/virtualization.scm +++ b/gnu/services/virtualization.scm @@ -573,6 +573,7 @@ (define (virtlogd-shepherd-service config) (list (shepherd-service (documentation "Run the virtlog daemon.") (provision '(virtlogd)) + (requirement '(user-processes)) (start #~(make-forkexec-constructor (list (string-append #$libvirt "/sbin/virtlogd") "-f" #$config-file))) diff --git a/gnu/services/vnc.scm b/gnu/services/vnc.scm index 8b9ad0b1799..0b18830d2b5 100644 --- a/gnu/services/vnc.scm +++ b/gnu/services/vnc.scm @@ -206,7 +206,7 @@ (define (xvnc-shepherd-service config) (shepherd-service (provision '(xvnc vncserver)) (documentation "Run the Xvnc server.") - (requirement '(networking syslogd)) + (requirement '(user-processes networking syslogd)) (start (if (xvnc-configuration-inetd? config) #~(let* ((inaddr (if #$(xvnc-configuration-localhost? config) INADDR_LOOPBACK diff --git a/gnu/services/vpn.scm b/gnu/services/vpn.scm index 8e90032c93f..c66622ad6c9 100644 --- a/gnu/services/vpn.scm +++ b/gnu/services/vpn.scm @@ -506,7 +506,7 @@ (define (openvpn-shepherd-service role) (provision (match role ('server '(vpn-server)) ('client '(vpn-client)))) - (requirement '(networking)) + (requirement '(user-processes networking)) (start #~(make-forkexec-constructor (list (string-append #$openvpn "/sbin/openvpn") "--writepid" #$pid-file "--config" #$config-file @@ -693,7 +693,7 @@ (define (strongswan-shepherd-service config) (let* ((ipsec (file-append strongswan "/sbin/ipsec")) (strongswan-conf-path (strongswan-configuration-file config))) (list (shepherd-service - (requirement '(networking)) + (requirement '(user-processes networking)) (provision '(ipsec)) (start #~(make-forkexec-constructor (list #$ipsec "start" "--nofork") diff --git a/gnu/services/web.scm b/gnu/services/web.scm index d42ef09c3c0..7593cd2eaa1 100644 --- a/gnu/services/web.scm +++ b/gnu/services/web.scm @@ -471,7 +471,7 @@ (define httpd-shepherd-services (list (shepherd-service (provision '(httpd)) (documentation "The Apache HTTP Server") - (requirement '(networking)) + (requirement '(user-processes networking)) (start #~(make-forkexec-constructor `(#$(file-append package "/bin/httpd") #$@(if config @@ -960,7 +960,7 @@ (define fcgiwrap-shepherd-service (list (shepherd-service (provision '(fcgiwrap)) (documentation "Run the fcgiwrap daemon.") - (requirement '(networking)) + (requirement '(user-processes networking)) (start #~(make-forkexec-constructor '(#$(file-append package "/sbin/fcgiwrap") "-s" #$socket) @@ -1144,7 +1144,7 @@ (define php-fpm-shepherd-service (list (shepherd-service (provision '(php-fpm)) (documentation "Run the php-fpm daemon.") - (requirement '(networking)) + (requirement '(user-processes networking)) (start #~(make-forkexec-constructor '(#$(file-append php "/sbin/php-fpm") "--fpm-config" @@ -1289,7 +1289,7 @@ (define (hpcguix-web-shepherd-service config) (shepherd-service (documentation "hpcguix-web daemon") (provision '(hpcguix-web)) - (requirement '(networking)) + (requirement '(user-processes networking)) (start #~(make-forkexec-constructor (list #$(file-append hpcguix-web "/bin/hpcguix-web") (string-append "--listen=" @@ -1426,6 +1426,7 @@ (define tailon-shepherd-service (($ <tailon-configuration> config-file package) (list (shepherd-service (provision '(tailon)) + (requirement '(user-processes)) (documentation "Run the tailon daemon.") (start #~(make-forkexec-constructor `(,(string-append #$package "/bin/tailon") @@ -1618,7 +1619,7 @@ (define varnish-shepherd-service (provision (list (symbol-append 'varnish- (string->symbol name)))) (documentation (string-append "The Varnish Web Accelerator" " (" name ")")) - (requirement '(networking)) + (requirement '(user-processes networking)) (start #~(make-forkexec-constructor (list #$(file-append package "/sbin/varnishd") "-n" #$name @@ -1678,6 +1679,7 @@ (define (whoogle-shepherd-service config) (list (shepherd-service (provision '(whoogle-search)) + (requirement '(user-processes)) (start #~(make-forkexec-constructor (list (string-append #$package "/bin/whoogle-search") "--host" #$host "--port" #$(number->string port)) @@ -2066,7 +2068,7 @@ (define (mumi-shepherd-services config) (list (shepherd-service (provision '(mumi)) (documentation "Mumi bug-tracking web interface.") - (requirement '(networking)) + (requirement '(user-processes networking)) (start #~(make-forkexec-constructor `(#$(file-append mumi "/bin/mumi") "web" ,@(if #$mailer? '() '("--disable-mailer"))) @@ -2077,7 +2079,7 @@ (define (mumi-shepherd-services config) (shepherd-service (provision '(mumi-worker)) (documentation "Mumi bug-tracking web interface database worker.") - (requirement '(networking)) + (requirement '(user-processes networking)) (start #~(make-forkexec-constructor '(#$(file-append mumi "/bin/mumi") "worker") #:environment-variables #$environment @@ -2087,7 +2089,7 @@ (define (mumi-shepherd-services config) (shepherd-service (provision '(mumi-mailer)) (documentation "Mumi bug-tracking web interface mailer.") - (requirement '(networking)) + (requirement '(user-processes networking)) (start #~(make-forkexec-constructor `(#$(file-append mumi "/bin/mumi") "mailer" ,@(if #$sender @@ -2142,7 +2144,7 @@ (define gmnisrv-shepherd-service (($ <gmnisrv-configuration> package config-file) (list (shepherd-service (provision '(gmnisrv)) - (requirement '(networking)) + (requirement '(user-processes networking)) (documentation "Run the gmnisrv Gemini server.") (start (let ((gmnisrv (file-append package "/bin/gmnisrv"))) #~(make-forkexec-constructor @@ -2231,7 +2233,7 @@ (define agate-shepherd-service log-ip? user group log-file) (list (shepherd-service (provision '(agate)) - (requirement '(networking)) + (requirement '(user-processes networking)) (documentation "Run the agate Gemini server.") (start (let ((agate (file-append package "/bin/agate"))) #~(make-forkexec-constructor base-commit: 90aa90eb05429553402e0b5225d23f84742a9286 -- 2.48.1