.Dd May 25 2024
.Dt UPDATE_LEAP 1update-leapmdoc User Commands
.Os
.\"  EDIT THIS FILE WITH CAUTION  (update-leap-opts.mdoc)
.\"
.\"  It has been AutoGen-ed  May 25, 2024 at 12:05:51 AM by AutoGen 5.18.16
.\"  From the definitions    update-leap-opts.def
.\"  and the template file   agmdoc-cmd.tpl
.Sh NAME
.Nm update-leap
.Nd leap-seconds file manager/updater
.Sh SYNOPSIS
.Nm
.\" Mixture of short (flag) options and long options
.Op Fl flags
.Op Fl flag Op Ar value
.Op Fl \-option\-name Ns Oo Oo Ns "=| " Oc Ns Ar value Oc
.Pp
All arguments must be options.
.Pp
.Sh DESCRIPTION
.Nm
will validate the file currently on the local system
and if necessary, updates leap\-second definition file.
.Pp
Ordinarily, the file is found using the "leapfile" directive in
.Xr ntp.conf 5 .
However, an alternate location can be specified on the command line.
.Pp
If the file does not exist, is not valid, has expired, or is expiring soon,
a new copy will be downloaded.  If the new copy validates, it is installed and
NTP is (optionally) restarted.
.Pp
If the current file is acceptable, no download or restart occurs.
.Pp
-c can also be used to invoke another script to perform administrative
functions, e.g. to copy the file to other local systems.
.PP
This can be run as a cron job.  As the file is rarely updated, and leap
seconds are announced at least one month in advance (usually longer), it
need not be run more frequently than about once every three weeks.
.PP
For cron\-friendly behavior, define CRONJOB=1 in the crontab.
.PP
This script depends on$REQUIREDCMDS
.Sh "OPTIONS"
.Bl -tag
.It  Fl s Ar string , Fl \-source\-url Ns = Ns Ar string 
The URL of the master copy of the leapseconds file.
.sp
Specify the URL of the master copy to download
$LEAPSRC
.It  Fl 4 , Fl \-ipv4 
Use only IPv4 addresses for DNS name resolution.
This option must not appear in combination with any of the following options:
ipv6.
.sp
        Force DNS resolution of following host names on the command line
        to the IPv4 namespace.
        _EndOfDoc_;
};
.sp
flag = {
    name      = ipv6;
    flags\-cant = ipv4, prefer;
    value     = 6;
    descrip   = "Use only IPv6 addresses for DNS name resolution";
    doc = <<\-  _EndOfDoc_
        Force DNS resolution of following host names on the command line
        to the IPv6 namespace.
        _EndOfDoc_;
};
.sp
flag = {
    name        = prefer;
    flags\-cant	= ipv4, ipv6;
    value	= p;
    arg\-type    = keyword;
    keyword	= 4, 6;
    descrip     = 'Prefer IPv4 or IPv6 (as specified) addresses, but use either';
    doc         = <<\-  _EndOfDoc_
Prefer IPv4 or IPv6 (as specified) addresses, but use either.
.It  Fl d Ar float , Fl \-destination Ns = Ns Ar float 
Filename on the local system.
.sp
The name to use to store the leapfile on the local system.
$LEAPFILE
.It  Fl e Ar string , Fl \-expiration Ns = Ns Ar string 
Refresh the leapfile this long before it expires.
.sp
Specify how long before expiration the file is to be refreshed
Units are required, e.g. "\-e 60 days"  Note that larger values
imply more frequent refreshes.
"$PREFETCH"
.It  Fl f Ar string , Fl \-ntp\-conf\-file Ns = Ns Ar string 
Location of the ntp.conf file.
.sp
Specify location of ntp.conf (used to make sure leapfile directive is
present and to default  leapfile)
/etc/ntp.conf
.It  Fl F , Fl \-force\-update 
Force update of the leapfile.
.sp
Force update even if current file is OK and not close to expiring.
.It  Fl \-dont\-wait 
Don't wait for keystroke between plots.
.sp
.It Fl \&? , Fl \-help
Display usage information and exit.
.It Fl \&! , Fl \-more\-help
Pass the extended usage information through a pager.
.It Fl v Op Brq Ar v|c|n  Fl \-version Op Brq Ar v|c|n
Output version of program and exit.  The default mode is `v', a simple
version.  The `c' mode will print copyright information and `n' will
print the full copyright notice.
.El
.Sh USAGE
Usage stuff
.Sh "EXIT STATUS"
One of the following exit values will be returned:
.Bl -tag
.It 0 " (EXIT_SUCCESS)"
Successful program execution.
.It 1 " (EXIT_FAILURE)"
The operation failed or the command syntax was not valid.
.It 70 " (EX_SOFTWARE)"
libopts had an internal operational error.  Please report
it to autogen\-users@lists.sourceforge.net.  Thank you.
.El
.Sh AUTHORS
.An "Timothe Litt"
.Sh "NOTES"
This manual page was \fIAutoGen\fP\-erated from the \fBupdate\-leap\fP
option definitions.
