PERFORCE change 146904 for review
Ed Schouten
ed at FreeBSD.org
Fri Aug 8 10:35:31 UTC 2008
http://perforce.freebsd.org/chv.cgi?CH=146904
Change 146904 by ed at 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) <<<
More information about the p4-projects
mailing list