* [bug#29438] [PATCH 2/2] services: configuration: Show default values of list types.
@ 2017-11-25 15:05 Clément Lassieur
2017-11-26 16:31 ` Ludovic Courtès
0 siblings, 1 reply; 4+ messages in thread
From: Clément Lassieur @ 2017-11-25 15:05 UTC (permalink / raw)
To: 29438
* doc/guix.texi (Messaging Services): Regenerate it.
* gnu/services/configuration.scm (show-default?): Fix recursion.
* gnu/services/messaging.scm (show-default?): Fix recursion.
(prosody-configuration)[modules-enabled]: Remove default value from docstring.
---
doc/guix.texi | 7 +++++--
gnu/services/configuration.scm | 3 ++-
gnu/services/messaging.scm | 6 +++---
3 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index a008b1c0a..bd3e1b0f2 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -13927,8 +13927,9 @@ Defaults to @samp{#f}.
@deftypevr {@code{prosody-configuration} parameter} module-list modules-enabled
This is the list of modules Prosody will load on startup. It looks for
@code{mod_modulename.lua} in the plugins folder, so make sure that exists too.
-Documentation on modules can be found at: @url{http://prosody.im/doc/modules}.
-Defaults to @samp{%default-modules-enabled}.
+Documentation on modules can be found at:
+@url{http://prosody.im/doc/modules}.
+Defaults to @samp{("roster" "saslauth" "tls" "dialback" "disco" "carbons" "private" "blocklist" "vcard" "version" "uptime" "time" "ping" "pep" "register" "admin_adhoc")}.
@end deftypevr
@deftypevr {@code{prosody-configuration} parameter} string-list modules-disabled
@@ -14032,6 +14033,7 @@ Defaults to @samp{#f}.
@deftypevr {@code{prosody-configuration} parameter} string-list disable-sasl-mechanisms
Set of mechanisms that will never be offered. See
@url{https://prosody.im/doc/modules/mod_saslauth}.
+Defaults to @samp{("DIGEST-MD5")}.
@end deftypevr
@deftypevr {@code{prosody-configuration} parameter} boolean s2s-require-encryption?
@@ -14199,6 +14201,7 @@ Hostname of the component.
@deftypevr {@code{prosody-configuration} parameter} non-negative-integer-list component-ports
Port(s) Prosody listens on for component connections.
+Defaults to @samp{(5347)}.
@end deftypevr
@deftypevr {@code{prosody-configuration} parameter} string component-interface
diff --git a/gnu/services/configuration.scm b/gnu/services/configuration.scm
index 0a2219e74..c45340f02 100644
--- a/gnu/services/configuration.scm
+++ b/gnu/services/configuration.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -165,7 +166,7 @@
(configuration-field-default-value-thunk f)
(lambda _ '%invalid))))
(define (show-default? val)
- (or (string? default) (number? default) (boolean? default)
+ (or (string? val) (number? val) (boolean? val)
(and (symbol? val) (not (eq? val '%invalid)))
(and (list? val) (and-map show-default? val))))
`(deftypevr (% (category
diff --git a/gnu/services/messaging.scm b/gnu/services/messaging.scm
index c75c71585..d57a7562a 100644
--- a/gnu/services/messaging.scm
+++ b/gnu/services/messaging.scm
@@ -354,8 +354,8 @@ Example: @code{(admins '(\"user1@@example.com\" \"user2@@example.net\"))}"
(module-list %default-modules-enabled)
"This is the list of modules Prosody will load on startup. It looks for
@code{mod_modulename.lua} in the plugins folder, so make sure that exists too.
-Documentation on modules can be found at: @url{http://prosody.im/doc/modules}.
-Defaults to @samp{%default-modules-enabled}."
+Documentation on modules can be found at:
+@url{http://prosody.im/doc/modules}."
common)
(modules-disabled
@@ -722,7 +722,7 @@ See also @url{http://prosody.im/doc/modules/mod_muc}."
(display c))
str))))
(define (show-default? val)
- (or (string? default) (number? default) (boolean? default)
+ (or (string? val) (number? val) (boolean? val)
(and (list? val) (and-map show-default? val))))
(format #t "@deftypevr {@code{~a} parameter} ~a ~a\n~a\n"
configuration-name field-type field-name field-docs)
--
2.15.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [bug#29438] [PATCH 2/2] services: configuration: Show default values of list types.
2017-11-25 15:05 [bug#29438] [PATCH 2/2] services: configuration: Show default values of list types Clément Lassieur
@ 2017-11-26 16:31 ` Ludovic Courtès
2017-12-10 13:26 ` Clément Lassieur
0 siblings, 1 reply; 4+ messages in thread
From: Ludovic Courtès @ 2017-11-26 16:31 UTC (permalink / raw)
To: Clément Lassieur; +Cc: 29438
Clément Lassieur <clement@lassieur.org> skribis:
> * doc/guix.texi (Messaging Services): Regenerate it.
> * gnu/services/configuration.scm (show-default?): Fix recursion.
> * gnu/services/messaging.scm (show-default?): Fix recursion.
Rather “Check VAL rather than DEFAULT.”
> (prosody-configuration)[modules-enabled]: Remove default value from docstring.
LGTM, though I’m afraid we’ll have a hard time keep guix.texi in sync,
at least until we have an automated mechanism to regenerate those bits.
Also, I was thinking that ‘guix system search’ could display
field/default-value pairs. I’m not 100% sure it’s a good idea because
that could be very verbose.
Thoughts?
Ludo’.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [bug#29438] [PATCH 2/2] services: configuration: Show default values of list types.
2017-11-26 16:31 ` Ludovic Courtès
@ 2017-12-10 13:26 ` Clément Lassieur
2017-12-10 14:29 ` [bug#29438] Generating service documentation Ludovic Courtès
0 siblings, 1 reply; 4+ messages in thread
From: Clément Lassieur @ 2017-12-10 13:26 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: 29438
Ludovic Courtès <ludo@gnu.org> writes:
> Clément Lassieur <clement@lassieur.org> skribis:
>
>> * doc/guix.texi (Messaging Services): Regenerate it.
>> * gnu/services/configuration.scm (show-default?): Fix recursion.
>> * gnu/services/messaging.scm (show-default?): Fix recursion.
>
> Rather “Check VAL rather than DEFAULT.”
>
>> (prosody-configuration)[modules-enabled]: Remove default value from docstring.
>
> LGTM, though I’m afraid we’ll have a hard time keep guix.texi in sync,
> at least until we have an automated mechanism to regenerate those bits.
Thank you for reviewing!
It's a bit sad that most services' docstrings are not in sync with the
.texi file, it would be great to have an automated mechanism to update
the documentation. I use a hackish Emacs snippet to maintain Prosody
documentation, but something like "make generate-documentation
<service>" would be much better. I'll think about it.
--8<---------------cut here---------------start------------->8---
@c The following documentation was initially generated by
@c (generate-documentation) in (gnu services messaging). Manually maintained
@c documentation is better, so we shouldn't hesitate to edit below as
@c needed. However if the change you want to make to this documentation
@c can be done in an automated way, it's probably easier to change
@c (generate-documentation) than to make it below and have to deal with
@c the churn as Prosody updates.
--8<---------------cut here---------------end--------------->8---
I don't really agree with this comment that can be found in several
places in our documentation. I believe that when there is a
(generate-documentation) procedure, manual edits shouldn't be
encouraged. But it's probably not worth updating it while there is no
easy way to automatically generate the documentation.
> Also, I was thinking that ‘guix system search’ could display
> field/default-value pairs. I’m not 100% sure it’s a good idea because
> that could be very verbose.
>
> Thoughts?
It would be verbose indeed, and if people want to have details about
fields and default values, they can search the manual.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [bug#29438] Generating service documentation
2017-12-10 13:26 ` Clément Lassieur
@ 2017-12-10 14:29 ` Ludovic Courtès
0 siblings, 0 replies; 4+ messages in thread
From: Ludovic Courtès @ 2017-12-10 14:29 UTC (permalink / raw)
To: Clément Lassieur; +Cc: 29438
Hi Clément,
Clément Lassieur <clement@lassieur.org> skribis:
> It's a bit sad that most services' docstrings are not in sync with the
> .texi file, it would be great to have an automated mechanism to update
> the documentation. I use a hackish Emacs snippet to maintain Prosody
> documentation, but something like "make generate-documentation
> <service>" would be much better. I'll think about it.
>
> @c The following documentation was initially generated by
> @c (generate-documentation) in (gnu services messaging). Manually maintained
> @c documentation is better, so we shouldn't hesitate to edit below as
> @c needed. However if the change you want to make to this documentation
> @c can be done in an automated way, it's probably easier to change
> @c (generate-documentation) than to make it below and have to deal with
> @c the churn as Prosody updates.
>
> I don't really agree with this comment that can be found in several
> places in our documentation. I believe that when there is a
> (generate-documentation) procedure, manual edits shouldn't be
> encouraged. But it's probably not worth updating it while there is no
> easy way to automatically generate the documentation.
It’s complicated. Automatically-generated documentation can be useful
as a reference, but it doesn’t really help you get started. It’s
typically a very unfriendly, Javadoc-style, dump of functions/fields.
It think that’s what this comment is about: generated doc is a start,
but it’s not doing much of a service to our users.
Now, if the choice is between terse-and-outdated doc and
terse-but-automatically-updated doc, the latter is preferable. It’s
just not ideal IMO.
>> Also, I was thinking that ‘guix system search’ could display
>> field/default-value pairs. I’m not 100% sure it’s a good idea because
>> that could be very verbose.
>>
>> Thoughts?
>
> It would be verbose indeed, and if people want to have details about
> fields and default values, they can search the manual.
Yeah. I was thinking that it might be helpful, let’s say if you’re
using openssh-service-type and you don’t remember the exact name of an
option having to do with authentication. Dunno.
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2017-12-10 14:30 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-11-25 15:05 [bug#29438] [PATCH 2/2] services: configuration: Show default values of list types Clément Lassieur
2017-11-26 16:31 ` Ludovic Courtès
2017-12-10 13:26 ` Clément Lassieur
2017-12-10 14:29 ` [bug#29438] Generating service documentation Ludovic Courtès
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.