GNU bug report logs -
#73518
[PATCH] services: configuration: Document multiple configurations per field.
Previous Next
Reported by: Herman Rimm <herman <at> rimm.ee>
Date: Fri, 27 Sep 2024 18:41:02 UTC
Severity: normal
Tags: patch
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#73518: [PATCH] services: configuration: Document multiple configurations per field.
which was filed against the guix-patches package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 73518 <at> debbugs.gnu.org.
--
73518: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=73518
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
Herman Rimm <herman <at> rimm.ee> skribis:
> * gnu/serives/configuration.scm (generate-documentation): Filter for all
> configurations associated with each field-name.
> * doc/guix.texi (Complex Configurations): Describe use case for multiple
> field-names.
>
> Change-Id: I6d1e7b8858231aa05fda884b31a9bd0a48f07293
Applied, thanks!
[Message part 3 (message/rfc822, inline)]
* gnu/serives/configuration.scm (generate-documentation): Filter for all
configurations associated with each field-name.
* doc/guix.texi (Complex Configurations): Describe use case for multiple
field-names.
Change-Id: I6d1e7b8858231aa05fda884b31a9bd0a48f07293
---
doc/guix.texi | 4 +++-
gnu/services/configuration.scm | 9 +++++++--
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index 52e36e4354..877221239b 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -44685,7 +44685,9 @@ Complex Configurations
@var{sub-documentation} is a @code{(@var{field-name}
@var{configuration-name})} tuple. @var{field-name} is the name of the
field which takes another configuration record as its value, and
-@var{configuration-name} is the name of that configuration record.
+@var{configuration-name} is the name of that configuration record. The
+same value may be used for multiple @var{field-name}s, in case a field
+accepts different types of configurations.
@var{sub-documentation} is only needed if there are nested configuration
records. For example, the @code{getmail-configuration} record
diff --git a/gnu/services/configuration.scm b/gnu/services/configuration.scm
index d2b1687496..e76ad5e8cb 100644
--- a/gnu/services/configuration.scm
+++ b/gnu/services/configuration.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2021 Andrew Tropin <andrew <at> trop.in>
;;; Copyright © 2022 Maxime Devos <maximedevos <at> telenet.be>
;;; Copyright © 2023 Bruno Victal <mirai <at> makinata.eu>
+;;; Copyright © 2024 Herman Rimm <herman <at> rimm.ee>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -460,8 +461,12 @@ (define (generate-documentation documentation documentation-name)
(para ,@field-docs)
,@(append-map
generate
- (or (assq-ref sub-documentation field-name)
- '())))))
+ (filter-map
+ (match-lambda
+ ((name config)
+ (and (eq? name field-name)
+ config)))
+ sub-documentation)))))
fields)))))))
(stexi->texi `(*fragment* . ,(generate documentation-name))))
base-commit: 9a141b5bd633227ea31776b9ce7ca40928de2442
--
2.45.2
This bug report was last modified 219 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.