summaryrefslogtreecommitdiffstats
path: root/usr.sbin/tzsetup
diff options
context:
space:
mode:
authorwollman <wollman@FreeBSD.org>1999-02-02 20:26:31 +0000
committerwollman <wollman@FreeBSD.org>1999-02-02 20:26:31 +0000
commit34b4257ca13d1b8ae119ce234d7466a9c7f640bb (patch)
treea955bb3d689f640a109d38ad76aaf74e68cb9ced /usr.sbin/tzsetup
parent5969e9da8d91c36f08ea29c0aa788d38fb113b87 (diff)
downloadFreeBSD-src-34b4257ca13d1b8ae119ce234d7466a9c7f640bb.zip
FreeBSD-src-34b4257ca13d1b8ae119ce234d7466a9c7f640bb.tar.gz
Add a `default' feature to tzsetup for use in script-driven installation
(if someone writes the other half). Also rewrite the man page in a more appropriate (formal) style.
Diffstat (limited to 'usr.sbin/tzsetup')
-rw-r--r--usr.sbin/tzsetup/tzsetup.889
-rw-r--r--usr.sbin/tzsetup/tzsetup.c17
2 files changed, 86 insertions, 20 deletions
diff --git a/usr.sbin/tzsetup/tzsetup.8 b/usr.sbin/tzsetup/tzsetup.8
index 8841959..30f5179 100644
--- a/usr.sbin/tzsetup/tzsetup.8
+++ b/usr.sbin/tzsetup/tzsetup.8
@@ -22,47 +22,94 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" $Id: tzsetup.8,v 1.7 1997/06/23 04:52:11 steve Exp $
-
+.\" $Id: tzsetup.8,v 1.8 1997/10/27 07:49:45 charnier Exp $
.Dd January 24, 1996
.Dt TZSETUP 8
.Os FreeBSD
-
.Sh NAME
.Nm tzsetup
.Nd set local timezone
-
.Sh SYNOPSIS
.Nm tzsetup
.Op Fl n
-
+.Op Ar default
.Sh DESCRIPTION
-.Nm Tzsetup
-is a menu based program to set your local time zone. Pick the continent
-and a city (e.g. your capital) that best describes your location and
+The
.Nm
-do all the work for you.
+program reads a database of timezone information and presents a menu
+allowing the user to select a specific zone without knowing the details
+of the database layout. The selected zone is installed as the system
+default zone.
+.Nm
+also determines whether any adjustment is necessary for systems where
+the hardware clock does not keep
+.Tn UTC .
.Pp
The following option is available:
-.Bl -tag -width indent
+.Bl -tag -offset indent -width Fl
.It Fl n
-Do not really do anything.
+Do not create or copy files.
.El
-
+.Pp
+It is possible to short-circuit the menu system by specifying a
+.Ar default
+on the command line; this is intended mainly for pre-configured
+installation scripts.
+.Sh TIMEZONE DATABASE
+The contents of the timezone database are indexed by
+.Pa /usr/share/zoneinfo/zone.tab .
+This file lists, for each timezone data file, the
+.Tn ISO
+3166 territory code, approximate geographical coordinates
+.Pq in Tn ISO No 6709 format ,
+and location within the territory.
+.Pp
+The maintainers of the database maintain the following policies:
+.Bl -enum -offset indent
+.It
+At least one zone for every country or inhabited geographical territory.
+.It
+One zone for every distinct, documented timezone history since the
+beginning of the
+.Ux
+epoch (January 1, 1970,
+.Tn GMT ) .
+.It
+Each zone is named for the most populous city therein. (Where possible,
+the database includes pre-1970 history for its city.)
+.El
+The source code to the database
+.Pq Pa /usr/src/share/zoneinfo/[a-z]*
+contains many additional comments and documentation references for the
+historically minded.
.Sh BUGS
-You need to reboot the machine for changes to take effect.
-
+Programs which are already running when
+.Nm
+creates or updates
+.Pa /etc/localtime
+will not reflect the updated timezone.
+When the system is first configured for a
+.Pf non- Tn UTC
+hardware clock, it is necessary to run
+.Xr adjkerntz 8
+(which normally happens as a part of system startup) in order to update
+the kernel's idea of the correct timezone offset.
.Sh FILES
-.Bl -tag -width /etc/wall_cmos_clock -compact
+.Bl -tag -width /usr/share/zoneinfo/zone.tab -compact
.It Pa /etc/localtime
current time zone file
-.It Pa /usr/share/zoneinfo
-directory for zoneinfo files
.It Pa /etc/wall_cmos_clock
see
.Xr adjkerntz 8 .
+.It Pa /usr/share/misc/iso3166
+mapping of
+.Tn ISO
+3166 territory codes to names
+.It Pa /usr/share/zoneinfo
+directory for zoneinfo files
+.It Pa /usr/share/zoneinfo/zone.tab
+mapping of timezone file to country and location
.El
-
.Sh SEE ALSO
.Xr date 1 ,
.Xr adjtime 2 ,
@@ -72,3 +119,9 @@ see
.Xr adjkerntz 8 ,
.Xr zdump 8 ,
.Xr zic 8 .
+.Sh DISCLAIMER
+The representation of certain localities as being associated with certain
+countries and/or territories is for the purposes of identification only,
+and does not imply any endorsement or rejection on the part of the
+.Tn FreeeBSD
+Project of the territorial claims of any entity.
diff --git a/usr.sbin/tzsetup/tzsetup.c b/usr.sbin/tzsetup/tzsetup.c
index 42522b6..70b91a5 100644
--- a/usr.sbin/tzsetup/tzsetup.c
+++ b/usr.sbin/tzsetup/tzsetup.c
@@ -34,7 +34,7 @@
#ifndef lint
static const char rcsid[] =
- "$Id: tzsetup.c,v 1.10 1998/01/10 15:55:11 steve Exp $";
+ "$Id: tzsetup.c,v 1.11 1998/12/16 05:34:49 peter Exp $";
#endif /* not lint */
#include <sys/types.h>
@@ -644,7 +644,7 @@ main(int argc, char **argv)
}
}
- if (optind != argc)
+ if (argc - optind > 1)
usage();
read_iso3166_table();
@@ -668,8 +668,21 @@ main(int argc, char **argv)
}
}
dialog_clear_norefresh();
+ if (optind == argc - 1) {
+ char *msg;
+ asprintf(&msg, "\nUse the default `%s' zone?", argv[optind]);
+ if (!dialog_yesno("Default timezone provided", msg, 7, 72)) {
+ install_zone_file(argv[optind]);
+ dialog_clear();
+ end_dialog();
+ return 0;
+ }
+ free(msg);
+ dialog_clear_norefresh();
+ }
dialog_menu("Time Zone Selector", "Select a region", -1, -1,
NCONTINENTS, -NCONTINENTS, continents, 0, NULL, NULL);
+
dialog_clear();
end_dialog();
return 0;
OpenPOWER on IntegriCloud