mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 05:18:07 -05:00
services: ntpd: Add 'allow-large-adjustment?' knob.
Suggested by Leo Famulari. * gnu/services/networking.scm (<ntp-configuration>)[allow-large-adjustment?]: New field. (ntp-shepherd-service): Honor it. (ntp-service): Add #:allow-large-adjustment? and honor it. * doc/guix.texi (Networking Services): Document it.
This commit is contained in:
parent
6d3dda4ff5
commit
dc0322b511
2 changed files with 21 additions and 7 deletions
|
@ -8284,10 +8284,13 @@ configure networking."
|
|||
@end deffn
|
||||
|
||||
@deffn {Scheme Procedure} ntp-service [#:ntp @var{ntp}] @
|
||||
[#:servers @var{%ntp-servers}]
|
||||
[#:servers @var{%ntp-servers}] @
|
||||
[#:allow-large-adjustment? #f]
|
||||
Return a service that runs the daemon from @var{ntp}, the
|
||||
@uref{http://www.ntp.org, Network Time Protocol package}. The daemon will
|
||||
keep the system clock synchronized with that of @var{servers}.
|
||||
@var{allow-large-adjustment?} determines whether @command{ntpd} is allowed to
|
||||
make an initial adjustment of more than 1,000 seconds.
|
||||
@end deffn
|
||||
|
||||
@defvr {Scheme Variable} %ntp-servers
|
||||
|
|
|
@ -265,11 +265,13 @@ (define-record-type* <ntp-configuration>
|
|||
ntp-configuration?
|
||||
(ntp ntp-configuration-ntp
|
||||
(default ntp))
|
||||
(servers ntp-configuration-servers))
|
||||
(servers ntp-configuration-servers)
|
||||
(allow-large-adjustment? ntp-allow-large-adjustment?
|
||||
(default #f)))
|
||||
|
||||
(define ntp-shepherd-service
|
||||
(match-lambda
|
||||
(($ <ntp-configuration> ntp servers)
|
||||
(($ <ntp-configuration> ntp servers allow-large-adjustment?)
|
||||
(let ()
|
||||
;; TODO: Add authentication support.
|
||||
(define config
|
||||
|
@ -296,7 +298,10 @@ (define ntpd.conf
|
|||
(requirement '(user-processes networking))
|
||||
(start #~(make-forkexec-constructor
|
||||
(list (string-append #$ntp "/bin/ntpd") "-n"
|
||||
"-c" #$ntpd.conf "-u" "ntpd")))
|
||||
"-c" #$ntpd.conf "-u" "ntpd"
|
||||
#$@(if allow-large-adjustment?
|
||||
'("-g")
|
||||
'()))))
|
||||
(stop #~(make-kill-destructor))))))))
|
||||
|
||||
(define %ntp-accounts
|
||||
|
@ -331,12 +336,18 @@ (define ntp-service-type
|
|||
ntp-service-activation)))))
|
||||
|
||||
(define* (ntp-service #:key (ntp ntp)
|
||||
(servers %ntp-servers))
|
||||
(servers %ntp-servers)
|
||||
allow-large-adjustment?)
|
||||
"Return a service that runs the daemon from @var{ntp}, the
|
||||
@uref{http://www.ntp.org, Network Time Protocol package}. The daemon will
|
||||
keep the system clock synchronized with that of @var{servers}."
|
||||
keep the system clock synchronized with that of @var{servers}.
|
||||
@var{allow-large-adjustment?} determines whether @command{ntpd} is allowed to
|
||||
make an initial adjustment of more than 1,000 seconds."
|
||||
(service ntp-service-type
|
||||
(ntp-configuration (ntp ntp) (servers servers))))
|
||||
(ntp-configuration (ntp ntp)
|
||||
(servers servers)
|
||||
(allow-large-adjustment?
|
||||
allow-large-adjustment?))))
|
||||
|
||||
|
||||
;;;
|
||||
|
|
Loading…
Reference in a new issue