Subject: Re: [bug#32141] [PATCH] services: Add ddclient service.

From: [email-masked] (Ludovic Courtès)
Date: Thu, 19 Jul 2018 11:40:36 +0200

Hi Oleg,

Oleg Pykhalov <[email-masked]> skribis:

> * gnu/services/dns.scm (ddclient-configuration, opaque-ddclient-configuration,
> ddclient-service-type): New variables.
> (uglify-field-name, serialize-field, serialize-boolean, serialize-integer,
> serialize-string, serialize-list, serialize-extra-options,
> ddclient-activation, ddclient-shepherd-service,
> generate-ddclient-documentation, generate-opaque-ddclient-documentation): New
> procedures.
> * doc/guix.texi (DNS Services): Document it.

[...]

> +@subsubheading ddclient Service
> +
> +@cindex ddclient
> +@uref{https://sourceforge.net/projects/ddclient/, ddclient} is an address
> +updating utility for dynamic DNS services.

It would be nice to expound a bit, like:

  The ddclient service described below runs the ddclient daemon, which
  takes care of automatically updating DNS entries for service providers
  such as DynDNS.com.

Also, is there a better home page?

Otherwise LGTM!

> +    (list (shepherd-service
> +           (provision '(ddclient))
> +           (documentation "Run ddclient daemon.")
> +           (start #~(make-forkexec-constructor
> +                     (list #$(file-append ddclient "/bin/ddclient")
> +                           "-foreground" "-file" "/etc/ddclient/ddclient.conf"
> +                           "-debug" "-verbose")
> +                     #:pid-file #$pid
> +                     #:environment-variables
> +                     (list "SSL_CERT_DIR=/run/current-system/profile\
> +/etc/ssl/certs"
> +                           "SSL_CERT_FILE=/run/current-system/profile\
> +/etc/ssl/certs/ca-certificates.crt")))
> +           (stop #~(make-kill-destructor))))))

Does it run as root?  If there’s no option to run it (mostly) as
non-root, perhaps it would make sense to try using
‘make-forkexec-constructor/container’ here (as a separate patch.)

WDYT?

Thank you,
Ludo’.