Date: Fri, 8 Aug 2008 10:35:30 GMT From: Ed Schouten <ed@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 146904 for review Message-ID: <200808081035.m78AZUlD041213@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=146904 Change 146904 by ed@ed_flippo on 2008/08/08 10:35:01 IFC. Last time I integrated at a bad moment. Affected files ... .. //depot/projects/mpsafetty/games/fortune/strfile/strfile.c#3 integrate .. //depot/projects/mpsafetty/games/random/random.c#2 integrate .. //depot/projects/mpsafetty/games/random/randomize_fd.c#2 integrate .. //depot/projects/mpsafetty/games/random/randomize_fd.h#2 integrate .. //depot/projects/mpsafetty/lib/msun/src/e_asinf.c#4 integrate .. //depot/projects/mpsafetty/lib/msun/src/e_jnf.c#2 integrate .. //depot/projects/mpsafetty/lib/msun/src/e_rem_pio2.c#2 integrate .. //depot/projects/mpsafetty/lib/msun/src/e_rem_pio2f.c#2 integrate .. //depot/projects/mpsafetty/lib/msun/src/s_csqrt.c#2 integrate .. //depot/projects/mpsafetty/lib/msun/src/s_csqrtf.c#2 integrate .. //depot/projects/mpsafetty/lib/msun/src/s_csqrtl.c#2 integrate .. //depot/projects/mpsafetty/share/man/man9/condvar.9#2 integrate .. //depot/projects/mpsafetty/share/man/man9/sleep.9#2 integrate .. //depot/projects/mpsafetty/share/man/man9/sleepqueue.9#2 integrate .. //depot/projects/mpsafetty/share/zoneinfo/Makefile#2 integrate .. //depot/projects/mpsafetty/share/zoneinfo/Theory#2 delete .. //depot/projects/mpsafetty/share/zoneinfo/africa#2 integrate .. //depot/projects/mpsafetty/share/zoneinfo/asia#2 integrate .. //depot/projects/mpsafetty/share/zoneinfo/australasia#2 integrate .. //depot/projects/mpsafetty/share/zoneinfo/europe#2 integrate .. //depot/projects/mpsafetty/share/zoneinfo/leapseconds#3 integrate .. //depot/projects/mpsafetty/share/zoneinfo/northamerica#2 integrate .. //depot/projects/mpsafetty/share/zoneinfo/southamerica#2 integrate .. //depot/projects/mpsafetty/share/zoneinfo/zone.tab#2 integrate .. //depot/projects/mpsafetty/sys/boot/sparc64/loader/locore.S#2 integrate .. //depot/projects/mpsafetty/sys/boot/sparc64/loader/main.c#2 integrate .. //depot/projects/mpsafetty/sys/dev/sym/sym_hipd.c#2 integrate .. //depot/projects/mpsafetty/sys/sparc64/include/tte.h#2 integrate .. //depot/projects/mpsafetty/sys/sun4v/include/tte.h#2 integrate .. //depot/projects/mpsafetty/usr.bin/make/job.c#2 integrate .. //depot/projects/mpsafetty/usr.sbin/freebsd-update/freebsd-update.sh#3 integrate Differences ... ==== //depot/projects/mpsafetty/games/fortune/strfile/strfile.c#3 (text+ko) ==== @@ -46,7 +46,7 @@ #endif /* not lint */ #endif #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/games/fortune/strfile/strfile.c,v 1.30 2008/08/07 20:05:51 ache Exp $"); +__FBSDID("$FreeBSD: src/games/fortune/strfile/strfile.c,v 1.31 2008/08/07 21:36:09 ache Exp $"); # include <sys/param.h> # include <sys/endian.h> @@ -447,6 +447,10 @@ off_t tmp; off_t *sp; +#if __FreeBSD_version < 800041 + srandomdev(); +#endif + Tbl.str_flags |= STR_RANDOM; cnt = Tbl.str_numstr; @@ -455,7 +459,11 @@ */ for (sp = Seekpts; cnt > 0; cnt--, sp++) { +#if __FreeBSD_version < 800041 + i = random() % cnt; +#else i = arc4random_uniform(cnt); +#endif tmp = sp[0]; sp[0] = sp[i]; sp[i] = tmp; ==== //depot/projects/mpsafetty/games/random/random.c#2 (text+ko) ==== @@ -46,7 +46,7 @@ #endif /* not lint */ #endif #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/games/random/random.c,v 1.20 2006/04/14 17:32:27 ache Exp $"); +__FBSDID("$FreeBSD: src/games/random/random.c,v 1.22 2008/08/08 01:42:17 ache Exp $"); #include <sys/types.h> @@ -63,12 +63,6 @@ #include "randomize_fd.h" -/* - * The random() function is defined to return values between 0 and - * 2^31 - 1 inclusive in random(3). - */ -#define RANDOM_MAX 0x7fffffffL - static void usage(void); int @@ -137,8 +131,8 @@ err(1, "%s", *argv); if (denom <= 0 || *ep != '\0') errx(1, "denominator is not valid."); - if (random_exit && denom > 255) - errx(1, "denominator must be <= 255 for random exit."); + if (random_exit && denom > 256) + errx(1, "denominator must be <= 256 for random exit."); break; default: usage(); @@ -168,7 +162,7 @@ /* Compute a random exit status between 0 and denom - 1. */ if (random_exit) - return (int)((denom * random()) / RANDOM_MAX); + return (int)(denom * random() / RANDOM_MAX); /* * Select whether to print the first line. (Prime the pump.) ==== //depot/projects/mpsafetty/games/random/randomize_fd.c#2 (text+ko) ==== @@ -25,13 +25,14 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/games/random/randomize_fd.c,v 1.3 2006/04/14 17:32:27 ache Exp $"); +__FBSDID("$FreeBSD: src/games/random/randomize_fd.c,v 1.5 2008/08/08 02:46:47 ache Exp $"); #include <sys/types.h> #include <sys/param.h> #include <ctype.h> #include <err.h> +#include <errno.h> #include <stdlib.h> #include <stdio.h> #include <string.h> @@ -94,10 +95,11 @@ randomize_fd(int fd, int type, int unique, double denom) { u_char *buf; - u_int numnode, j, selected, slen; + u_int slen; + u_long i, j, numnode, selected; struct rand_node *n, *prev; int bufleft, eof, fndstr, ret; - size_t bufc, buflen, i; + size_t bufc, buflen; ssize_t len; rand_root = rand_tail = NULL; @@ -173,6 +175,11 @@ (type == RANDOM_TYPE_WORDS && isspace(buf[i])) || (eof && i == buflen - 1)) { make_token: + if (numnode == RANDOM_MAX) { + errno = EFBIG; + err(1, "too many lines"); + } + numnode++; n = rand_node_allocate(); if (-1 != (int)i) { slen = i - (u_long)bufc; @@ -188,7 +195,6 @@ } rand_node_append(n); fndstr = 1; - numnode++; } } } @@ -202,16 +208,18 @@ } for (i = numnode; i > 0; i--) { - selected = ((int)denom * random())/(((double)RAND_MAX + 1) / numnode); + selected = random() % numnode; for (j = 0, prev = n = rand_root; n != NULL; j++, prev = n, n = n->next) { if (j == selected) { if (n->cp == NULL) break; - ret = printf("%.*s", (int)n->len - 1, n->cp); - if (ret < 0) - err(1, "printf"); + if ((int)(denom * random() / RANDOM_MAX) == 0) { + ret = printf("%.*s", (int)n->len - 1, n->cp); + if (ret < 0) + err(1, "printf"); + } if (unique) { if (n == rand_root) rand_root = n->next; @@ -221,8 +229,8 @@ prev->next = n->next; rand_node_free(n); numnode--; - break; } + break; } } } ==== //depot/projects/mpsafetty/games/random/randomize_fd.h#2 (text+ko) ==== @@ -23,12 +23,18 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/games/random/randomize_fd.h,v 1.2 2003/02/15 10:26:10 seanc Exp $ + * $FreeBSD: src/games/random/randomize_fd.h,v 1.3 2008/08/08 01:42:17 ache Exp $ */ #ifndef __RANDOMIZE_FD__ #define __RANDOMIZE_FD__ +/* + * The random() function is defined to return values between 0 and + * 2^31 - 1 inclusive in random(3). + */ +#define RANDOM_MAX 0x80000000UL + #define RANDOM_TYPE_UNSET 0 #define RANDOM_TYPE_LINES 1 #define RANDOM_TYPE_WORDS 2 ==== //depot/projects/mpsafetty/lib/msun/src/e_asinf.c#4 (text+ko) ==== @@ -14,7 +14,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/lib/msun/src/e_asinf.c,v 1.12 2008/08/03 17:39:54 das Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/src/e_asinf.c,v 1.13 2008/08/08 00:21:27 das Exp $"); #include "math.h" #include "math_private.h" @@ -35,7 +35,7 @@ __ieee754_asinf(float x) { double s; - float t,w,p,q,c,r; + float t,w,p,q; int32_t hx,ix; GET_FLOAT_WORD(hx,x); ix = hx&0x7fffffff; ==== //depot/projects/mpsafetty/lib/msun/src/e_jnf.c#2 (text+ko) ==== @@ -14,13 +14,12 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/lib/msun/src/e_jnf.c,v 1.9 2008/02/22 02:30:35 das Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/src/e_jnf.c,v 1.10 2008/08/08 00:21:27 das Exp $"); #include "math.h" #include "math_private.h" static const float -invsqrtpi= 5.6418961287e-01, /* 0x3f106ebb */ two = 2.0000000000e+00, /* 0x40000000 */ one = 1.0000000000e+00; /* 0x3F800000 */ ==== //depot/projects/mpsafetty/lib/msun/src/e_rem_pio2.c#2 (text+ko) ==== @@ -14,7 +14,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/lib/msun/src/e_rem_pio2.c,v 1.18 2008/02/28 16:22:36 bde Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/src/e_rem_pio2.c,v 1.19 2008/08/08 00:21:27 das Exp $"); /* __ieee754_rem_pio2(x,y) * @@ -39,7 +39,6 @@ static const double zero = 0.00000000000000000000e+00, /* 0x00000000, 0x00000000 */ -half = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */ two24 = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */ invpio2 = 6.36619772367581382433e-01, /* 0x3FE45F30, 0x6DC9C883 */ pio2_1 = 1.57079632673412561417e+00, /* 0x3FF921FB, 0x54400000 */ ==== //depot/projects/mpsafetty/lib/msun/src/e_rem_pio2f.c#2 (text+ko) ==== @@ -15,7 +15,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/lib/msun/src/e_rem_pio2f.c,v 1.29 2008/02/28 16:22:36 bde Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/src/e_rem_pio2f.c,v 1.30 2008/08/08 00:21:27 das Exp $"); /* __ieee754_rem_pio2f(x,y) * @@ -36,7 +36,6 @@ */ static const double -half = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */ invpio2 = 6.36619772367581382433e-01, /* 0x3FE45F30, 0x6DC9C883 */ pio2_1 = 1.57079631090164184570e+00, /* 0x3FF921FB, 0x50000000 */ pio2_1t = 1.58932547735281966916e-08; /* 0x3E5110b4, 0x611A6263 */ ==== //depot/projects/mpsafetty/lib/msun/src/s_csqrt.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/lib/msun/src/s_csqrt.c,v 1.3 2008/03/30 20:07:14 das Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/src/s_csqrt.c,v 1.4 2008/08/08 00:15:16 das Exp $"); #include <complex.h> #include <float.h> @@ -40,7 +40,7 @@ * gcc generates is acceptable, since the special cases have already been * handled. */ -#pragma STDC CX_LIMITED_RANGE on +#pragma STDC CX_LIMITED_RANGE ON /* We risk spurious overflow for components >= DBL_MAX / (1 + sqrt(2)). */ #define THRESH 0x1.a827999fcef32p+1022 ==== //depot/projects/mpsafetty/lib/msun/src/s_csqrtf.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/lib/msun/src/s_csqrtf.c,v 1.2 2008/01/11 04:18:25 das Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/src/s_csqrtf.c,v 1.3 2008/08/08 00:15:16 das Exp $"); #include <complex.h> #include <math.h> @@ -39,7 +39,7 @@ * gcc generates is acceptable, since the special cases have already been * handled. */ -#pragma STDC CX_LIMITED_RANGE on +#pragma STDC CX_LIMITED_RANGE ON float complex csqrtf(float complex z) ==== //depot/projects/mpsafetty/lib/msun/src/s_csqrtl.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/lib/msun/src/s_csqrtl.c,v 1.1 2008/03/30 20:07:14 das Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/src/s_csqrtl.c,v 1.2 2008/08/08 00:15:16 das Exp $"); #include <complex.h> #include <float.h> @@ -40,7 +40,7 @@ * gcc generates is acceptable, since the special cases have already been * handled. */ -#pragma STDC CX_LIMITED_RANGE on +#pragma STDC CX_LIMITED_RANGE ON /* We risk spurious overflow for components >= LDBL_MAX / (1 + sqrt(2)). */ #define THRESH (LDBL_MAX / 2.414213562373095048801688724209698L) ==== //depot/projects/mpsafetty/share/man/man9/condvar.9#2 (text+ko) ==== @@ -24,7 +24,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH .\" DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/condvar.9,v 1.21 2007/06/05 20:53:18 imp Exp $ +.\" $FreeBSD: src/share/man/man9/condvar.9,v 1.22 2008/08/07 21:00:13 jhb Exp $ .\" .Dd June 5, 2007 .Dt CONDVAR 9 @@ -136,9 +136,27 @@ .Fa lock is atomically released before the thread is blocked, then reacquired before the function call returns. +In addition, the thread will fully drop the +.Va Giant +mutex +(even if recursed) +while the it is suspended and will reacquire the +.Va Giant +mutex before the function returns. The .Fn cv_wait_unlock function does not reacquire the lock before returning. +Note that the +.Va Giant +mutex may be specified as +.Fa lock . +However, +.Va Giant +may not be used as +.Fa lock +for the +.Fn cv_wait_unlock +function. All waiters must pass the same .Fa lock in conjunction with ==== //depot/projects/mpsafetty/share/man/man9/sleep.9#2 (text+ko) ==== @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/sleep.9,v 1.62 2008/04/04 16:59:58 imp Exp $ +.\" $FreeBSD: src/share/man/man9/sleep.9,v 1.63 2008/08/07 21:00:13 jhb Exp $ .\" .Dd April 4, 2008 .Os @@ -157,6 +157,12 @@ while the thread is suspended and will reacquire the .Va Giant mutex before the function returns. +Note that the +.Va Giant +mutex may be specified as the lock to drop. +In that case, however, the +.Dv PDROP +flag is not allowed. .Pp To avoid lost wakeups, either a lock should be used to protect against races, ==== //depot/projects/mpsafetty/share/man/man9/sleepqueue.9#2 (text+ko) ==== @@ -21,7 +21,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/sleepqueue.9,v 1.16 2007/09/28 11:13:40 gabor Exp $ +.\" $FreeBSD: src/share/man/man9/sleepqueue.9,v 1.17 2008/08/07 20:47:01 jhb Exp $ .\" .Dd August 13, 2007 .Dt SLEEPQUEUE 9 @@ -51,13 +51,13 @@ .In sys/sleepqueue.h .Ft void .Fn init_sleepqueues "void" -.Ft void +.Ft int .Fn sleepq_abort "struct thread *td" .Ft void .Fn sleepq_add "void *wchan" "struct lock_object *lock" "const char *wmesg" "int flags" "int queue" .Ft struct sleepqueue * .Fn sleepq_alloc "void" -.Ft void +.Ft int .Fn sleepq_broadcast "void *wchan" "int flags" "int pri" "int queue" .Ft int .Fn sleepq_calc_signal_retval "int sig" @@ -73,7 +73,7 @@ .Fn sleepq_release "void *wchan" .Ft void .Fn sleepq_remove "struct thread *td" "void *wchan" -.Ft void +.Ft int .Fn sleepq_signal "void *wchan" "int flags" "int pri" "int queue" .Ft void .Fn sleepq_set_timeout "void *wchan" "int timo" @@ -347,6 +347,21 @@ One possible use is waking up a specific thread from a widely shared sleep channel. .Pp +The +.Fn sleepq_abort , +.Fn sleepq_broadcast , +and +.Fn sleepq_signal +functions all return a boolean value. +If the return value is true, +then at least one thread was resumed that is currently swapped out. +The caller is responsible for awakening the scheduler process so that the +resumed thread will be swapped back in. +This is done by calling the +.Fn kick_proc0 +function after releasing the sleep queue chain lock via a call to +.Fn sleepq_release . +.Pp The sleep queue interface is currently used to implement the .Xr sleep 9 and ==== //depot/projects/mpsafetty/share/zoneinfo/Makefile#2 (text+ko) ==== @@ -1,29 +1,33 @@ -# $FreeBSD: src/share/zoneinfo/Makefile,v 1.22 2007/10/08 21:16:38 edwin Exp $ +# $FreeBSD: src/share/zoneinfo/Makefile,v 1.23 2008/08/08 04:37:43 edwin Exp $ # # HOW TO UPDATE THE ZONEINFO DATA # -# In a clean directory, unpack the distribution archive and run: +# With the use of subversion, this is a little bit simpler than the CVS method. # -# $ cvs -d :ext:ncvs.freebsd.org:/home/ncvs import -b 1.1.2 \ -# src/share/zoneinfo ADO tzdataYYYYt +# Import the new sources to the vendor branch: # -# where YYYYt is the year and the version of the distribution, for -# example 2004h. +# $ cd ~/svn/vendor/tzdata/dist +# $ tar zxvf /usr/ports/distfile/tzdata2008X.tar.gz +# (check with "svn stat" and "svn diff" if it all makes sense) +# $ svn commit # Commit message: "Vendor import of tzdata2008X (+details)" # -# Then go to the checked out source, and merge the changes from the -# previous tag to the new tag in the HEAD: +# Tag it # -# $ cd ../src/share/zoneinfo -# $ cvs update -jtzdataYYYYp -j tzdataYYYYt +# $ cd ~/svn/vendor/tzdata +# $ svn cp svn+ssh://svn.freebsd.org/base/vendor/tzdata/dist \ +# svn+ssh://svn.freebsd.org/base/vendor/tzdata/tzdata2008X +# $ svn update # -# Update it again: -# -# $ cvs update +# Merge-from-vendor # -# And push it back into CVS: -# -# $ cvs ci +# $ cd ~svn/head/share/zoneinfo +# $ svn update +# $ svn merge --accept=postpone \ +# svn+ssh://svn.freebsd.org/base/vendor/tzdata/dist . +# $ svn diff --no-diff-deleted \ +# --old=svn+ssh://svn.freebsd.org/base/vendor/tzdata/dist --new=. +# $ svn commit # CLEANFILES+= yearistype ==== //depot/projects/mpsafetty/share/zoneinfo/africa#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# @(#)africa 8.10 +# @(#)africa 8.15 # <pre> # This data is by no means authoritative; if you think you know better, @@ -387,9 +387,63 @@ 0:00 - GMT # Mauritius + +# From Steffen Thorsen (2008-06-25): +# Mauritius plans to observe DST from 2008-11-01 to 2009-03-31 on a trial +# basis.... +# It seems that Mauritius observed daylight saving time from 1982-10-10 to +# 1983-03-20 as well, but that was not successful.... +# http://www.timeanddate.com/news/time/mauritius-daylight-saving-time.html + +# From Alex Krivenyshev (2008-06-25): +# http://economicdevelopment.gov.mu/portal/site/Mainhomepage/menuitem.a42b24128104d9845dabddd154508a0c/?content_id=0a7cee8b5d69a110VgnVCM1000000a04a8c0RCRD + +# From Arthur David Olson (2008-06-30): +# The www.timeanddate.com article cited by Steffen Thorsen notes that "A +# final decision has yet to be made on the times that daylight saving +# would begin and end on these dates." As a place holder, use midnight. + +# From Paul Eggert (2008-06-30): +# Follow Thorsen on DST in 1982/1983, instead of Shanks & Pottenger. + +# From Steffen Thorsen (2008-07-10): +# According to +# <a href="http://www.lexpress.mu/display_article.php?news_id=111216"> +# http://www.lexpress.mu/display_article.php?news_id=111216 +# </a> +# (in French), Mauritius will start and end their DST a few days earlier +# than previously announced (2008-11-01 to 2009-03-31). The new start +# date is 2008-10-26 at 02:00 and the new end date is 2009-03-27 (no time +# given, but it is probably at either 2 or 3 wall clock time). +# +# A little strange though, since the article says that they moved the date +# to align itself with Europe and USA which also change time on that date, +# but that means they have not paid attention to what happened in +# USA/Canada last year (DST ends first Sunday in November). I also wonder +# why that they end on a Friday, instead of aligning with Europe which +# changes two days later. + +# From Alex Krivenyshev (2008-07-11): +# Seems that English language article "The revival of daylight saving +# time: Energy conservation?"-# No. 16578 (07/11/2008) was originally +# published on Monday, June 30, 2008... +# +# I guess that article in French "Le gouvernement avance l'introduction +# de l'heure d'ete" stating that DST in Mauritius starting on October 26 +# and ending on March 27, 2009 is the most recent one. +# ... +# <a href="http://www.worldtimezone.com/dst_news/dst_news_mauritius02.html"> +# http://www.worldtimezone.com/dst_news/dst_news_mauritius02.html +# </a> + +# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S +Rule Mauritius 1982 only - Oct 10 0:00 1:00 S +Rule Mauritius 1983 only - Mar 21 0:00 0 - +Rule Mauritius 2008 only - Oct 26 2:00s 1:00 S +Rule Mauritius 2009 only - Mar 27 2:00s 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Indian/Mauritius 3:50:00 - LMT 1907 # Port Louis - 4:00 - MUT # Mauritius Time + 4:00 Mauritius MU%sT # Mauritius Time # Agalega Is, Rodriguez # no information; probably like Indian/Mauritius @@ -400,6 +454,77 @@ # Morocco # See the `europe' file for Spanish Morocco (Africa/Ceuta). + +# From Alex Krivenyshev (2008-05-09): +# Here is an article that Morocco plan to introduce Daylight Saving Time between +# 1 June, 2008 and 27 September, 2008. +# +# "... Morocco is to save energy by adjusting its clock during summer so it will +# be one hour ahead of GMT between 1 June and 27 September, according to +# Communication Minister and Gov ernment Spokesman, Khalid Naciri...." +# +# <a href="http://www.worldtimezone.net/dst_news/dst_news_morocco01.html"> +# http://www.worldtimezone.net/dst_news/dst_news_morocco01.html +# </a> +# OR +# <a href="http://en.afrik.com/news11892.html"> +# http://en.afrik.com/news11892.html +# </a> + +# From Alex Krivenyshev (2008-05-09): +# The Morocco time change can be confirmed on Morocco web site Maghreb Arabe Presse: +# <a href="http://www.map.ma/eng/sections/box3/morocco_shifts_to_da/view"> +# http://www.map.ma/eng/sections/box3/morocco_shifts_to_da/view +# </a> +# +# Morocco shifts to daylight time on June 1st through September 27, Govt. +# spokesman. + +# From Patrice Scattolin (2008-05-09): +# According to this article: +# <a href="http://www.avmaroc.com/actualite/heure-dete-comment-a127896.html"> +# http://www.avmaroc.com/actualite/heure-dete-comment-a127896.html +# </a> +# (and republished here: +# <a href="http://www.actu.ma/heure-dete-comment_i127896_0.html"> +# http://www.actu.ma/heure-dete-comment_i127896_0.html +# </a> +# ) +# the changes occurs at midnight: +# +# saturday night may 31st at midnight (which in french is to be +# intrepreted as the night between saturday and sunday) +# sunday night the 28th at midnight +# +# Seeing that the 28th is monday, I am guessing that she intends to say +# the midnight of the 28th which is the midnight between sunday and +# monday, which jives with other sources that say that it's inclusive +# june1st to sept 27th. +# +# The decision was taken by decree *2-08-224 *but I can't find the decree +# published on the web. +# +# It's also confirmed here: +# <a href="http://www.maroc.ma/NR/exeres/FACF141F-D910-44B0-B7FA-6E03733425D1.htm"> +# http://www.maroc.ma/NR/exeres/FACF141F-D910-44B0-B7FA-6E03733425D1.htm +# </a> +# on a government portal as being between june 1st and sept 27th (not yet +# posted in english). +# +# The following google query will generate many relevant hits: +# <a href="http://www.google.com/search?hl=en&q=Conseil+de+gouvernement+maroc+heure+avance&btnG=Search"> +# http://www.google.com/search?hl=en&q=Conseil+de+gouvernement+maroc+heure+avance&btnG=Search +# </a> + +# From Alex Krivenyshev (2008-05-09): +# Is Western Sahara (part which administrated by Morocco) going to follow +# Morocco DST changes? Any information? What about other part of +# Western Sahara - under administration of POLISARIO Front (also named +# SADR Saharawi Arab Democratic Republic)? + +# From Arthur David Olson (2008-05-09): +# XXX--guess that it is only Morocco for now; guess only 2008 for now. + # RULE NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Morocco 1939 only - Sep 12 0:00 1:00 S Rule Morocco 1939 only - Nov 19 0:00 0 - @@ -416,11 +541,13 @@ Rule Morocco 1977 only - Sep 28 0:00 0 - Rule Morocco 1978 only - Jun 1 0:00 1:00 S Rule Morocco 1978 only - Aug 4 0:00 0 - +Rule Morocco 2008 only - Jun 1 0:00 1:00 S +Rule Morocco 2008 only - Sep 28 0:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Africa/Casablanca -0:30:20 - LMT 1913 Oct 26 0:00 Morocco WE%sT 1984 Mar 16 1:00 - CET 1986 - 0:00 - WET + 0:00 Morocco WE%sT # Western Sahara Zone Africa/El_Aaiun -0:52:48 - LMT 1934 Jan -1:00 - WAT 1976 Apr 14 ==== //depot/projects/mpsafetty/share/zoneinfo/asia#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# @(#)asia 8.18 +# @(#)asia 8.22 # <pre> # This data is by no means authoritative; if you think you know better, @@ -229,6 +229,28 @@ # (could be true), for the moment I am assuming that those two # counties are mistakes in the astro.com data. +# From Paul Eggert (2008-02-11): +# I just now checked Google News for western news sources that talk +# about China's single time zone, and couldn't find anything before 1986 +# talking about China being in one time zone. (That article was: Jim +# Mann, "A clumsy embrace for another western custom: China on daylight +# time--sort of", Los Angeles Times, 1986-05-05. By the way, this +# article confirms the tz database's data claiming that China began +# observing daylight saving time in 1986. +# +# From Thomas S. Mullaney (2008-02-11): +# I think you're combining two subjects that need to treated +# separately: daylight savings (which, you're correct, wasn't +# implemented until the 1980s) and the unified time zone centered near +# Beijing (which was implemented in 1949). Briefly, there was also a +# "Lhasa Time" in Tibet and "Urumqi Time" in Xinjiang. The first was +# ceased, and the second eventually recognized (again, in the 1980s). +# +# From Paul Eggert (2008-06-30): +# There seems to be a good chance China switched to a single time zone in 1949 +# rather than in 1980 as Shanks & Pottenger have it, but we don't have a +# reliable documentary source saying so yet, so for now we still go with +# Shanks & Pottenger. # Zone NAME GMTOFF RULES FORMAT [UNTIL] # Changbai Time ("Long-white Time", Long-white = Heilongjiang area) @@ -1376,6 +1398,42 @@ # They decided not to adopt daylight-saving time.... # http://www.mongolnews.mn/index.php?module=unuudur&sec=view&id=15742 +# From Deborah Goldsmith (2008-03-30): +# We received a bug report claiming that the tz database UTC offset for +# Asia/Choibalsan (GMT+09:00) is incorrect, and that it should be GMT +# +08:00 instead. Different sources appear to disagree with the tz +# database on this, e.g.: +# +# <a href="http://www.timeanddate.com/worldclock/city.html?n=1026"> +# http://www.timeanddate.com/worldclock/city.html?n=1026 +# </a> +# <a href="http://www.worldtimeserver.com/current_time_in_MN.aspx"> +# http://www.worldtimeserver.com/current_time_in_MN.aspx +# </a> +# +# both say GMT+08:00. + +# From Steffen Thorsen (2008-03-31): +# eznis airways, which operates several domestic flights, has a flight +# schedule here: +# <a href="http://www.eznis.com/Container.jsp?id=112"> +# http://www.eznis.com/Container.jsp?id=112 +# </a> +# (click the English flag for English) +# +# There it appears that flights between Choibalsan and Ulaanbatar arrive +# about 1:35 - 1:50 hours later in local clock time, no matter the +# direction, while Ulaanbaatar-Khvod takes 2 hours in the Eastern +# direction and 3:35 back, which indicates that Ulaanbatar and Khvod are +# in different time zones (like we know about), while Choibalsan and +# Ulaanbatar are in the same time zone (correction needed). + +# From Arthur David Olson (2008-05-19): +# Assume that Choibalsan is indeed offset by 8:00. +# XXX--in the absence of better information, assume that transition +# was at the start of 2008-03-31 (the day of Steffen Thorsen's report); +# this is almost surely wrong. + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Mongol 1983 1984 - Apr 1 0:00 1:00 S Rule Mongol 1983 only - Oct 1 0:00 0 - @@ -1411,7 +1469,8 @@ Zone Asia/Choibalsan 7:38:00 - LMT 1905 Aug 7:00 - ULAT 1978 8:00 - ULAT 1983 Apr - 9:00 Mongol CHO%sT # Choibalsan Time + 9:00 Mongol CHO%sT 2008 Mar 31 # Choibalsan Time + 8:00 Mongol CHO%sT # Nepal # Zone NAME GMTOFF RULES FORMAT [UNTIL] @@ -1461,10 +1520,32 @@ # The minister told a news conference that the experiment had rather # shown 8 per cent higher consumption of electricity. +# From Alex Krivenyshev (2008-05-15): +# +# Here is an article that Pakistan plan to introduce Daylight Saving Time +# on June 1, 2008 for 3 months. +# +# "... The federal cabinet on Wednesday announced a new conservation plan to help +# reduce load shedding by approving the closure of commercial centres at 9pm and +# moving clocks forward by one hour for the next three months. +# ...." +# +# <a href="http://www.worldtimezone.net/dst_news/dst_news_pakistan01.html"> +# http://www.worldtimezone.net/dst_news/dst_news_pakistan01.html +# </a> +# OR +# <a href="http://www.dailytimes.com.pk/default.asp?page=2008%5C05%5C15%5Cstory_15-5-2008_pg1_4"> +# http://www.dailytimes.com.pk/default.asp?page=2008%5C05%5C15%5Cstory_15-5-2008_pg1_4 +# </a> + +# From Arthur David Olson (2008-05-19): +# XXX--midnight transitions is a guess; 2008 only is a guess. # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Pakistan 2002 only - Apr Sun>=2 0:01 1:00 S Rule Pakistan 2002 only - Oct Sun>=2 0:01 0 - +Rule Pakistan 2008 only - Jun 1 0:00 1:00 S +Rule Pakistan 2008 only - Sep 1 0:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Karachi 4:28:12 - LMT 1907 5:30 - IST 1942 Sep ==== //depot/projects/mpsafetty/share/zoneinfo/australasia#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# @(#)australasia 8.8 +# @(#)australasia 8.9 # <pre> # This file also includes Pacific islands. @@ -1346,7 +1346,7 @@ # * Tonga will introduce DST in November # # I was given this link by John Letts: -# <a hef="http://news.bbc.co.uk/hi/english/world/asia-pacific/newsid_424000/424764.stm"> +# <a href="http://news.bbc.co.uk/hi/english/world/asia-pacific/newsid_424000/424764.stm"> # http://news.bbc.co.uk/hi/english/world/asia-pacific/newsid_424000/424764.stm # </a> # @@ -1356,7 +1356,7 @@ # (12 + 1 hour DST). # From Arthur David Olson (1999-09-20): -# According to <a href="http://www.tongaonline.com/news/sept1799.html> +# According to <a href="http://www.tongaonline.com/news/sept1799.html"> # http://www.tongaonline.com/news/sept1799.html # </a>: # "Daylight Savings Time will take effect on Oct. 2 through April 15, 2000 ==== //depot/projects/mpsafetty/share/zoneinfo/europe#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# @(#)europe 8.12 +# @(#)europe 8.17 # <pre> # This data is by no means authoritative; if you think you know better, @@ -457,7 +457,7 @@ Rule EU 1981 max - Mar lastSun 1:00u 1:00 S Rule EU 1996 max - Oct lastSun 1:00u 0 - # The most recent directive covers the years starting in 2002. See: -# <a href="http://europa.eu.int/eur-lex/en/lif/dat/2000/en_300L0084.html" +# <a href="http://europa.eu.int/eur-lex/en/lif/dat/2000/en_300L0084.html"> # Directive 2000/84/EC of the European Parliament and of the Council # of 19 January 2001 on summer-time arrangements. # </a> @@ -480,9 +480,48 @@ Rule C-Eur 1942 only - Nov 2 2:00s 0 - Rule C-Eur 1943 only - Mar 29 2:00s 1:00 S Rule C-Eur 1943 only - Oct 4 2:00s 0 - -Rule C-Eur 1944 only - Apr 3 2:00s 1:00 S +Rule C-Eur 1944 1945 - Apr Mon>=1 2:00s 1:00 S # Whitman gives 1944 Oct 7; go with Shanks & Pottenger. Rule C-Eur 1944 only - Oct 2 2:00s 0 - +# From Jesper Norgaard Welen (2008-07-13): +# +# I found what is probably a typo of 2:00 which should perhaps be 2:00s +# in the C-Eur rule from tz database version 2008d (this part was +# corrected in version 2008d). The circumstancial evidence is simply the +# tz database itself, as seen below: +# +# Zone Europe/Paris 0:09:21 - LMT 1891 Mar 15 0:01 +# 0:00 France WE%sT 1945 Sep 16 3:00 +# +# Zone Europe/Monaco 0:29:32 - LMT 1891 Mar 15 +# 0:00 France WE%sT 1945 Sep 16 3:00 +# +# Zone Europe/Belgrade 1:22:00 - LMT 1884 +# 1:00 1:00 CEST 1945 Sep 16 2:00s +# +# Rule France 1945 only - Sep 16 3:00 0 - +# Rule Belgium 1945 only - Sep 16 2:00s 0 - +# Rule Neth 1945 only - Sep 16 2:00s 0 - +# +# The rule line to be changed is: +# +# Rule C-Eur 1945 only - Sep 16 2:00 0 - +# +# It seems that Paris, Monaco, Rule France, Rule Belgium all agree on +# 2:00 standard time, e.g. 3:00 local time. However there are no +# countries that use C-Eur rules in September 1945, so the only items +# affected are apparently these ficticious zones that translates acronyms +# CET and MET: +# +# Zone CET 1:00 C-Eur CE%sT +# Zone MET 1:00 C-Eur ME%sT +# +# It this is right then the corrected version would look like: +# +# Rule C-Eur 1945 only - Sep 16 2:00s 0 - +# +# A small step for mankind though 8-) +Rule C-Eur 1945 only - Sep 16 2:00s 0 - Rule C-Eur 1977 1980 - Apr Sun>=1 2:00s 1:00 S Rule C-Eur 1977 only - Sep lastSun 2:00s 0 - Rule C-Eur 1978 only - Oct 1 2:00s 0 - @@ -725,7 +764,8 @@ Zone Europe/Sofia 1:33:16 - LMT 1880 1:56:56 - IMT 1894 Nov 30 # Istanbul MT? 2:00 - EET 1942 Nov 2 3:00 - 1:00 C-Eur CE%sT 1945 Apr 2 3:00 + 1:00 C-Eur CE%sT 1945 + 1:00 - CET 1945 Apr 2 3:00 2:00 - EET 1979 Mar 31 23:00 2:00 Bulg EE%sT 1982 Sep 26 2:00 2:00 C-Eur EE%sT 1991 @@ -1093,33 +1133,40 @@ # [See tz-link.htm for the URL.] # From Joerg Schilling (2002-10-23): -# In 1945, Berlin was switched to Moscow Summer time (GMT+4) by <a -# href="http://www.dhm.de/lemo/html/biografien/BersarinNikolai/"> +# In 1945, Berlin was switched to Moscow Summer time (GMT+4) by +# <a href="http://www.dhm.de/lemo/html/biografien/BersarinNikolai/"> # General [Nikolai] Bersarin</a>. # From Paul Eggert (2003-03-08): # <a href="http://www.parlament-berlin.de/pds-fraktion.nsf/727459127c8b66ee8525662300459099/defc77cb784f180ac1256c2b0030274b/$FILE/bersarint.pdf"> +# http://www.parlament-berlin.de/pds-fraktion.nsf/727459127c8b66ee8525662300459099/defc77cb784f180ac1256c2b0030274b/$FILE/bersarint.pdf +# </a> # says that Bersarin issued an order to use Moscow time on May 20. # However, Moscow did not observe daylight saving in 1945, so # this was equivalent to CEMT (GMT+3), not GMT+4. # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule Germany 1945 only - Apr 2 2:00s 1:00 S -Rule Germany 1945 only - May 24 2:00 2:00 M # Midsummer -Rule Germany 1945 only - Sep 24 3:00 1:00 S -Rule Germany 1945 only - Nov 18 2:00s 0 - Rule Germany 1946 only - Apr 14 2:00s 1:00 S Rule Germany 1946 only - Oct 7 2:00s 0 - Rule Germany 1947 1949 - Oct Sun>=1 2:00s 0 - -Rule Germany 1947 only - Apr 6 2:00s 1:00 S +# http://www.ptb.de/de/org/4/44/441/salt.htm says the following transition +# occurred at 3:00 MEZ, not the 2:00 MEZ given in Shanks & Pottenger. +# Go with the PTB. +Rule Germany 1947 only - Apr 6 3:00s 1:00 S Rule Germany 1947 only - May 11 2:00s 2:00 M Rule Germany 1947 only - Jun 29 3:00 1:00 S Rule Germany 1948 only - Apr 18 2:00s 1:00 S Rule Germany 1949 only - Apr 10 2:00s 1:00 S + +Rule SovietZone 1945 only - May 24 2:00 2:00 M # Midsummer +Rule SovietZone 1945 only - Sep 24 3:00 1:00 S +Rule SovietZone 1945 only - Nov 18 2:00s 0 - + # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Europe/Berlin 0:53:28 - LMT 1893 Apr - 1:00 C-Eur CE%sT 1945 Apr 2 2:00 + 1:00 C-Eur CE%sT 1945 May 24 2:00 + 1:00 SovietZone CE%sT 1946 1:00 Germany CE%sT 1980 1:00 EU CE%sT @@ -1196,7 +1243,7 @@ Zone Europe/Budapest 1:16:20 - LMT 1890 Oct 1:00 C-Eur CE%sT 1918 1:00 Hungary CE%sT 1941 Apr 6 2:00 - 1:00 C-Eur CE%sT 1945 May 1 23:00 + 1:00 C-Eur CE%sT 1945 1:00 Hungary CE%sT 1980 Sep 28 2:00s 1:00 EU CE%sT >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200808081035.m78AZUlD041213>