On 2023-03-04 09:40, Sergey Trofimov wrote: Hi Sergey! Thank you for the patch, please add information to the commit message body. Here is an example: https://git.savannah.gnu.org/cgit/guix.git/commit/?id=8390b47c04 > --- > doc/guix.texi | 3 +++ > gnu/services/dns.scm | 9 +++++++-- > 2 files changed, 10 insertions(+), 2 deletions(-) > > diff --git a/doc/guix.texi b/doc/guix.texi > index 74658dbc86..ca66041d12 100644 > --- a/doc/guix.texi > +++ b/doc/guix.texi > @@ -31502,6 +31502,9 @@ in @var{servers}. > @item @code{servers} (default: @code{'()}) > Specify IP address of upstream servers directly. > > +@item @code{servers-file} (default: @code{#f}) > +Specify file containing upstream servers. This file is re-read when dnsmasq receives SIGHUP. > + > @item @code{addresses} (default: @code{'()}) > For each entry, specify an IP address to return for any host in the > given domains. Queries in the domains are never forwarded and always > diff --git a/gnu/services/dns.scm b/gnu/services/dns.scm > index 50753b7ab6..3a6a005fb7 100644 > --- a/gnu/services/dns.scm > +++ b/gnu/services/dns.scm > @@ -754,6 +754,8 @@ (define-record-type* > (default #f)) ;boolean > (servers dnsmasq-configuration-servers > (default '())) ;list of string > + (servers-file dnsmasq-configuration-servers-file > + (default #f)) ;string I would expect it to be a file-like rather than string, so we are sure that the configuration file is present. WDYT? > (addresses dnsmasq-configuration-addresses > (default '())) ;list of string > (cache-size dnsmasq-configuration-cache-size > @@ -792,7 +794,7 @@ (define (dnsmasq-shepherd-service config) > port local-service? listen-addresses > resolv-file no-resolv? > forward-private-reverse-lookup? query-servers-in-order? > - servers addresses > + servers addresses servers-file > cache-size negative-cache? > cpe-id > tftp-enable? tftp-no-fail? > @@ -827,6 +829,9 @@ (define (dnsmasq-shepherd-service config) > #$@(if query-servers-in-order? > '("--strict-order") > '()) > + #$@(if servers-file > + (list (format #f "--servers-file=~a" servers-file)) > + '()) > #$@(map (cut format #f "--server=~a" <>) > servers) > #$@(map (cut format #f "--address=~a" <>) > @@ -848,7 +853,7 @@ (define (dnsmasq-shepherd-service config) > '("--tftp-single-port") > '()) > #$@(if tftp-secure? > - '("--tftp-secure?") > + '("--tftp-secure") > '()) > #$@(if tftp-max > (list (format #f "--tftp-max=~a" tftp-max)) -- Best regards, Andrew Tropin