services: Switch from mcron + Rottlog to Shepherd’s log rotation.

* gnu/services/admin.scm (unattended-upgrade-log-rotations): Remove.
(unattended-upgrade-service-type): Remove ‘rottlog-service-type’
extension.
* gnu/services/audio.scm (mpd-log-rotation): Remove.
(mpd-service-type): Remove ‘rottlog-service-type’ extension.
(mympd-log-rotation): Remove.
(mympd-service-type): Remove rottlog-service-type’ extension.
* gnu/services/base.scm (%guix-publish-log-rotations): Remove.
(guix-publish-service-type): Remove ‘rottlog-service-type’ extension.
(%base-services): Instantiate ‘log-rotation-service-type’ instead of
‘rottlog-service-type’.
(%default-syslog-files): New variable.
(syslog-service-type): Extend ‘log-rotation-service-type’.
* gnu/services/cuirass.scm (cuirass-log-rotations): Remove.
(cuirass-service-type): Remove ‘rottlog-service-type’ extension.
(cuirass-remote-worker-log-rotations): Remove.
(cuirass-remote-worker-service-type): Remove ‘rottlog-service-type’
extension.
* gnu/services/file-sharing.scm (%transmission-daemon-log-rotations):
Remove.
(transmission-daemon-service-type): Remove ‘rottlog-service-type’
extension.
* gnu/services/linux.scm (%earlyoom-log-rotation): Remove.
(earlyoom-service-type): Remove ‘rottlog-service-type’ extension.
* gnu/services/networking.scm (%ntp-log-rotation): Remove.
(ntp-service-type): Remove ‘rottlog-service-type’ extension.
(openntpd-service-type): Likewise.
(%connman-log-rotation): Remove.
(connman-service-type): Remove ‘rottlog-service-type’ extension.
(%hostapd-log-rotation): Remove.
(hostapd-service-type): Remove ‘rottlog-service-type’ extension.
(%pagekite-log-rotation): Remove.
(pagekite-service-type): Remove ‘rottlog-service-type’ extension.
(%yggdrasil-log-rotation): Remove.
(yggdrasil-service-type): Remove ‘rottlog-service-type’ extension.
(%ipfs-log-rotation): Remove.
(ipfs-service-type): Remove ‘rottlog-service-type’ extension.
(%keepalived-log-rotation): Remove.
(keepalived-service-type): Remove ‘rottlog-service-type’ extension.
* gnu/services/web.scm (%hpcguix-web-log-rotations): Remove.
(hpcguix-web-service-type): Remove ‘rottlog-service-type’ extension.
(%mumi-log-rotations): Remove.
(mumi-service-type): Remove ‘rottlog-service-type’ extension.
* doc/guix.texi (Log Rotation): Adjust text regarding which one is in
‘%base-services’.

Change-Id: I8802d4c2337a1e08e3c084d6217f76527d7ee1fb
This commit is contained in:
Ludovic Courtès 2024-12-11 23:32:45 +01:00
parent 48083c8c95
commit 6942161b44
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
9 changed files with 28 additions and 153 deletions

View file

@ -20902,6 +20902,9 @@ You can also list files subject to rotation with @command{herd files
log-rotation} and trigger rotation manually with @command{herd trigger log-rotation} and trigger rotation manually with @command{herd trigger
log-rotation}. log-rotation}.
This service is part of @code{%base-services}, and thus enabled by
default, with the default settings.
@defvar log-rotation-service-type @defvar log-rotation-service-type
This is the type of the log rotation service. Its associated value must This is the type of the log rotation service. Its associated value must
be a @code{log-rotation-configuration} record, as discussed below. be a @code{log-rotation-configuration} record, as discussed below.
@ -20950,8 +20953,6 @@ An alternative log rotation service relying on GNU@tie{}Rot[t]log, a log
rotation tool (@pxref{Top,,, rottlog, GNU Rot[t]log Manual}), is also rotation tool (@pxref{Top,,, rottlog, GNU Rot[t]log Manual}), is also
provided. provided.
This service is part of @code{%base-services}, and thus enabled by
default, with the default settings, for commonly encountered log files.
The example below shows how to extend it with an additional The example below shows how to extend it with an additional
@dfn{rotation}, should you need to do that (usually, services that @dfn{rotation}, should you need to do that (usually, services that
produce log files already take care of that): produce log files already take care of that):

View file

@ -670,19 +670,12 @@ (define upgrade
(documentation "Trigger unattended system upgrade.") (documentation "Trigger unattended system upgrade.")
(procedure #~trigger-timer))))))) (procedure #~trigger-timer)))))))
(define (unattended-upgrade-log-rotations config)
(list (log-rotation
(files
(list (unattended-upgrade-configuration-log-file config))))))
(define unattended-upgrade-service-type (define unattended-upgrade-service-type
(service-type (service-type
(name 'unattended-upgrade) (name 'unattended-upgrade)
(extensions (extensions
(list (service-extension shepherd-root-service-type (list (service-extension shepherd-root-service-type
unattended-upgrade-shepherd-services) unattended-upgrade-shepherd-services)))
(service-extension rottlog-service-type
unattended-upgrade-log-rotations)))
(description (description
"Periodically upgrade the system from the current configuration.") "Periodically upgrade the system from the current configuration.")
(default-value (unattended-upgrade-configuration)))) (default-value (unattended-upgrade-configuration))))

View file

@ -579,17 +579,6 @@ (define (mpd-serialize-configuration configuration)
"mpd.conf" "mpd.conf"
(serialize-configuration configuration mpd-configuration-fields))) (serialize-configuration configuration mpd-configuration-fields)))
(define (mpd-log-rotation config)
(match-record config <mpd-configuration>
(log-file)
(if (string=? "syslog" log-file)
'() ;nothing to do
(list (log-rotation
(files (list log-file))
(post-rotate #~(begin
(use-modules (gnu services herd))
(with-shepherd-action 'mpd ('reopen) #f))))))))
(define (mpd-shepherd-service config) (define (mpd-shepherd-service config)
(match-record config <mpd-configuration> (match-record config <mpd-configuration>
(user package shepherd-requirement (user package shepherd-requirement
@ -675,8 +664,7 @@ (define mpd-service-type
(extensions (extensions
(list (service-extension shepherd-root-service-type (list (service-extension shepherd-root-service-type
(compose list mpd-shepherd-service)) (compose list mpd-shepherd-service))
(service-extension account-service-type mpd-accounts) (service-extension account-service-type mpd-accounts)))
(service-extension rottlog-service-type mpd-log-rotation)))
(default-value (mpd-configuration)))) (default-value (mpd-configuration))))
@ -953,14 +941,6 @@ (define (mympd-accounts config)
user))) user)))
(list user group)))) (list user group))))
(define (mympd-log-rotation config)
(match-record config <mympd-configuration>
(log-to)
(if (maybe-value-set? log-to)
(list (log-rotation
(files (list log-to))))
'())))
(define mympd-service-type (define mympd-service-type
(service-type (service-type
(name 'mympd) (name 'mympd)
@ -970,8 +950,6 @@ (define mympd-service-type
(service-extension account-service-type (service-extension account-service-type
mympd-accounts) mympd-accounts)
(service-extension special-files-service-type (service-extension special-files-service-type
mympd-serialize-configuration) mympd-serialize-configuration)))
(service-extension rottlog-service-type
mympd-log-rotation)))
(description "Run myMPD, a frontend for MPD. (Music Player Daemon)") (description "Run myMPD, a frontend for MPD. (Music Player Daemon)")
(default-value (mympd-configuration)))) (default-value (mympd-configuration))))

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013-2024 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013-2025 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com> ;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015, 2016, 2020 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015, 2016, 2020 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
@ -1685,12 +1685,20 @@ (define config-file
#:pid-file "/var/run/syslog.pid")) #:pid-file "/var/run/syslog.pid"))
(stop #~(make-kill-destructor)))) (stop #~(make-kill-destructor))))
(define %default-syslog-files
;; List of files usually produced by syslogd that should be rotated.
'("/var/log/messages" "/var/log/secure" "/var/log/debug"
"/var/log/maillog"))
(define syslog-service-type (define syslog-service-type
(service-type (service-type
(name 'syslog) (name 'syslog)
(default-value (syslog-configuration)) (default-value (syslog-configuration))
(extensions (list (service-extension shepherd-root-service-type (extensions (list (service-extension shepherd-root-service-type
(compose list syslog-shepherd-service)) (compose list
syslog-shepherd-service))
(service-extension log-rotation-service-type
(const %default-syslog-files))
(service-extension etc-service-type syslog-etc))) (service-extension etc-service-type syslog-etc)))
(description "Run the syslog daemon, @command{syslogd}, which is (description "Run the syslog daemon, @command{syslogd}, which is
responsible for logging system messages."))) responsible for logging system messages.")))
@ -2354,12 +2362,6 @@ (define %guix-publish-accounts
(home-directory "/var/empty") (home-directory "/var/empty")
(shell (file-append shadow "/sbin/nologin"))))) (shell (file-append shadow "/sbin/nologin")))))
(define %guix-publish-log-rotations
(list (log-rotation
(files (list "/var/log/guix-publish.log"))
(options `("rotate 4" ;don't keep too many of them
,@%default-log-rotation-options)))))
(define (guix-publish-activation config) (define (guix-publish-activation config)
(let ((cache (guix-publish-configuration-cache config))) (let ((cache (guix-publish-configuration-cache config)))
(if cache (if cache
@ -2381,8 +2383,6 @@ (define guix-publish-service-type
guix-publish-shepherd-service) guix-publish-shepherd-service)
(service-extension account-service-type (service-extension account-service-type
(const %guix-publish-accounts)) (const %guix-publish-accounts))
(service-extension rottlog-service-type
(const %guix-publish-log-rotations))
(service-extension activation-service-type (service-extension activation-service-type
guix-publish-activation))) guix-publish-activation)))
(default-value (guix-publish-configuration)) (default-value (guix-publish-configuration))
@ -3748,7 +3748,7 @@ (define %base-services
(service guix-service-type) (service guix-service-type)
(service nscd-service-type) (service nscd-service-type)
(service rottlog-service-type) (service log-rotation-service-type)
;; Periodically delete old build logs. ;; Periodically delete old build logs.
(service log-cleanup-service-type (service log-cleanup-service-type

View file

@ -340,20 +340,6 @@ (define (cuirass-activation config)
(when #$remote-cache (when #$remote-cache
(chown #$remote-cache uid gid))))))) (chown #$remote-cache uid gid)))))))
(define (cuirass-log-rotations config)
"Return the list of log rotations that corresponds to CONFIG."
(list (log-rotation
(files (append (list (cuirass-configuration-log-file config)
(cuirass-configuration-web-log-file config))
(let ((server
(cuirass-configuration-remote-server config)))
(if server
(list (cuirass-remote-server-log-file server))
'()))))
(frequency 'weekly)
(options `("rotate 40" ;worth keeping
,@%default-log-rotation-options)))))
(define cuirass-service-type (define cuirass-service-type
(service-type (service-type
(name 'cuirass) (name 'cuirass)
@ -361,7 +347,6 @@ (define cuirass-service-type
(list (list
(service-extension profile-service-type ;for 'info cuirass' (service-extension profile-service-type ;for 'info cuirass'
(compose list cuirass-configuration-cuirass)) (compose list cuirass-configuration-cuirass))
(service-extension rottlog-service-type cuirass-log-rotations)
(service-extension activation-service-type cuirass-activation) (service-extension activation-service-type cuirass-activation)
(service-extension shepherd-root-service-type cuirass-shepherd-service) (service-extension shepherd-root-service-type cuirass-shepherd-service)
(service-extension account-service-type cuirass-account) (service-extension account-service-type cuirass-account)
@ -454,14 +439,6 @@ (define (cuirass-remote-worker-shepherd-service config)
#:log-file #$log-file)) #:log-file #$log-file))
(stop #~(make-kill-destructor)))))) (stop #~(make-kill-destructor))))))
(define (cuirass-remote-worker-log-rotations config)
"Return the list of log rotations that corresponds to CONFIG."
(list (log-rotation
(files (list (cuirass-remote-worker-log-file config)))
(frequency 'weekly)
(options `("rotate 4" ;don't keep too many of them
,@%default-log-rotation-options)))))
(define cuirass-remote-worker-service-type (define cuirass-remote-worker-service-type
(service-type (service-type
(name 'cuirass-remote-worker) (name 'cuirass-remote-worker)
@ -469,8 +446,6 @@ (define cuirass-remote-worker-service-type
(list (service-extension shepherd-root-service-type (list (service-extension shepherd-root-service-type
cuirass-remote-worker-shepherd-service) cuirass-remote-worker-shepherd-service)
(service-extension account-service-type (service-extension account-service-type
(const %cuirass-remote-worker-accounts)) (const %cuirass-remote-worker-accounts))))
(service-extension rottlog-service-type
cuirass-remote-worker-log-rotations)))
(description (description
"Run the Cuirass remote build worker service."))) "Run the Cuirass remote build worker service.")))

View file

@ -701,10 +701,6 @@ (define %transmission-daemon-accounts
(shell (file-append shadow "/sbin/nologin")) (shell (file-append shadow "/sbin/nologin"))
(system? #t)))) (system? #t))))
(define %transmission-daemon-log-rotations
(list (log-rotation
(files (list %transmission-daemon-log-file)))))
(define (transmission-daemon-computed-settings-file config) (define (transmission-daemon-computed-settings-file config)
"Return a @code{computed-file} object that, when unquoted in a G-expression, "Return a @code{computed-file} object that, when unquoted in a G-expression,
produces a Transmission settings file (@file{settings.json}) matching CONFIG." produces a Transmission settings file (@file{settings.json}) matching CONFIG."
@ -785,8 +781,6 @@ (define transmission-daemon-service-type
transmission-daemon-shepherd-service) transmission-daemon-shepherd-service)
(service-extension account-service-type (service-extension account-service-type
(const %transmission-daemon-accounts)) (const %transmission-daemon-accounts))
(service-extension rottlog-service-type
(const %transmission-daemon-log-rotations))
(service-extension activation-service-type (service-extension activation-service-type
transmission-daemon-activation))) transmission-daemon-activation)))
(default-value (transmission-daemon-configuration)) (default-value (transmission-daemon-configuration))

View file

@ -181,19 +181,13 @@ (define (earlyoom-shepherd-service config)
#:log-file "/var/log/earlyoom.log")) #:log-file "/var/log/earlyoom.log"))
(stop #~(make-kill-destructor)))) (stop #~(make-kill-destructor))))
(define %earlyoom-log-rotation
(list (log-rotation
(files '("/var/log/earlyoom.log")))))
(define earlyoom-service-type (define earlyoom-service-type
(service-type (service-type
(name 'earlyoom) (name 'earlyoom)
(default-value (earlyoom-configuration)) (default-value (earlyoom-configuration))
(extensions (extensions
(list (service-extension shepherd-root-service-type (list (service-extension shepherd-root-service-type
(compose list earlyoom-shepherd-service)) (compose list earlyoom-shepherd-service))))
(service-extension rottlog-service-type
(const %earlyoom-log-rotation))))
(description "Run @command{earlyoom}, a daemon that quickly responds to (description "Run @command{earlyoom}, a daemon that quickly responds to
@acronym{OOM, out-of-memory} conditions by terminating relevant processes."))) @acronym{OOM, out-of-memory} conditions by terminating relevant processes.")))

View file

@ -496,11 +496,6 @@ (define dhcpd-service-type
;;; NTP. ;;; NTP.
;;; ;;;
(define %ntp-log-rotation
(list (log-rotation
(files '("/var/log/ntpd.log")))))
(define ntp-server-types (make-enumeration (define ntp-server-types (make-enumeration
'(pool '(pool
server server
@ -634,9 +629,7 @@ (define ntp-service-type
(service-extension account-service-type (service-extension account-service-type
(const %ntp-accounts)) (const %ntp-accounts))
(service-extension activation-service-type (service-extension activation-service-type
ntp-service-activation) ntp-service-activation)))
(service-extension rottlog-service-type
(const %ntp-log-rotation))))
(description (description
"Run the @command{ntpd}, the Network Time Protocol (NTP) "Run the @command{ntpd}, the Network Time Protocol (NTP)
daemon of the @uref{http://www.ntp.org, Network Time Foundation}. The daemon daemon of the @uref{http://www.ntp.org, Network Time Foundation}. The daemon
@ -745,9 +738,7 @@ (define openntpd-service-type
(service-extension profile-service-type (service-extension profile-service-type
(compose list openntpd-configuration-openntpd)) (compose list openntpd-configuration-openntpd))
(service-extension activation-service-type (service-extension activation-service-type
openntpd-service-activation) openntpd-service-activation)))
(service-extension rottlog-service-type
(const %ntp-log-rotation))))
(default-value (openntpd-configuration)) (default-value (openntpd-configuration))
(description (description
"Run the @command{ntpd}, the Network Time Protocol (NTP) "Run the @command{ntpd}, the Network Time Protocol (NTP)
@ -1699,10 +1690,6 @@ (define (connman-shepherd-service config)
#:log-file "/var/log/connman.log")) #:log-file "/var/log/connman.log"))
(stop #~(make-kill-destructor))))))) (stop #~(make-kill-destructor)))))))
(define %connman-log-rotation
(list (log-rotation
(files '("/var/log/connman.log")))))
(define connman-service-type (define connman-service-type
(let ((connman-package (compose list connman-configuration-connman))) (let ((connman-package (compose list connman-configuration-connman)))
(service-type (name 'connman) (service-type (name 'connman)
@ -1717,9 +1704,7 @@ (define connman-service-type
connman-activation) connman-activation)
;; Add connman to the system profile. ;; Add connman to the system profile.
(service-extension profile-service-type (service-extension profile-service-type
connman-package) connman-package)))
(service-extension rottlog-service-type
(const %connman-log-rotation))))
(default-value (connman-configuration)) (default-value (connman-configuration))
(description (description
"Run @url{https://01.org/connman,Connman}, "Run @url{https://01.org/connman,Connman},
@ -1960,18 +1945,12 @@ (define* (hostapd-shepherd-services config #:key (requirement '()))
#:log-file "/var/log/hostapd.log")) #:log-file "/var/log/hostapd.log"))
(stop #~(make-kill-destructor))))) (stop #~(make-kill-destructor)))))
(define %hostapd-log-rotation
(list (log-rotation
(files '("/var/log/hostapd.log")))))
(define hostapd-service-type (define hostapd-service-type
(service-type (service-type
(name 'hostapd) (name 'hostapd)
(extensions (extensions
(list (service-extension shepherd-root-service-type (list (service-extension shepherd-root-service-type
hostapd-shepherd-services) hostapd-shepherd-services)))
(service-extension rottlog-service-type
(const %hostapd-log-rotation))))
(description (description
"Run the @uref{https://w1.fi/hostapd/, hostapd} daemon for Wi-Fi access "Run the @uref{https://w1.fi/hostapd/, hostapd} daemon for Wi-Fi access
points and authentication servers."))) points and authentication servers.")))
@ -2272,10 +2251,6 @@ (define (pagekite-shepherd-service config)
;; SIGTERM doesn't always work for some reason. ;; SIGTERM doesn't always work for some reason.
(stop #~(make-kill-destructor SIGINT)))))) (stop #~(make-kill-destructor SIGINT))))))
(define %pagekite-log-rotation
(list (log-rotation
(files '("/var/log/pagekite.log")))))
(define %pagekite-accounts (define %pagekite-accounts
(list (user-group (name "pagekite") (system? #t)) (list (user-group (name "pagekite") (system? #t))
(user-account (user-account
@ -2294,9 +2269,7 @@ (define pagekite-service-type
(list (service-extension shepherd-root-service-type (list (service-extension shepherd-root-service-type
(compose list pagekite-shepherd-service)) (compose list pagekite-shepherd-service))
(service-extension account-service-type (service-extension account-service-type
(const %pagekite-accounts)) (const %pagekite-accounts))))
(service-extension rottlog-service-type
(const %pagekite-log-rotation))))
(description (description
"Run @url{https://pagekite.net/,PageKite}, a tunneling solution to make "Run @url{https://pagekite.net/,PageKite}, a tunneling solution to make
local servers publicly accessible on the web, even behind NATs and firewalls."))) local servers publicly accessible on the web, even behind NATs and firewalls.")))
@ -2387,10 +2360,6 @@ (define yggdrasil-command
#:group "yggdrasil")) #:group "yggdrasil"))
(stop #~(make-kill-destructor))))) (stop #~(make-kill-destructor)))))
(define %yggdrasil-log-rotation
(list (log-rotation
(files '("/var/log/yggdrasil.log")))))
(define %yggdrasil-accounts (define %yggdrasil-accounts
(list (user-group (name "yggdrasil") (system? #t)))) (list (user-group (name "yggdrasil") (system? #t))))
@ -2406,9 +2375,7 @@ (define yggdrasil-service-type
(service-extension account-service-type (service-extension account-service-type
(const %yggdrasil-accounts)) (const %yggdrasil-accounts))
(service-extension profile-service-type (service-extension profile-service-type
(compose list yggdrasil-configuration-package)) (compose list yggdrasil-configuration-package))))))
(service-extension rottlog-service-type
(const %yggdrasil-log-rotation))))))
;;; ;;;
@ -2478,10 +2445,6 @@ (define ipfs-daemon-command
#:environment-variables #$%ipfs-environment)) #:environment-variables #$%ipfs-environment))
(stop #~(make-kill-destructor))))) (stop #~(make-kill-destructor)))))
(define %ipfs-log-rotation
(list (log-rotation
(files '("/var/log/ipfs.log")))))
(define (%ipfs-activation config) (define (%ipfs-activation config)
"Return an activation gexp for IPFS with CONFIG" "Return an activation gexp for IPFS with CONFIG"
(define (exec-command . args) (define (exec-command . args)
@ -2537,9 +2500,7 @@ (define ipfs-service-type
(service-extension activation-service-type (service-extension activation-service-type
%ipfs-activation) %ipfs-activation)
(service-extension shepherd-root-service-type (service-extension shepherd-root-service-type
ipfs-shepherd-service) ipfs-shepherd-service)))
(service-extension rottlog-service-type
(const %ipfs-log-rotation))))
(default-value (ipfs-configuration)) (default-value (ipfs-configuration))
(description (description
"Run @command{ipfs daemon}, the reference implementation "Run @command{ipfs daemon}, the reference implementation
@ -2575,16 +2536,10 @@ (define (keepalived-shepherd-service config)
(respawn? #f) (respawn? #f)
(stop #~(make-kill-destructor)))))) (stop #~(make-kill-destructor))))))
(define %keepalived-log-rotation
(list (log-rotation
(files '("/var/log/keepalived.log")))))
(define keepalived-service-type (define keepalived-service-type
(service-type (name 'keepalived) (service-type (name 'keepalived)
(extensions (list (service-extension shepherd-root-service-type (extensions (list (service-extension shepherd-root-service-type
keepalived-shepherd-service) keepalived-shepherd-service)))
(service-extension rottlog-service-type
(const %keepalived-log-rotation))))
(description (description
"Run @uref{https://www.keepalived.org/, Keepalived} "Run @uref{https://www.keepalived.org/, Keepalived}
routing software."))) routing software.")))

View file

@ -1282,11 +1282,6 @@ (define %hpcguix-web-activation
(define %hpcguix-web-log-file (define %hpcguix-web-log-file
"/var/log/hpcguix-web.log") "/var/log/hpcguix-web.log")
(define %hpcguix-web-log-rotations
(list (log-rotation
(files (list %hpcguix-web-log-file))
(frequency 'weekly))))
(define (hpcguix-web-shepherd-service config) (define (hpcguix-web-shepherd-service config)
(let* ((specs (hpcguix-web-configuration-specs config)) (let* ((specs (hpcguix-web-configuration-specs config))
(config-file (and specs (scheme-file "hpcguix-web.scm" specs))) (config-file (and specs (scheme-file "hpcguix-web.scm" specs)))
@ -1324,8 +1319,6 @@ (define hpcguix-web-service-type
(const %hpcguix-web-accounts)) (const %hpcguix-web-accounts))
(service-extension activation-service-type (service-extension activation-service-type
(const %hpcguix-web-activation)) (const %hpcguix-web-activation))
(service-extension rottlog-service-type
(const %hpcguix-web-log-rotations))
(service-extension shepherd-root-service-type (service-extension shepherd-root-service-type
(compose list hpcguix-web-shepherd-service)))) (compose list hpcguix-web-shepherd-service))))
(default-value (hpcguix-web-configuration)))) (default-value (hpcguix-web-configuration))))
@ -2121,12 +2114,6 @@ (define environment
#:log-file #$%mumi-mailer-log)) #:log-file #$%mumi-mailer-log))
(stop #~(make-kill-destructor))))))) (stop #~(make-kill-destructor)))))))
(define %mumi-log-rotations
(list (log-rotation
(files (list %mumi-log
%mumi-mailer-log
%mumi-worker-log)))))
(define mumi-service-type (define mumi-service-type
(service-type (service-type
(name 'mumi) (name 'mumi)
@ -2136,9 +2123,7 @@ (define mumi-service-type
(service-extension account-service-type (service-extension account-service-type
(const %mumi-accounts)) (const %mumi-accounts))
(service-extension shepherd-root-service-type (service-extension shepherd-root-service-type
mumi-shepherd-services) mumi-shepherd-services)))
(service-extension rottlog-service-type
(const %mumi-log-rotations))))
(description (description
"Run Mumi, a Web interface to the Debbugs bug-tracking server.") "Run Mumi, a Web interface to the Debbugs bug-tracking server.")
(default-value (default-value