services: Add missing Shepherd dependency on ‘user-processes’.

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 <dariqq@posteo.net>
Change-Id: I947bd2afc83b786cb17c555cfe73ab586b806618
This commit is contained in:
Ludovic Courtès 2025-02-22 22:59:07 +01:00
parent 9c0c881c7d
commit bd7b9e6a60
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
32 changed files with 83 additions and 70 deletions

View file

@ -29519,7 +29519,7 @@ Ignore running workers as privileged users.
@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.

View file

@ -56,6 +56,7 @@ ignore\ndisk_error_action = syslog\n"))
(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"))

View file

@ -721,7 +721,7 @@ down.")))
(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 @@ NAME-udev-hardware."
(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".

View file

@ -79,7 +79,7 @@
(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

View file

@ -153,7 +153,8 @@ available for each configured user."))
(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 @@ available for each configured user."))
(define (rootless-podman-cgroups-limits-service config)
(shepherd-service (provision '(cgroups2-limits))
(requirement
'(dbus-system
'(user-processes
dbus-system
elogind
networking
udev

View file

@ -1008,7 +1008,7 @@ extensions that it uses."
(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)))

View file

@ -443,7 +443,7 @@ rolname = '" ,name "')) as not_exists;\n"
(match-record config <postgresql-role-configuration>
(log)
(list (shepherd-service
(requirement '(postgres))
(requirement '(user-processes postgres))
(provision '(postgres-roles))
(one-shot? #t)
(start

View file

@ -304,7 +304,7 @@ is a list, it recursively searches it until it locates the last item of TREE."
(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 @@ site} for more information."
"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 @@ seats.)"
(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 @@ rules."
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 @@ or setting its password with passwd.")))
(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))

View file

@ -700,7 +700,7 @@ cache.size = 100 * MB
(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 @@ cache.size = 100 * MB
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

View file

@ -157,6 +157,7 @@ loop-back communications.")
(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 @@ loop-back communications.")
(shepherd-service
(documentation "Docker daemon.")
(provision '(dockerd))
(requirement '(containerd
(requirement '(user-processes
containerd
dbus-system
elogind
file-system-/sys/fs/cgroup

View file

@ -635,7 +635,7 @@ satisfy requests from peers."))
(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")

View file

@ -53,7 +53,7 @@
(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 @@ install udev rules required to use the controller as an unprivileged user.")
(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"))

View file

@ -334,7 +334,7 @@
(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 @@ ca-certificates.crt file in the system profile."
(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 @@ ca-certificates.crt file in the system profile."
(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 @@ ca-certificates.crt file in the system profile."
(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 @@ ca-certificates.crt file in the system profile."
(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 @@ ca-certificates.crt file in the system profile."
(shepherd-service
(documentation "Build Farm Front-end")
(provision '(bffe))
(requirement '(networking))
(requirement '(user-processes networking))
(start #~(make-forkexec-constructor
(list #$start-script)
#:user #$user

View file

@ -229,7 +229,7 @@ whether systemd is installed.")
(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")

View file

@ -469,7 +469,7 @@ more information)."
(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 @@ the Linux @code{cachefiles} module.")
(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))))

View file

@ -1600,7 +1600,7 @@ greyed out, instead of only later giving \"not selectable\" popup error.
(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 @@ exim_group = exim
(($ <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 @@ authentication plugin that extracts the username from the certificate.")
(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 @@ in these files will override the defaults.")
(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."))

View file

@ -196,7 +196,7 @@ HTTP.")
(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 @@ resolution.")
(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")

View file

@ -936,7 +936,7 @@ CONFIG, an <opendht-configuration> object."
(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 @@ simulation."
(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 @@ table inet filter {
(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 @@ See @command{yggdrasil -genconf} for config options.")
;; 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

View file

@ -74,7 +74,7 @@
(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 @@ NFS-related data between the kernel and user-space programs."))))
(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 @@ RPC)."))))
(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))))))

View file

@ -511,6 +511,7 @@ shutdown on system startup."))
(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")

View file

@ -277,6 +277,7 @@ please use 'modules' instead~%")))
"--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?

View file

@ -91,7 +91,7 @@
(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 @@
(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 @@
(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 @@
(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 @@ controller or as a regular domain member.")
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?

View file

@ -53,7 +53,7 @@
(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)

View file

@ -301,7 +301,7 @@ the configuration files of the speaker models.")
(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

View file

@ -47,7 +47,7 @@
(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

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014-2019, 2022-2024 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014-2019, 2022-2025 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2016 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
@ -218,7 +218,8 @@
interfaces)))))
(define requires
`(networking
`(user-processes
networking
pam
,@(if (and daemonic? (lsh-configuration-syslog-output? config))
'(syslogd)
@ -595,7 +596,7 @@ of user-name/file-like tuples."
;; 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 @@ of user-name/file-like tuples."
(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 @@ object."
(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))

View file

@ -547,7 +547,7 @@ argument, either a registered username or the fingerprint of the account.")
,@%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 @@ argument, either a registered username or the fingerprint of the account.")
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 @@ Or set public-registration to #f"))))))))
(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")

View file

@ -136,7 +136,7 @@
,@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"

View file

@ -573,6 +573,7 @@ performs required management tasks for virtualized guests.")))
(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)))

View file

@ -206,7 +206,7 @@ CONFIG, a <xvnc-configuration> object."
(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

View file

@ -506,7 +506,7 @@ is truncated and rewritten every minute.")
(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 @@ include ~a/*.conf"
(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")

View file

@ -471,7 +471,7 @@
(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 @@ renewed TLS certificates, or @code{include}d files.")
(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 @@ and the back-end of a Web 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 @@ a webserver.")
(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 @@ a webserver.")
(($ <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 @@ files.")
(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 @@ Whoogle."))
(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 @@ WSGIPassAuthorization On
(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 @@ WSGIPassAuthorization On
(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 @@ WSGIPassAuthorization On
(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 @@ root=/srv/gemini
(($ <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 @@ root=/srv/gemini
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