[PATCH 0/1] services: admin: Export rottlog-configuration accessors.

  • Done
  • quality assurance status badge
Details
3 participants
  • Ludovic Courtès
  • Bruno Victal
  • Simon Tournier
Owner
unassigned
Submitted by
Simon Tournier
Severity
normal
S
S
Simon Tournier wrote on 18 Oct 2023 17:08
(address . guix-patches@gnu.org)(name . Simon Tournier)(address . zimon.toutoune@gmail.com)
cover.1697641168.git.zimon.toutoune@gmail.com
Hi,

In some cases, people have a template configuration, and then another
configuration with some specific ’log-rotation’ files. Then, they want to
custom-merge these configurations. Therefore, they need to access field
values of <rottlog-configuration>.

For one trivial example: replace ’log-rotation’ of syslog defined with
%rotated-files by some others – do not ask why. :-)

Toggle snippet (34 lines)
(use-modules (gnu services base)
(gnu services admin)
(srfi srfi-1))

(define config-template (rottlog-configuration))

(define some-logs
(list (log-rotation
(files '("/var/log/foo"
"/var/log/bar"
"/var/log/baz"))
(frequency 'weekly)
(options `("rotate 16"
"sharedscripts"
,@%default-log-rotation-options)))
(log-rotation
(files '("/var/log/some-evil.log"))
(options `("rotate 4"
,@%default-log-rotation-options)))))

(define other-config (rottlog-configuration
(rotations some-logs)))

(define my-config
(rottlog-configuration
(inherit config-template)
(rotations (filter
(lambda (log)
(not (lset= eq? (log-rotation-files log) %rotated-files)))
(append-map rottlog-configuration-rotations
(list other-config
config-template))))))

Without this patch, it needs to rely on ’@@’ which is not nice.

Toggle snippet (4 lines)
(define rottlog-configuration-rotations
(@@ (gnu services admin) rottlog-rotations))

Therefore, let export them! To stay consistent with the schema for naming,
the accessors are renamed rottlog-configuration-

Cheers,
simon



Simon Tournier (1):
services: admin: Export rottlog-configuration accessors.

gnu/services/admin.scm | 25 +++++++++++++++----------
1 file changed, 15 insertions(+), 10 deletions(-)


base-commit: 202c97c4ce2e948266b8b6ee4d80631adbfba92b
--
2.38.1
S
S
Simon Tournier wrote on 18 Oct 2023 17:10
[PATCH 1/1] services: admin: Export rottlog-configuration accessors.
(address . 66609@debbugs.gnu.org)(name . Simon Tournier)(address . zimon.toutoune@gmail.com)
68b1665bd37417da822cd5ca1156f03225aa0e2c.1697641168.git.zimon.toutoune@gmail.com
* gnu/services/admin.scm (<rottlog-configuration>): Rename accessors
rottlog-rottlog to rottlog-configuration-rottlog, rottlog-rc-file to
rottlog-configuration-rc-file, rottlog-rotations to
rottlog-configuration-rotations, rottlog-jobs to rottlog-configuration-jobs.
(rottlog-etc, rottlog-jobs-or-default, rottlog-service-type): Adjust
accordingly.
---
gnu/services/admin.scm | 25 +++++++++++++++----------
1 file changed, 15 insertions(+), 10 deletions(-)

Toggle diff (74 lines)
diff --git a/gnu/services/admin.scm b/gnu/services/admin.scm
index 5cf74c6e4d..ce27f7f7d3 100644
--- a/gnu/services/admin.scm
+++ b/gnu/services/admin.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2016-2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
+;;; Copyright © 2023 Simon Tournier <zimon.toutoune@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -52,6 +53,10 @@ (define-module (gnu services admin)
rottlog-configuration
rottlog-configuration?
+ rottlog-configuration-rottlog
+ rottlog-configuration-rc-file
+ rottlog-configuration-rotations
+ rottlog-configuration-jobs
rottlog-service
rottlog-service-type
@@ -193,25 +198,25 @@ (define (default-jobs rottlog)
(define-record-type* <rottlog-configuration>
rottlog-configuration make-rottlog-configuration
rottlog-configuration?
- (rottlog rottlog-rottlog ;file-like
+ (rottlog rottlog-configuration-rottlog ;file-like
(default rottlog))
- (rc-file rottlog-rc-file ;file-like
+ (rc-file rottlog-configuration-rc-file ;file-like
(default (file-append rottlog "/etc/rc")))
- (rotations rottlog-rotations ;list of <log-rotation>
+ (rotations rottlog-configuration-rotations ;list of <log-rotation>
(default %default-rotations))
- (jobs rottlog-jobs ;list of <mcron-job>
+ (jobs rottlog-configuration-jobs ;list of <mcron-job>
(default #f)))
(define (rottlog-etc config)
`(("rottlog"
,(file-union "rottlog"
- (cons `("rc" ,(rottlog-rc-file config))
+ (cons `("rc" ,(rottlog-configuration-rc-file config))
(log-rotations->/etc-entries
- (rottlog-rotations config)))))))
+ (rottlog-configuration-rotations config)))))))
(define (rottlog-jobs-or-default config)
- (or (rottlog-jobs config)
- (default-jobs (rottlog-rottlog config))))
+ (or (rottlog-configuration-jobs config)
+ (default-jobs (rottlog-configuration-rottlog config))))
(define rottlog-service-type
(service-type
@@ -226,12 +231,12 @@ (define rottlog-service-type
;; Add Rottlog to the global profile so users can access
;; the documentation.
(service-extension profile-service-type
- (compose list rottlog-rottlog))))
+ (compose list rottlog-configuration-rottlog))))
(compose concatenate)
(extend (lambda (config rotations)
(rottlog-configuration
(inherit config)
- (rotations (append (rottlog-rotations config)
+ (rotations (append (rottlog-configuration-rotations config)
rotations)))))
(default-value (rottlog-configuration))))
--
2.38.1
B
B
Bruno Victal wrote on 18 Oct 2023 17:44
(name . Simon Tournier)(address . zimon.toutoune@gmail.com)(address . 66609@debbugs.gnu.org)
405466f7-f78d-437c-ac9f-bea54e22e91c@makinata.eu
Hi Simon,

On 2023-10-18 16:10, Simon Tournier wrote:
Toggle quote (7 lines)
> * gnu/services/admin.scm (<rottlog-configuration>): Rename accessors
> rottlog-rottlog to rottlog-configuration-rottlog, rottlog-rc-file to
> rottlog-configuration-rc-file, rottlog-rotations to
> rottlog-configuration-rotations, rottlog-jobs to rottlog-configuration-jobs.
> (rottlog-etc, rottlog-jobs-or-default, rottlog-service-type): Adjust
> accordingly.

[…]

Toggle quote (2 lines)
> +;;; Copyright © 2023 Simon Tournier <zimon.toutoune@gmail.com>

The changes don't look original enough to warrant this IMO, other
than that it LGTM.

--
Furthermore, I consider that nonfree software must be eradicated.

Cheers,
Bruno.
L
L
Ludovic Courtès wrote on 21 Oct 2023 00:21
(name . Simon Tournier)(address . zimon.toutoune@gmail.com)(address . 66609@debbugs.gnu.org)
87ttqlrl30.fsf@gnu.org
Hi!

Simon Tournier <zimon.toutoune@gmail.com> skribis:

Toggle quote (7 lines)
> * gnu/services/admin.scm (<rottlog-configuration>): Rename accessors
> rottlog-rottlog to rottlog-configuration-rottlog, rottlog-rc-file to
> rottlog-configuration-rc-file, rottlog-rotations to
> rottlog-configuration-rotations, rottlog-jobs to rottlog-configuration-jobs.
> (rottlog-etc, rottlog-jobs-or-default, rottlog-service-type): Adjust
> accordingly.

LGTM!

Ludo’.
S
S
Simon Tournier wrote on 24 Oct 2023 18:56
(address . 66609-done@debbugs.gnu.org)
87edhkhscy.fsf@gmail.com
Hi,

On Wed, 18 Oct 2023 at 16:44, Bruno Victal <mirai@makinata.eu> wrote:

Toggle quote (3 lines)
> The changes don't look original enough to warrant this IMO, other
> than that it LGTM.

Thanks Bruno and Ludo. Pushed as 7e4324575c. Closing.

Cheers,
simon
Closed
?