[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

Debbugs page

Simon Tournier wrote 1 years ago
(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
Simon Tournier wrote 1 years ago
[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
Bruno Victal wrote 1 years ago
(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.
Ludovic Courtès wrote 1 years ago
(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’.
Simon Tournier wrote 1 years ago
(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
?
Your comment

This issue is archived.

To comment on this conversation send an email to 66609@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 66609
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help