Summary of changes in tzdata2014e (2014-06-12 21:53:52 -0700):
* Egypt's 2014 Ramadan-based transitions are June 26 and July 31 at 24:00.
(Thanks to Imed Chihi.) Guess that from 2015 on Egypt will temporarily
switch to standard time at 24:00 the last Thursday before Ramadan, and
back to DST at 00:00 the first Friday after Ramadan.
* Similarly, Morocco's are June 28 at 03:00 and August 2 at 02:00. (Thanks
to Milamber Space Network.) Guess that from 2015 on Morocco will
temporarily switch to standard time at 03:00 the last Saturday before
Ramadan, and back to DST at 02:00 the first Saturday after Ramadan.
* The abbreviation "MSM" (Moscow Midsummer Time) is now used instead of
"MSD" for Moscow's double daylight time in summer 1921. Also, a typo
"VLASST" has been repaired to be "VLAST" for Vladivostok summer time
in 1991. (Thanks to Hank W. for reporting the problems.)
* Changes affecting commentary.
Summary of changes in tzdata2014d (2014-05-27 21:34:40 -0700):
* Changes affecting documentation.
- Add DragonFly 3.6.0 and 3.6.1
- Add FreeBSD 9.2 and 10.0
- Add Mac OS X 10.9
- Add OpenBSD 5.4
- Change the master's URL.
Add some releases:
- Add NetBSD 5.1.4 and 5.2.2
- Add OpenBSD 5.5
- Implement support for the asynchronous IPI calls.
- Rework synchronous IPI code to reuse the asynchronous mechanism.
- Add ipi(9) manual page; needs wizd(8).
Note: MD code can now provide a low level primitive for the ipi(9) and
reuse this interface instead of open-coding. Portmasters are encouraged
to convert. Ride 6.99.43!
need to vget() vnodes that we are not interested at, and optimize locking
a bit. Iterator changes reviewed by Hannken (thanks), the rest of the bugs
are mine.
Mention that uvm_map doesn't add a reference to uobj. Evidently this
information is important, since I just wasted countless hours over
the past months investigating kernel memory corruption arising from a
failure to notice this fact.
This has been tested in a private repository.
* Use set -e
* Pass -d ${CVSROOT} to all cvs invocations. cvs import needs it.
* cvs import needs to be done in the directory where the tarball
was extracted.
* cvs import does not take a "-F messagefile" option (as cvs commit does);
it needs "-m messagestring".
* The DOIT function now prompts for a yes/no/quit response, and quotes
complex arguments when printing the command.
* When checking the PGP signature, require the correct key to have been used.
* Usability improvements when editing the cvs log message.
* More error checking.
- Remove PCU_KERNEL (hi matt!) and significantly simplify the code.
This experimental feature was tried on ARM did not meet the expectations.
It may be revived one day, but it should be done in a much simpler way.
- Add a message structure for xcall function, pass the LWP ower and thus
optimise a race condition: if LWP is discarding its state on a remote CPU,
but another LWP already did it - do not cause an unecessary re-faulting.
- Reduce the variety of flags for PCU operations (only PCU_VALID and
PCU_REENABLE are used now), pass them only to the pcu_state_load().
- Rename pcu_used_p() to pcu_valid_p(); hopefully it is less confusing.
- pcu_save_all_on_cpu: SPL ought to be used here.
- Update and improve the pcu(9) man page; it needs wizd(8) though.
Changes from tzdata2013i to tzdata2014a:
Turkey begins DST on 2014-03-31, not 03-30.
Fiji ended DST on 2014-01-19 at 02:00, not 03:00.
Ukraine switched from Moscow to Eastern European time on 1990-07-01
(not 1992-01-01), and observed DST during the entire next winter.
In 1988 Israel observed DST from 04-10 to 09-04, not 04-09 to
09-03.
Also some changes affecting commentary and documentation
Changes from tzdata2014a to tzdata2014b:
Crimea switches to Moscow time on 2014-03-30 at 02:00 local time.
New entry for Troll station, Antarctica.
Also some changes affecting commentary and documentation
Changes from tzdata2014b to tzdata2014c:
Egypt observes DST starting 2014-05-15 at 24:00.
Guess that DST will stop during the same Ramadan dates as Morocco,
and make some other guesses.
Also some changes affecting commentary and documentation
Either you set MKCTF=yes and they should exist, or you set MKCTF=no
and it doesn't matter. If MKCTF=yes and they don't exist, something
is broken, and this should fail noisily, not silently.
Don't test for /usr/bin/ctfconvert or /usr/bin/ctfmerge -- that is
completely bonkers and breaks the build if the host's ctfconvert and
ctfmerge are too old.
Strip the broken conditionals in the .c.o &c. rules.
bsd.own.mk will override CTFCONVERT and CTFMERGE with TOOL_CTFCONVERT
and TOOL_CTFMERGE if MKCTF=yes.
XXX The way CTFCONVERT and CTFMERGE are integrated into the rules is
bogus -- it is not safe to interrupt them. We need some intermediate
object to do this right.
Please let me know if I broke anything with this -- I am not an elvin
or dwarven wizard, nor a dtrace expert. But this has been breaking
builds for ages now and nobody else seems to want to do anything
about it.
This variable separates CTF stuffs from MKDTRACE; we can build DTrace
solely without building and using them. This allows us to use DTrace
even if CTF stuffs have problems (actually they have now).
This variable would be merged into MKDTRACE eventually, once CTF stuffs
work correctly again.
(could maybe do per-target, as well.) fix the remaining
substitutions for xcb-proto, fontconfig and xorg-server.
(XXX: move many per-package-specific parts out of
bsd.x11.mk itself, into the relevant Makefile.)
these are FFS options. (QUOTA2 also works with mfs. AFAIK, traditional
quotas don't.)
Don't refer to QUOTA2 as "the new quotas format" as "new" is not a
good long-term identifier.
Also, don't xref half the quota utilities; there's no need to.
vfs_vnode_iterator_*(), remove them.
Document vfs_vnode_iterator_*().
Make VI_MARKER private to vfs_vnode.c, vfs_mount.c and unfortunately
to ufs/lfs/lfs_segment.c.
Welcome to 6.99.37
rump kernel" clauses from bsd.own.mk to Makefile.rump. Also,
add a rump_nativeabi_p() call to determine if rump kernel is
compiled with native ABI support.
caller has to care about list and vnode mutexes, reference count being zero,
intermediate vnode states like VI_CLEAN, VI_XLOCK, VI_MARKER and so on.
Add an interface to iterate over a vnode list:
void vfs_vnode_iterator_init(struct mount *mp, struct vnode_iterator **marker)
void vfs_vnode_iterator_destroy(struct vnode_iterator *marker)
bool vfs_vnode_iterator_next(struct vnode_iterator *marker, struct vnode **vpp)
vfs_vnode_iterator_next() returns either "false / *vpp == NULL" when done
or "true / *vpp != NULL" to return the next referenced vnode from the list.
To make vrecycle() work in this environment change it to
bool vrecycle(struct vnode *vp)
where "vp" is a referenced vnode to be destroyed if this is the last reference.
Discussed on tech-kern.
Welcome to 6.99.34
the vnode operations vector for active vnodes is unsafe because it
is not known whether deadfs or the original file system will be
called.
- Pass down LK_RETRY to the lock operation (hint for deadfs only).
- Change deadfs lock operation to return ENOENT if LK_RETRY is unset.
- Change all other lock operations to check for dead vnode once
the vnode is locked and unlock and return ENOENT in this case.
With these changes in place vnode lock operations will never succeed
after vclean() has marked the vnode as VI_XLOCK and before vclean()
has changed the operations vector.
Adresses PR kern/37706 (Forced unmount of file systems is unsafe)
Discussed on tech-kern.
Welcome to 6.99.33
on startup
- create share/examples/wpa_supplicant/wpa_supplicant.conf and make it
known in the relevant places. Improvements welcome, my point was
ctrl_interface and "you seriously want this"
it to trigger in 1/4 of the builds with -j 40 on a 24 processor box. Typical
error is:
ln: machine/include: File exists
*** Failed target: .BEGIN
*** Failed command: rm -f machine && ln -s /p/netbsd/cvsroot/src/sys/arch/vax/include machine
*** Error code 1
Stop.
Another approach to fixing this is to create a lockfile or adding other flags
to ln to change its behavior.
bsd.sys.mk and bsd.own.mk
- Add protection requiring that:
1. bsd.sys.mk is not include from other Makefiles directly
2. bsd.own.mk must be included before bsd.sys.mk since it
sets variables that bsd.sys.mk uses as conditionals.
This is step 1 of removing all variable settings from bsd.sys.mk and
leaving behind only rules. This way, the structure of a standard Makefile
is:
variable overrides
optionally include bsd.own.mk
optionally include bsd.endian.mk
variable settings that use variables defined in bsd.own.mk
include a one or more rule .mk files (such as bsd.prog.mk etc)
This file is only intended to be included from the other rules files like
bsd.lib.mk or bsd.prog.mk. If you need things to be defined early, use
bsd.own.mk.
relative to uname output when running in emulations: the magic links
are *not* affected even though uname output changes.
(This means @machine magic links can be used for e.g. amd64 vs. i386
device nodes. There's also an @emul magic link for emulation.)
Noted by apb.
since there is no definition of CRYPTO_ALGORITHM_ALL!
XXX The description of the arguments for crypto_register() needs further
updates, too, but that will be left for another day.
Major changes from tzdata2013d to tzdata2013e:
Fiji (Pacific/Fiji) DST in 2013 starts on October 27, not October 20.
Several zones have been turned into links, either to correct errors,
or where the differences were in older data (before 1943) that was
thought to be unreliable.
Some time zone abbreviations have been changed.
Major changes from tzdata2013e to tzdata2013f:
Tocantins, Brazil (America/Araguaina) DST will not start in September
2013.
Jordan (Asia/Amman) moves to permanent UTC+3 (instead of UTC+2 with
permanent DST since 2012).
Palestine (Asia/Hebron and Asia/Gaza) will end DST at 00:00, not
01:00, as from September 2013.
Major changes from tzdata2013f to tzdata2013g:
Morocco (Africa/Casablanca) now observes DST from the last Sunday
in March to the last Sunday in October, not April to September.
respectively.
Major changes from tzdata2013g to tzdata2013h:
Libya (Africa/Tripoli) has switched its time zone back to UTC+2
without DST, instead of UTC+1 with DST.
Western Sahara (Africa/El_Aaiun) uses Morocco's DST rules.
Acre, Brazil (America/Rio_Branco) and (we guess) western Amazonas,
Brazil (America/Eirunepe), will switch from UTC-4 to UTC-5 on
2013-11-10.
Add entries for DST transitions in Morocco in the year 2038. This
avoids some year-2038 glitches introduced in 2013g.
Major changes from tzdata2013h to tzdata2013i:
Jordan (Asia/Amman) switches back to UTC+2 standard time at 00:00 on
December 20, 2013. The 2006-2011 DST transition schedule is planned
to resume in 2014. The switch to permanent UTC+3 is cancelled.
In 2004, Cuba (America/Havana) began DST on March 28, not April 4.
The files solar87, solar88, and solar89 are no longer distributed.
The zones built from those files (Asia/Riyadh{87,88,89}) and
Mideast/Riyadh{87,88,89}) are no longer installed. They were a
negative experiment -- that is, a demonstration that tz data can
represent solar time only with some difficulty and error. Their
presence in the distribution caused confusion, as Riyadh civil time
was generally not solar time in those years.