aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-gnome/recipes-connectivity/networkmanager/networkmanager_%.bbappend2
-rw-r--r--meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-ulocked_-fgets-fread-fwrite-aliases.patch49
-rw-r--r--meta-initramfs/recipes-devtools/klibc/klibc.inc4
-rw-r--r--meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_git.bb3
-rw-r--r--meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump_2.4.bb4
-rw-r--r--meta-networking/files/waf-cross-answers/cross-answers-mips64el.txt39
-rw-r--r--meta-networking/recipes-connectivity/mosquitto/mosquitto_1.5.1.bb13
-rw-r--r--meta-networking/recipes-connectivity/networkmanager/networkmanager_1.14.4.bb1
-rw-r--r--meta-networking/recipes-connectivity/samba/samba/cmocka-uintptr_t.patch51
-rw-r--r--meta-networking/recipes-connectivity/samba/samba_4.8.4.bb1
-rw-r--r--meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.10.24.bb (renamed from meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.05.31.bb)4
-rw-r--r--meta-networking/recipes-daemons/ptpd/ptpd/Fixed-100-CPU-using-issue-by-adding-minimum-POSIX-ti.patch68
-rw-r--r--meta-networking/recipes-daemons/ptpd/ptpd_2.3.1.bb1
-rw-r--r--meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/CVE-2019-7282-and-CVE-2019-7283.patch35
-rw-r--r--meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb3
-rwxr-xr-xmeta-networking/recipes-protocols/net-snmp/net-snmp/run-ptest3
-rw-r--r--meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb2
-rw-r--r--meta-networking/recipes-support/ntop/ntop/fix-missing-return-from-non-void-function.patch19
-rw-r--r--meta-networking/recipes-support/ntop/ntop_5.0.1.bb1
-rw-r--r--meta-networking/recipes-support/ntp/ntp_4.2.8p13.bb (renamed from meta-networking/recipes-support/ntp/ntp_4.2.8p12.bb)11
-rw-r--r--meta-networking/recipes-support/tcpdump/tcpdump/0001-CVE-2017-16808-AoE-Add-a-missing-bounds-check.patch61
-rw-r--r--meta-networking/recipes-support/tcpdump/tcpdump_4.9.2.bb1
-rw-r--r--meta-networking/recipes-support/wireshark/wireshark_2.6.10.bb (renamed from meta-networking/recipes-support/wireshark/wireshark_2.6.4.bb)4
-rw-r--r--meta-oe/conf/layer.conf3
-rw-r--r--meta-oe/licenses/Arphic-Public-License58
-rw-r--r--meta-oe/recipes-connectivity/modemmanager/modemmanager/0001-Do-not-set-Wno-unused-but-set-variable.patch30
-rw-r--r--meta-oe/recipes-connectivity/modemmanager/modemmanager_1.8.2.bb2
-rw-r--r--meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb58
-rw-r--r--meta-oe/recipes-core/toybox/toybox_0.7.5.bb2
-rw-r--r--meta-oe/recipes-dbs/mysql/mariadb-native_5.5.64.bb (renamed from meta-oe/recipes-dbs/mysql/mariadb-native_5.5.62.bb)0
-rw-r--r--meta-oe/recipes-dbs/mysql/mariadb.inc6
-rw-r--r--meta-oe/recipes-dbs/mysql/mariadb_5.5.64.bb (renamed from meta-oe/recipes-dbs/mysql/mariadb_5.5.62.bb)0
-rw-r--r--meta-oe/recipes-dbs/postgresql/files/0001-Sync-our-copy-of-the-timezone-library-with-IANA-rele.patch1164
-rw-r--r--meta-oe/recipes-dbs/postgresql/files/0001-Update-time-zone-data-files-to-tzdata-release-2018f.patch6452
-rw-r--r--meta-oe/recipes-dbs/postgresql/files/postgresql-profile (renamed from meta-oe/recipes-dbs/postgresql/files/postgresql-bashprofile)0
-rw-r--r--meta-oe/recipes-dbs/postgresql/postgresql.inc8
-rw-r--r--meta-oe/recipes-dbs/postgresql/postgresql_10.10.bb10
-rw-r--r--meta-oe/recipes-dbs/postgresql/postgresql_10.5.bb12
-rw-r--r--meta-oe/recipes-devtools/libedit/libedit_20180525-3.1.bb2
-rw-r--r--meta-oe/recipes-devtools/lua/lua/CVE-2019-6706.patch32
-rw-r--r--meta-oe/recipes-devtools/lua/lua_5.3.4.bb1
-rw-r--r--meta-oe/recipes-devtools/luajit/luajit_2.0.5.bb6
-rw-r--r--meta-oe/recipes-devtools/protobuf/protobuf-c/0001-avoid-race-condition.patch36
-rw-r--r--meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.1.bb3
-rw-r--r--meta-oe/recipes-devtools/python/python-pygobject/0001-configure.ac-add-sysroot-path-to-GI_DATADIR-don-t-se.patch28
-rw-r--r--meta-oe/recipes-devtools/python/python-pygobject_3.28.3.bb14
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs/JS_PUBLIC_API.patch37
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs_52.9.1.bb3
-rw-r--r--meta-oe/recipes-extended/mraa/mraa_git.bb4
-rw-r--r--meta-oe/recipes-extended/polkit/polkit/CVE-2018-19788_p1.patch194
-rw-r--r--meta-oe/recipes-extended/polkit/polkit/CVE-2018-19788_p2.patch153
-rw-r--r--meta-oe/recipes-extended/polkit/polkit/CVE-2018-19788_p3.patch53
-rw-r--r--meta-oe/recipes-extended/polkit/polkit/CVE-2019-6133.patch190
-rw-r--r--meta-oe/recipes-extended/polkit/polkit_0.115.bb4
-rw-r--r--meta-oe/recipes-extended/redis/redis/Fixed-stack-trace-generation-on-aarch64.patch45
-rw-r--r--meta-oe/recipes-extended/redis/redis_4.0.8.bb1
-rw-r--r--meta-oe/recipes-extended/sedutil/files/0001-Fix-build-on-big-endian-architectures.patch41
-rw-r--r--meta-oe/recipes-extended/sedutil/sedutil_git.bb4
-rw-r--r--meta-oe/recipes-graphics/xscreensaver/xscreensaver_5.39.bb4
-rw-r--r--meta-oe/recipes-kernel/bpftool/bpftool.bb2
-rw-r--r--meta-oe/recipes-kernel/cpupower/cpupower.bb1
-rw-r--r--meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.4.bb4
-rw-r--r--meta-oe/recipes-multimedia/jack/a2jmidid_8.bb5
-rw-r--r--meta-oe/recipes-multimedia/mplayer/mpv_0.26.0.bb5
-rw-r--r--meta-oe/recipes-security/nmap/files/0001-include-time.h-for-time-structure-definition.patch78
-rw-r--r--meta-oe/recipes-security/nmap/files/0002-Fix-building-with-libc.patch76
-rw-r--r--meta-oe/recipes-security/nmap/nmap_7.70.bb8
-rw-r--r--meta-oe/recipes-support/ccid/ccid_1.4.24.bb4
-rw-r--r--meta-oe/recipes-support/libgit2/libgit2_0.27.4.bb11
-rw-r--r--meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.3.0.bb47
-rw-r--r--meta-oe/recipes-support/srecord/srecord_1.64.bb2
-rw-r--r--meta-oe/recipes-support/vim/files/0001-src-Makefile-improve-reproducibility.patch46
-rw-r--r--meta-oe/recipes-support/vim/vim_8.1.0347.bb1
-rw-r--r--meta-python/recipes-devtools/python/python3-multidict_3.3.2.bb4
-rw-r--r--meta-python/recipes-devtools/python/python3-twofish/0001-Fix-missing-return-statements-in-module-stubs.patch38
-rw-r--r--meta-python/recipes-devtools/python/python3-twofish_0.3.0.bb2
-rw-r--r--meta-python/recipes-extended/python-blivet/python3-blivetgui/0001-Set-_supported_filesystems-in-BlivetGUIAnaconda-init.patch39
-rw-r--r--meta-python/recipes-extended/python-blivet/python3-blivetgui_2.1.8.bb1
-rw-r--r--meta-python/recipes-extended/python-pyparted/python-pyparted_3.11.1.bb2
-rw-r--r--meta-python/recipes-extended/python-pyparted/python3-pyparted_3.11.1.bb2
-rw-r--r--meta-webserver/recipes-httpd/apache2/apache2-native_2.4.34.bb46
-rw-r--r--meta-webserver/recipes-httpd/apache2/apache2/0001-configure-use-pkg-config-for-PCRE-detection.patch8
-rw-r--r--meta-webserver/recipes-httpd/apache2/apache2/0002-apache2-bump-up-the-core-size-limit-if-CoreDumpDirec.patch (renamed from meta-webserver/recipes-httpd/apache2/apache2/httpd-2.4.1-corelimit.patch)12
-rw-r--r--meta-webserver/recipes-httpd/apache2/apache2/0003-apache2-do-not-export-apr-apr-util-symbols-when-usin.patch (renamed from meta-webserver/recipes-httpd/apache2/apache2/httpd-2.4.4-export.patch)10
-rw-r--r--meta-webserver/recipes-httpd/apache2/apache2/0004-apache2-log-the-SELinux-context-at-startup.patch (renamed from meta-webserver/recipes-httpd/apache2/apache2/httpd-2.4.1-selinux.patch)23
-rw-r--r--meta-webserver/recipes-httpd/apache2/apache2/0005-replace-lynx-to-curl-in-apachectl-script.patch (renamed from meta-webserver/recipes-httpd/apache2/apache2/replace-lynx-to-curl-in-apachectl-script.patch)6
-rw-r--r--meta-webserver/recipes-httpd/apache2/apache2/0006-apache2-fix-the-race-issue-of-parallel-installation.patch (renamed from meta-webserver/recipes-httpd/apache2/apache2/httpd-2.4.3-fix-race-issue-of-dir-install.patch)6
-rw-r--r--meta-webserver/recipes-httpd/apache2/apache2/0007-apache2-allow-to-disable-selinux-support.patch (renamed from meta-webserver/recipes-httpd/apache2/apache2/configure-allow-to-disable-selinux-support.patch)8
-rw-r--r--meta-webserver/recipes-httpd/apache2/apache2/0008-apache2-do-not-use-relative-path-for-gen_test_char.patch (renamed from meta-webserver/recipes-httpd/apache2/apache2/server-makefile.patch)8
-rw-r--r--meta-webserver/recipes-httpd/apache2/apache2/CVE-2018-11763.patch512
-rw-r--r--meta-webserver/recipes-httpd/apache2/apache2/apache-configure_perlbin.patch27
-rw-r--r--meta-webserver/recipes-httpd/apache2/apache2_2.4.41.bb (renamed from meta-webserver/recipes-httpd/apache2/apache2_2.4.34.bb)202
-rw-r--r--[-rwxr-xr-x]meta-webserver/recipes-httpd/apache2/files/init0
93 files changed, 1821 insertions, 8465 deletions
diff --git a/meta-gnome/recipes-connectivity/networkmanager/networkmanager_%.bbappend b/meta-gnome/recipes-connectivity/networkmanager/networkmanager_%.bbappend
index 291a61605f..1abb5bbcd1 100644
--- a/meta-gnome/recipes-connectivity/networkmanager/networkmanager_%.bbappend
+++ b/meta-gnome/recipes-connectivity/networkmanager/networkmanager_%.bbappend
@@ -1,3 +1,3 @@
# networkmanager-applet requires glib support
-PACKAGECONFIG_append = "glib"
+PACKAGECONFIG_append = " glib"
diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-ulocked_-fgets-fread-fwrite-aliases.patch b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-ulocked_-fgets-fread-fwrite-aliases.patch
new file mode 100644
index 0000000000..eee144dc4a
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-Define-ulocked_-fgets-fread-fwrite-aliases.patch
@@ -0,0 +1,49 @@
+From 241f423a015279cb29b7ad1a34386ef1c32007fc Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 9 Dec 2018 16:47:16 -0800
+Subject: [PATCH] Define ulocked_{fgets|fread|fwrite} aliases
+
+latest clang converts the normal calls to the unlocked variant
+equivalents
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Cc: Andrea Adami <andrea.adami@gmail.com>
+---
+ usr/klibc/fgets.c | 2 ++
+ usr/klibc/fread2.c | 2 ++
+ usr/klibc/fwrite2.c | 2 ++
+ 3 files changed, 6 insertions(+)
+
+diff --git a/usr/klibc/fgets.c b/usr/klibc/fgets.c
+index dbf742c6..2e9fcb65 100644
+--- a/usr/klibc/fgets.c
++++ b/usr/klibc/fgets.c
+@@ -25,3 +25,5 @@ char *fgets(char *s, int n, FILE *f)
+
+ return s;
+ }
++char *fgets_unlocked(char *s, int n, FILE *f)
++ __alias("fgets");
+diff --git a/usr/klibc/fread2.c b/usr/klibc/fread2.c
+index 7dca56b1..5c234766 100644
+--- a/usr/klibc/fread2.c
++++ b/usr/klibc/fread2.c
+@@ -11,3 +11,5 @@ size_t fread(void *ptr, size_t size, size_t nmemb, FILE * f)
+ {
+ return _fread(ptr, size * nmemb, f) / size;
+ }
++size_t fread_unlocked(void *ptr, size_t size, size_t nmemb, FILE *f)
++ __alias("fread");
+diff --git a/usr/klibc/fwrite2.c b/usr/klibc/fwrite2.c
+index cebc017c..3e0bb57d 100644
+--- a/usr/klibc/fwrite2.c
++++ b/usr/klibc/fwrite2.c
+@@ -11,3 +11,5 @@ size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE * f)
+ {
+ return _fwrite(ptr, size * nmemb, f) / size;
+ }
++size_t fwrite_unlocked(void *ptr, size_t size, size_t nmemb, FILE *f)
++ __alias("fwrite");
+--
+2.19.2
+
diff --git a/meta-initramfs/recipes-devtools/klibc/klibc.inc b/meta-initramfs/recipes-devtools/klibc/klibc.inc
index be01c2f58d..ec52e9734f 100644
--- a/meta-initramfs/recipes-devtools/klibc/klibc.inc
+++ b/meta-initramfs/recipes-devtools/klibc/klibc.inc
@@ -24,6 +24,7 @@ SRC_URI = "git://git.kernel.org/pub/scm/libs/klibc/klibc.git \
file://0001-klibc_2.0.4-add-kexec_file_load-syscall.patch \
file://0001-klibc-add-getrandom-syscall.patch \
file://0001-klibc-Kbuild-Accept-EXTRA_KLIBCAFLAGS.patch \
+ file://0001-Define-ulocked_-fgets-fread-fwrite-aliases.patch \
"
ARMPATCHES ?= ""
@@ -69,6 +70,7 @@ KLIBC_ARCH = "${TARGET_ARCH}"
KLIBC_ARCH_aarch64 = "arm64"
KLIBC_ARCH_armeb = "arm"
KLIBC_ARCH_mipsel = "mips"
+KLIBC_ARCH_mips64el = "mips64"
KLIBC_ARCH_x86 = "i386"
KLIBC_ARCH_x86-64 = "x86_64"
KLIBC_ARCH_powerpc = "ppc"
@@ -78,4 +80,6 @@ THIS_LIBKLIBC = "libklibc (= ${PV}-${PR})"
GCCPIE ?= ""
SECURITY_LDFLAGS = "${@'-z relro -z now -pie' if '${GCCPIE}' else ''}"
SECURITY_LDFLAGS_mips = ""
+SECURITY_LDFLAGS_mipsel = ""
SECURITY_LDFLAGS_mips64 = ""
+SECURITY_LDFLAGS_mips64el = ""
diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_git.bb b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_git.bb
index 25f5da48da..cc1c5518b9 100644
--- a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_git.bb
+++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_git.bb
@@ -66,9 +66,12 @@ CFLAGS_x86-64_append = " ${COMMON_CFLAGS} -I${STAGING_DIR_HOST}${libdir}/klibc/i
CFLAGS_arm_append = " ${COMMON_CFLAGS} -I${STAGING_DIR_HOST}${libdir}/klibc/include/bits32"
CFLAGS_aarch64_append = "${COMMON_CFLAGS} -I${STAGING_DIR_HOST}${libdir}/klibc/include/bits64"
CFLAGS_mips_append = " ${COMMON_CFLAGS} -I${STAGING_DIR_HOST}${libdir}/klibc/include/bits32"
+CFLAGS_mipsel_append = " ${COMMON_CFLAGS} -I${STAGING_DIR_HOST}${libdir}/klibc/include/bits32"
CFLAGS_mips64_append = " ${COMMON_CFLAGS} -I${STAGING_DIR_HOST}${libdir}/klibc/include/bits64"
+CFLAGS_mips64el_append = " ${COMMON_CFLAGS} -I${STAGING_DIR_HOST}${libdir}/klibc/include/bits64"
CFLAGS_powerpc_append = " ${COMMON_CFLAGS} -I${STAGING_DIR_HOST}${libdir}/klibc/include/bits32"
+
do_compile_prepend() {
# Remove the prepackaged config.h from the source tree as it overrides
# the same file generated by configure and placed in the build tree
diff --git a/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump_2.4.bb b/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump_2.4.bb
index a72b0d651e..5f78be4f51 100644
--- a/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump_2.4.bb
+++ b/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump_2.4.bb
@@ -5,7 +5,7 @@ HOMEPAGE = "http://rtmpdump.mplayerhq.hu/"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-DEPENDS = "openssl10 zlib"
+DEPENDS = "gnutls zlib"
SRCREV = "fa8646daeb19dfd12c181f7d19de708d623704c0"
SRC_URI = " \
@@ -18,5 +18,5 @@ inherit autotools-brokensep
EXTRA_OEMAKE = " \
CC='${CC}' LD='${LD} ${STAGING_LIBDIR}' XCFLAGS='${CFLAGS}' XLDFLAGS='${LDFLAGS}' \
- SYS=posix INC=-I=/usr/include DESTDIR=${D} \
+ SYS=posix INC=-I=/usr/include DESTDIR=${D} CRYPTO=GNUTLS \
prefix=${prefix} libdir=${libdir} incdir=${includedir}/librtmp bindir=${bindir} mandir=${mandir}"
diff --git a/meta-networking/files/waf-cross-answers/cross-answers-mips64el.txt b/meta-networking/files/waf-cross-answers/cross-answers-mips64el.txt
new file mode 100644
index 0000000000..82e694fdaf
--- /dev/null
+++ b/meta-networking/files/waf-cross-answers/cross-answers-mips64el.txt
@@ -0,0 +1,39 @@
+Checking uname sysname type: "Linux"
+Checking uname version type: "# Wed May 20 10:34:39 UTC 2015"
+Checking simple C program: "hello world"
+rpath library support: OK
+-Wl,--version-script support: OK
+Checking getconf LFS_CFLAGS: NO
+Checking correct behavior of strtoll: NO
+Checking for working strptime: OK
+Checking for C99 vsnprintf: "1"
+Checking for HAVE_SHARED_MMAP: OK
+Checking for HAVE_MREMAP: OK
+Checking for HAVE_SECURE_MKSTEMP: OK
+Checking for HAVE_IFACE_GETIFADDRS: NO
+Checking for HAVE_IFACE_IFCONF: NO
+Checking for HAVE_IFACE_IFREQ: NO
+Checking for large file support without additional flags: OK
+Checking for HAVE_INCOHERENT_MMAP: OK
+Checking value of NSIG: "128"
+Checking value of _NSIG: "128"
+Checking value of SIGRTMAX: "127"
+Checking value of SIGRTMIN: "34"
+Checking whether the WRFILE -keytab is supported: OK
+Checking for kernel change notify support: OK
+Checking for Linux kernel oplocks: OK
+Checking for kernel share modes: OK
+Checking whether POSIX capabilities are available: OK
+Checking if can we convert from CP850 to UCS-2LE: OK
+Checking if can we convert from UTF-8 to UCS-2LE: OK
+vfs_fileid checking for statfs() and struct statfs.f_fsid: OK
+Checking whether we can use Linux thread-specific credentials: OK
+Checking whether fcntl locking is available: OK
+Checking for the maximum value of the 'time_t' type: OK
+Checking whether the realpath function allows a NULL argument: OK
+Checking for ftruncate extend: OK
+getcwd takes a NULL argument: OK
+Checking for small off_t: NO
+Checking whether blkcnt_t is 32 bit: NO
+Checking whether blkcnt_t is 64 bit: OK
+Checking whether fcntl lock supports open file description locks: OK
diff --git a/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.5.1.bb b/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.5.1.bb
index b4adfdada9..06c1d67da8 100644
--- a/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.5.1.bb
+++ b/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.5.1.bb
@@ -24,20 +24,17 @@ PACKAGECONFIG ??= "ssl uuid \
${@bb.utils.filter('DISTRO_FEATURES','systemd', d)} \
"
-PACKAGECONFIG[dns-srv] = ",,c-ares"
-PACKAGECONFIG[ssl] = ",,openssl"
-PACKAGECONFIG[uuid] = ",,util-linux"
+PACKAGECONFIG[dns-srv] = "WITH_SRV=yes,WITH_SRV=no,c-ares"
+PACKAGECONFIG[ssl] = "WITH_TLS=yes WITH_TLS_PSK=yes,WITH_TLS=no WITH_TLS_PSK=no,openssl"
+PACKAGECONFIG[uuid] = "WITH_UUID=yes,WITH_UUID=no,util-linux"
PACKAGECONFIG[systemd] = "WITH_SYSTEMD=yes,WITH_SYSTEMD=no,systemd"
-PACKAGECONFIG[websockets] = ",,libwebsockets"
+PACKAGECONFIG[websockets] = "WITH_WEBSOCKETS=yes,WITH_WEBSOCKETS=no,libwebsockets"
EXTRA_OEMAKE = " \
prefix=${prefix} \
mandir=${mandir} \
localedir=${localedir} \
- ${@bb.utils.contains('PACKAGECONFIG', 'dns-srv', 'WITH_SRV=yes', 'WITH_SRV=no', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'ssl', 'WITH_TLS=yes WITH_TLS_PSK=yes', 'WITH_TLS=no WITH_TLS_PSK=no', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'uuid', 'WITH_UUID=yes', 'WITH_UUID=no', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'websockets', 'WITH_WEBSOCKETS=yes', 'WITH_WEBSOCKETS=no', d)} \
+ ${PACKAGECONFIG_CONFARGS} \
STRIP=/bin/true \
WITH_DOCS=no \
"
diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.14.4.bb b/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.14.4.bb
index 870a528147..f21600edad 100644
--- a/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.14.4.bb
+++ b/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.14.4.bb
@@ -111,6 +111,7 @@ FILES_${PN} += " \
${datadir}/dbus-1 \
${noarch_base_libdir}/udev/* \
${systemd_unitdir}/system \
+ ${libdir}/pppd \
"
RRECOMMENDS_${PN} += "iptables \
diff --git a/meta-networking/recipes-connectivity/samba/samba/cmocka-uintptr_t.patch b/meta-networking/recipes-connectivity/samba/samba/cmocka-uintptr_t.patch
new file mode 100644
index 0000000000..5c299d617b
--- /dev/null
+++ b/meta-networking/recipes-connectivity/samba/samba/cmocka-uintptr_t.patch
@@ -0,0 +1,51 @@
+From 5bd7b5d04435bd593349825973ce32290f5f604d Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Wed, 25 Jul 2018 09:55:25 +0800
+Subject: [PATCH] samba: cmocka.h: fix musl libc conflicting types error
+
+Fix build on qemumips64(el)
+
+taken from:
+[PATCH] libldb: fix musl libc conflicting types error
+
+/third_party/cmocka/cmocka.h:126:28: error: conflicting types for 'uintptr_t'
+ typedef unsigned int uintptr_t;
+ ^~~~~~~~~
+use __DEFINED_uintptr_t in alltypes.h to check if uintptr already defined
+
+Upstream-Status: Pending
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+---
+ third_party/cmocka/cmocka.h | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/third_party/cmocka/cmocka.h b/third_party/cmocka/cmocka.h
+index 4fd82a9..5443a08 100644
+--- a/third_party/cmocka/cmocka.h
++++ b/third_party/cmocka/cmocka.h
+@@ -110,7 +110,7 @@ typedef uintmax_t LargestIntegralType;
+ ((LargestIntegralType)(value))
+
+ /* Smallest integral type capable of holding a pointer. */
+-#if !defined(_UINTPTR_T) && !defined(_UINTPTR_T_DEFINED)
++#if !defined(__DEFINED_uintptr_t)
+ # if defined(_WIN32)
+ /* WIN32 is an ILP32 platform */
+ typedef unsigned int uintptr_t;
+@@ -134,9 +134,8 @@ typedef uintmax_t LargestIntegralType;
+ # endif /* __WORDSIZE */
+ # endif /* _WIN32 */
+
+-# define _UINTPTR_T
+-# define _UINTPTR_T_DEFINED
+-#endif /* !defined(_UINTPTR_T) || !defined(_UINTPTR_T_DEFINED) */
++# define __DEFINED_uintptr_t
++#endif /* !defined(__DEFINED_uintptr_t) */
+
+ /* Perform an unsigned cast to uintptr_t. */
+ #define cast_to_pointer_integral_type(value) \
+--
+2.7.4
+
diff --git a/meta-networking/recipes-connectivity/samba/samba_4.8.4.bb b/meta-networking/recipes-connectivity/samba/samba_4.8.4.bb
index da0ac322a7..f1aaeb83d9 100644
--- a/meta-networking/recipes-connectivity/samba/samba_4.8.4.bb
+++ b/meta-networking/recipes-connectivity/samba/samba_4.8.4.bb
@@ -28,6 +28,7 @@ SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \
SRC_URI_append_libc-musl = " \
file://samba-pam.patch \
file://samba-4.3.9-remove-getpwent_r.patch \
+ file://cmocka-uintptr_t.patch \
"
SRC_URI[md5sum] = "ca5bfbebd8d9eb95506e16594b2bbee2"
diff --git a/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.05.31.bb b/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.10.24.bb
index 2b990db3cb..e1aa9a5171 100644
--- a/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.05.31.bb
+++ b/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.10.24.bb
@@ -5,8 +5,8 @@ LICENSE = "ISC"
LIC_FILES_CHKSUM = "file://LICENSE;md5=07c4f6dea3845b02a18dc00c8c87699c"
SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz"
-SRC_URI[md5sum] = "0cbbdc21186c76cf58aba01b03f3dc5b"
-SRC_URI[sha256sum] = "e1dfbc3b97771373077f430c3c05082fae883145b37db5b2cfd12c56676fbe7b"
+SRC_URI[md5sum] = "b81bd1f6525a4806a707881aa3dda63f"
+SRC_URI[sha256sum] = "0d3e845ac77d21aac9b88642c3dd043a83e3920d706b63d5e5c31dffdbec9116"
inherit bin_package allarch
diff --git a/meta-networking/recipes-daemons/ptpd/ptpd/Fixed-100-CPU-using-issue-by-adding-minimum-POSIX-ti.patch b/meta-networking/recipes-daemons/ptpd/ptpd/Fixed-100-CPU-using-issue-by-adding-minimum-POSIX-ti.patch
new file mode 100644
index 0000000000..1d2a5368c1
--- /dev/null
+++ b/meta-networking/recipes-daemons/ptpd/ptpd/Fixed-100-CPU-using-issue-by-adding-minimum-POSIX-ti.patch
@@ -0,0 +1,68 @@
+From e00d3f52ccc6496a60992ac5a9d771b1d067eceb Mon Sep 17 00:00:00 2001
+From: Haiqing Bai <Haiqing.Bai@windriver.com>
+Date: Thu, 22 Nov 2018 08:42:48 +0000
+Subject: [PATCH] Fixed 100% CPU using issue by adding minimum POSIX timer
+ interval
+
+Added minimum POSIX timer interval to prevent from timers firing
+to quickly for the process to handle, resulting in 100% CPU and
+endless signal queue.
+
+Upstream-status: Backport
+[From commit 1f0baae98a7b23e85f2bfd8f5de64795421c270e:
+ - critical: added minimum POSIX timer interval to prevent from
+ timers firing to quickly for the process to handle,
+ resulting in 100% CPU and endless signal queue]
+
+Signed-off-by: Haiqing Bai <Haiqing.Bai@windriver.com>
+---
+ src/dep/eventtimer.h | 3 ++-
+ src/dep/eventtimer_itimer.c | 2 +-
+ src/dep/eventtimer_posix.c | 4 ++++
+ 3 files changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/src/dep/eventtimer.h b/src/dep/eventtimer.h
+index 64e483a..0a21318 100644
+--- a/src/dep/eventtimer.h
++++ b/src/dep/eventtimer.h
+@@ -30,7 +30,8 @@
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+-#define EVENTTIMER_MAX_DESC 20
++#define EVENTTIMER_MAX_DESC 20
++#define EVENTTIMER_MIN_INTERVAL_US 250 /* 4000/sec */
+
+ typedef struct EventTimer EventTimer;
+
+diff --git a/src/dep/eventtimer_itimer.c b/src/dep/eventtimer_itimer.c
+index cf3c6db..3bb7ec6 100644
+--- a/src/dep/eventtimer_itimer.c
++++ b/src/dep/eventtimer_itimer.c
+@@ -53,7 +53,7 @@
+
+ #include "../ptpd.h"
+
+-#define US_TIMER_INTERVAL (62500)
++#define US_TIMER_INTERVAL (31250)
+
+ static volatile unsigned int elapsed;
+
+diff --git a/src/dep/eventtimer_posix.c b/src/dep/eventtimer_posix.c
+index 637eef3..f4a702d 100644
+--- a/src/dep/eventtimer_posix.c
++++ b/src/dep/eventtimer_posix.c
+@@ -100,6 +100,10 @@ eventTimerStart_posix(EventTimer *timer, double interval)
+ ts.tv_sec = interval;
+ ts.tv_nsec = (interval - ts.tv_sec) * 1E9;
+
++ if(!ts.tv_sec && ts.tv_nsec < EVENTTIMER_MIN_INTERVAL_US * 1000) {
++ ts.tv_nsec = EVENTTIMER_MIN_INTERVAL_US * 1000;
++ }
++
+ DBGV("Timer %s start requested at %d.%4d sec interval\n", timer->id, ts.tv_sec, ts.tv_nsec);
+
+ its.it_interval = ts;
+--
+2.11.0
+
diff --git a/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1.bb b/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1.bb
index e136193205..58625c8090 100644
--- a/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1.bb
+++ b/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1.bb
@@ -23,6 +23,7 @@ def get_sub(d):
SRC_URI = "http://downloads.sourceforge.net/project/ptpd/ptpd/${@get_sub(d)}/ptpd-${PV}.tar.gz \
file://ptpd-use-pkgconfig.patch \
+ file://Fixed-100-CPU-using-issue-by-adding-minimum-POSIX-ti.patch \
file://ptpd.service \
file://ptpd.conf \
"
diff --git a/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/CVE-2019-7282-and-CVE-2019-7283.patch b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/CVE-2019-7282-and-CVE-2019-7283.patch
new file mode 100644
index 0000000000..285667b869
--- /dev/null
+++ b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/CVE-2019-7282-and-CVE-2019-7283.patch
@@ -0,0 +1,35 @@
+From a7831a16c3e0e1463d5eb08a58af152cb75ca976 Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Mon, 15 Apr 2019 06:05:58 +0000
+Subject: [PATCH] Fix CVE-2019-7282 and CVE-2019-7283
+
+Description: Fix CVE-2018-20685 and CVE-2019-6111
+Bug-Debian: https://bugs.debian.org/920486
+Origin: https://github.com/openssh/openssh-portable/commit/6010c0303a422a9c5fa8860c061bf7105eb7f8b2#diff-9f340c228413d5a9a9206ea2ed2bc624R1114
+
+Upstream-Status: Backport [Debian]
+[https://sources.debian.org/src/netkit-rsh/0.17-20/debian/patches/fix-CVE-2018-20685-and-CVE-2019-6111.patch]
+
+CVE: CVE-2019-7282 CVE-2019-7283
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ rcp/rcp.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/rcp/rcp.c b/rcp/rcp.c
+index ca61c18..77d8ff8 100644
+--- a/rcp/rcp.c
++++ b/rcp/rcp.c
+@@ -740,6 +740,11 @@ sink(int argc, char *argv[])
+ size = size * 10 + (*cp++ - '0');
+ if (*cp++ != ' ')
+ SCREWUP("size not delimited");
++ if (*cp == '\0' || strchr(cp, '/') != NULL ||
++ strcmp(cp, ".") == 0 || strcmp(cp, "..") == 0) {
++ error("error: unexpected filename: %s", cp);
++ exit(1);
++ }
+ if (targisdir) {
+ static char *namebuf;
+ static int cursize;
diff --git a/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb
index 03dd96338a..6f203c5a84 100644
--- a/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb
+++ b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb
@@ -16,6 +16,7 @@ SRC_URI = "${DEBIAN_MIRROR}/main/n/netkit-rsh/netkit-rsh_${PV}.orig.tar.gz;name=
file://netkit-rsh-0.17-rexec-ipv6.patch \
file://fix-host-variable.patch \
file://fixup_wait3_api_change.patch \
+ file://CVE-2019-7282-and-CVE-2019-7283.patch \
"
SRC_URI[archive.md5sum] = "65f5f28e2fe22d9ad8b17bb9a10df096"
@@ -39,6 +40,8 @@ PACKAGECONFIG ??= ""
PACKAGECONFIG += "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
PACKAGECONFIG[pam] = " , --without-pam, libpam, libpam"
+COMPATIBLE_HOST_libc-musl = 'null'
+
do_configure () {
./configure --prefix=${prefix} --exec-prefix=${exec_prefix}
echo "INSTALLROOT=${D}" > MCONFIG
diff --git a/meta-networking/recipes-protocols/net-snmp/net-snmp/run-ptest b/meta-networking/recipes-protocols/net-snmp/net-snmp/run-ptest
index 2334217bc0..76514c202e 100755
--- a/meta-networking/recipes-protocols/net-snmp/net-snmp/run-ptest
+++ b/meta-networking/recipes-protocols/net-snmp/net-snmp/run-ptest
@@ -1,4 +1,5 @@
#!/bin/sh
-cd testing
+workdir=$(dirname `realpath $0`)
+cd ${workdir}/testing
./RUNTESTS
diff --git a/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb b/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb
index d47f9e4a3d..757c1dbf63 100644
--- a/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb
+++ b/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb
@@ -32,7 +32,7 @@ SRC_URI[sha256sum] = "c6291385b8ed84f05890fe4197005daf7e7ee7b082c2e390fa114a9477
UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/net-snmp/files/net-snmp/"
UPSTREAM_CHECK_REGEX = "/net-snmp/(?P<pver>\d+(\.\d+)+)/"
-inherit autotools-brokensep update-rc.d siteinfo systemd pkgconfig perlnative
+inherit autotools-brokensep update-rc.d siteinfo systemd pkgconfig perlnative ptest
EXTRA_OEMAKE = "INSTALL_PREFIX=${D} OTHERLDFLAGS='${LDFLAGS}' HOST_CPPFLAGS='${BUILD_CPPFLAGS}'"
diff --git a/meta-networking/recipes-support/ntop/ntop/fix-missing-return-from-non-void-function.patch b/meta-networking/recipes-support/ntop/ntop/fix-missing-return-from-non-void-function.patch
new file mode 100644
index 0000000000..e627e59a59
--- /dev/null
+++ b/meta-networking/recipes-support/ntop/ntop/fix-missing-return-from-non-void-function.patch
@@ -0,0 +1,19 @@
+Fix following error:
+
+netflowPlugin.c: In function 'netflowUtilsLoop':
+netflowPlugin.c:2144:1: error: no return statement in function returning non-void [-Werror=return-type]
+ 2144 | }
+ | ^
+
+Return NULL like netflowMainLoop does.
+
+--- ntop-5.0.1.orig/plugins/netflowPlugin.c 2012-03-09 17:44:17.000000000 +0000
++++ ntop-5.0.1/plugins/netflowPlugin.c 2019-08-09 10:25:40.878799852 +0000
+@@ -2141,6 +2141,7 @@
+ waitCondvar(&myGlobals.device[deviceId].netflowGlobals->ifStatsQueueCondvar);
+ }
+ }
++ return(NULL);
+ }
+ #endif
+
diff --git a/meta-networking/recipes-support/ntop/ntop_5.0.1.bb b/meta-networking/recipes-support/ntop/ntop_5.0.1.bb
index 2a7a7f2cb0..80f009b7c3 100644
--- a/meta-networking/recipes-support/ntop/ntop_5.0.1.bb
+++ b/meta-networking/recipes-support/ntop/ntop_5.0.1.bb
@@ -18,6 +18,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/ntop/ntop-${PV}.tar.gz \
file://use-static-inline.patch \
file://0001-nDPI-Include-sys-types.h.patch \
file://0001-plugins-Makefile.am-fix-for-automake-1.16.1.patch \
+ file://fix-missing-return-from-non-void-function.patch \
"
SRC_URI[md5sum] = "01710b6925a8a5ffe1a41b8b512ebd69"
SRC_URI[sha256sum] = "7e8e84cb14d2173beaca4d4cb991a14d84a4bef84ec37b2276bc363f45c52ef8"
diff --git a/meta-networking/recipes-support/ntp/ntp_4.2.8p12.bb b/meta-networking/recipes-support/ntp/ntp_4.2.8p13.bb
index 53e41297aa..dc18a602ab 100644
--- a/meta-networking/recipes-support/ntp/ntp_4.2.8p12.bb
+++ b/meta-networking/recipes-support/ntp/ntp_4.2.8p13.bb
@@ -6,7 +6,7 @@ or satellite receiver or modem."
HOMEPAGE = "http://support.ntp.org"
SECTION = "net"
LICENSE = "NTP"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=e877a1d567a6a58996d2b66e3e387003"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=4cee33257467509e498f4cd9a6a4bd53"
DEPENDS = "libevent"
@@ -25,8 +25,8 @@ SRC_URI = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-${PV}.tar.g
file://ntpd.list \
"
-SRC_URI[md5sum] = "1522d66574bae14abb2622746dad2bdc"
-SRC_URI[sha256sum] = "709b222b5013d77d26bfff532b5ea470a8039497ef29d09363931c036cb30454"
+SRC_URI[md5sum] = "ea040ab9b4ca656b5229b89d6b822f13"
+SRC_URI[sha256sum] = "288772cecfcd9a53694ffab108d1825a31ba77f3a8466b0401baeca3bc232a38"
inherit autotools update-rc.d useradd systemd pkgconfig
@@ -105,7 +105,7 @@ do_install_append() {
rmdir --ignore-fail-on-non-empty ${D}${libexecdir}
}
-PACKAGES += "ntpdate sntp ${PN}-tickadj ${PN}-utils"
+PACKAGES += "ntpdate sntp ntpq ${PN}-tickadj ${PN}-utils"
# NOTE: you don't need ntpdate, use "ntpd -q -g -x"
# ntp originally includes tickadj. It's split off for inclusion in small firmware images on platforms
@@ -117,6 +117,8 @@ RDEPENDS_${PN} += "libgcc"
RPROVIDES_${PN}-utils = "${PN}-bin"
RREPLACES_${PN}-utils = "${PN}-bin"
RCONFLICTS_${PN}-utils = "${PN}-bin"
+# ntpq was split out of ntp-utils
+RDEPENDS_${PN}-utils = "ntpq"
SYSTEMD_PACKAGES = "${PN} ntpdate sntp"
SYSTEMD_SERVICE_${PN} = "ntpd.service"
@@ -151,6 +153,7 @@ FILES_sntp = "${sbindir}/sntp \
${sysconfdir}/default/sntp \
${systemd_unitdir}/system/sntp.service \
"
+FILES_ntpq = "${sbindir}/ntpq"
CONFFILES_${PN} = "${sysconfdir}/ntp.conf"
CONFFILES_ntpdate = "${sysconfdir}/default/ntpdate"
diff --git a/meta-networking/recipes-support/tcpdump/tcpdump/0001-CVE-2017-16808-AoE-Add-a-missing-bounds-check.patch b/meta-networking/recipes-support/tcpdump/tcpdump/0001-CVE-2017-16808-AoE-Add-a-missing-bounds-check.patch
new file mode 100644
index 0000000000..919f2b009c
--- /dev/null
+++ b/meta-networking/recipes-support/tcpdump/tcpdump/0001-CVE-2017-16808-AoE-Add-a-missing-bounds-check.patch
@@ -0,0 +1,61 @@
+From c45443a0d3e16b92622bea6b589e5930e8f0d815 Mon Sep 17 00:00:00 2001
+From: Peiran Hong <peiran.hong@windriver.com>
+Date: Fri, 13 Sep 2019 17:02:57 -0400
+Subject: [PATCH] CVE-2017-16808/AoE: Add a missing bounds check.
+
+---
+ netdissect.h | 12 ++++++++++++
+ print-aoe.c | 1 +
+ 2 files changed, 13 insertions(+)
+
+diff --git a/netdissect.h b/netdissect.h
+index 089b0406..cd05fdb9 100644
+--- a/netdissect.h
++++ b/netdissect.h
+@@ -69,6 +69,11 @@ typedef struct {
+ typedef unsigned char nd_uint8_t;
+ typedef signed char nd_int8_t;
+
++/*
++ * Use this for MAC addresses.
++ */
++#define MAC_ADDR_LEN 6 /* length of MAC addresses */
++
+ /* snprintf et al */
+
+ #include <stdarg.h>
+@@ -309,12 +314,19 @@ struct netdissect_options {
+ ((uintptr_t)ndo->ndo_snapend - (l) <= (uintptr_t)ndo->ndo_snapend && \
+ (uintptr_t)&(var) <= (uintptr_t)ndo->ndo_snapend - (l)))
+
++#define ND_TTEST_LEN(p, l) \
++ (IS_NOT_NEGATIVE(l) && \
++ ((uintptr_t)ndo->ndo_snapend - (l) <= (uintptr_t)ndo->ndo_snapend && \
++ (uintptr_t)(p) <= (uintptr_t)ndo->ndo_snapend - (l)))
++
+ /* True if "var" was captured */
+ #define ND_TTEST(var) ND_TTEST2(var, sizeof(var))
+
+ /* Bail if "l" bytes of "var" were not captured */
+ #define ND_TCHECK2(var, l) if (!ND_TTEST2(var, l)) goto trunc
+
++#define ND_TCHECK_LEN(p, l) if (!ND_TTEST_LEN(p, l)) goto trunc
++
+ /* Bail if "var" was not captured */
+ #define ND_TCHECK(var) ND_TCHECK2(var, sizeof(var))
+
+diff --git a/print-aoe.c b/print-aoe.c
+index 97e93df2..ac097a04 100644
+--- a/print-aoe.c
++++ b/print-aoe.c
+@@ -325,6 +325,7 @@ aoev1_reserve_print(netdissect_options *ndo,
+ goto invalid;
+ /* addresses */
+ for (i = 0; i < nmacs; i++) {
++ ND_TCHECK_LEN(cp, MAC_ADDR_LEN);
+ ND_PRINT((ndo, "\n\tEthernet Address %u: %s", i, etheraddr_string(ndo, cp)));
+ cp += ETHER_ADDR_LEN;
+ }
+--
+2.21.0
+
diff --git a/meta-networking/recipes-support/tcpdump/tcpdump_4.9.2.bb b/meta-networking/recipes-support/tcpdump/tcpdump_4.9.2.bb
index d38540e34d..14e90b092e 100644
--- a/meta-networking/recipes-support/tcpdump/tcpdump_4.9.2.bb
+++ b/meta-networking/recipes-support/tcpdump/tcpdump_4.9.2.bb
@@ -10,6 +10,7 @@ SRC_URI = " \
file://unnecessary-to-check-libpcap.patch \
file://add-ptest.patch \
file://run-ptest \
+ file://0001-CVE-2017-16808-AoE-Add-a-missing-bounds-check.patch \
"
SRC_URI[md5sum] = "9bbc1ee33dab61302411b02dd0515576"
diff --git a/meta-networking/recipes-support/wireshark/wireshark_2.6.4.bb b/meta-networking/recipes-support/wireshark/wireshark_2.6.10.bb
index 595502e763..1bda9ed44c 100644
--- a/meta-networking/recipes-support/wireshark/wireshark_2.6.4.bb
+++ b/meta-networking/recipes-support/wireshark/wireshark_2.6.10.bb
@@ -14,8 +14,8 @@ SRC_URI = "https://1.as.dl.wireshark.org/src/all-versions/${BP}.tar.xz \
UPSTREAM_CHECK_URI = "https://1.as.dl.wireshark.org/src"
-SRC_URI[md5sum] = "8aa7b8c8ce0b6ce4256a081493819d6f"
-SRC_URI[sha256sum] = "a06b007e6343f148b8b93443b2fcfc9bb3204311cd268565d54d1b71660bc861"
+SRC_URI[md5sum] = "4fd0cd96d990eab0e708339a5e0dc207"
+SRC_URI[sha256sum] = "b8fc32244352437db727a4517371dddfa9ffbf0057cfb58265588876b42b6c7e"
PE = "1"
diff --git a/meta-oe/conf/layer.conf b/meta-oe/conf/layer.conf
index 23c10ce339..47abd0fc07 100644
--- a/meta-oe/conf/layer.conf
+++ b/meta-oe/conf/layer.conf
@@ -49,6 +49,9 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
phoronix-test-suite->bash \
phoronix-test-suite->python \
phoronix-test-suite->php \
+ phoronix-test-suite->lsb \
+ phoronix-test-suite->util-linux \
+ phoronix-test-suite->busybox \
"
# ttf.inc inherits fontcache which adds fontconfig-utils to RDEPENDS
diff --git a/meta-oe/licenses/Arphic-Public-License b/meta-oe/licenses/Arphic-Public-License
new file mode 100644
index 0000000000..7e38aa59b5
--- /dev/null
+++ b/meta-oe/licenses/Arphic-Public-License
@@ -0,0 +1,58 @@
+ARPHIC PUBLIC LICENSE
+
+Copyright (C) 1999 Arphic Technology Co., Ltd.
+11Fl. No.168, Yung Chi Rd., Taipei, 110 Taiwan
+All rights reserved except as specified below.
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is forbidden.
+
+Preamble
+
+ The licenses for most software are designed to take away your freedom to share and change it. By contrast, the ARPHIC PUBLIC LICENSE specifically permits and encourages you to use this software, provided that you give the recipients all the rights that we gave you and make sure they can get the modifications of this software.
+
+Legal Terms
+
+0. Definitions:
+ Throughout this License, "Font" means the TrueType fonts "AR PL Mingti2L Big5", "AR PL KaitiM Big5" (BIG-5 character set) and "AR PL SungtiL GB", "AR PL KaitiM GB" (GB character set) which are originally distributed by Arphic, and the derivatives of those fonts created through any modification including modifying glyph, reordering glyph, converting format, changing font name, or adding/deleting some characters in/from glyph table.
+
+ "PL" means "Public License".
+
+ "Copyright Holder" means whoever is named in the copyright or copyrights for the Font.
+
+ "You" means the licensee, or person copying, redistributing or modifying the Font.
+
+ "Freely Available" means that you have the freedom to copy or modify the Font as well as redistribute copies of the Font under the same conditions you received, not price. If you wish, you can charge for this service.
+
+1. Copying & Distribution
+ You may copy and distribute verbatim copies of this Font in any medium, without restriction, provided that you retain this license file (ARPHICPL.TXT) unaltered in all copies.
+
+2. Modification
+ You may otherwise modify your copy of this Font in any way, including modifying glyph, reordering glyph, converting format, changing font name, or adding/deleting some characters in/from glyph table, and copy and distribute such modifications under the terms of Section 1 above, provided that the following conditions are met:
+
+ a) You must insert a prominent notice in each modified file stating how and when you changed that file.
+
+ b) You must make such modifications Freely Available as a whole to all third parties under the terms of this License, such as by offering access to copy the modifications from a designated place, or distributing the modifications on a medium customarily used for software interchange.
+
+ c) If the modified fonts normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the Font under these conditions, and telling the user how to view a copy of this License.
+
+ These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Font, and can be reasonably considered independent and separate works in themselves, then this License and its terms, do not apply to those sections when you distribute them as separate works. Therefore, mere aggregation of another work not based on the Font with the Font on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
+
+3. Condition Subsequent
+ You may not copy, modify, sublicense, or distribute the Font except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Font will automatically retroactively void your rights under this License. However, parties who have received copies or rights from you under this License will keep their licenses valid so long as such parties remain in full compliance.
+
+4. Acceptance
+ You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to copy, modify, sublicense or distribute the Font. These actions are prohibited by law if you do not accept this License. Therefore, by copying, modifying, sublicensing or distributing the Font, you indicate your acceptance of this License and all its terms and conditions.
+
+5. Automatic Receipt
+ Each time you redistribute the Font, the recipient automatically receives a license from the original licensor to copy, distribute or modify the Font subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
+
+6. Contradiction
+ If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Font at all. For example, if a patent license would not permit royalty-free redistribution of the Font by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Font.
+
+ If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
+
+7. NO WARRANTY
+ BECAUSE THE FONT IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE FONT, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS OR OTHER PARTIES PROVIDE THE FONT "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE FONT IS WITH YOU. SHOULD THE FONT PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+8. DAMAGES WAIVER
+ UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING, IN NO EVENT WILL ANY COPYRIGHTT HOLDERS, OR OTHER PARTIES WHO MAY COPY, MODIFY OR REDISTRIBUTE THE FONT AS PERMITTED ABOVE, BE LIABLE TO YOU FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, INCIDENTAL, SPECIAL OR EXEMPLARY DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE FONT (INCLUDING BUT NOT LIMITED TO PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA OR PROFITS; OR BUSINESS INTERRUPTION), EVEN IF SUCH HOLDERS OR OTHER PARTIES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
diff --git a/meta-oe/recipes-connectivity/modemmanager/modemmanager/0001-Do-not-set-Wno-unused-but-set-variable.patch b/meta-oe/recipes-connectivity/modemmanager/modemmanager/0001-Do-not-set-Wno-unused-but-set-variable.patch
new file mode 100644
index 0000000000..dcbe01d5ed
--- /dev/null
+++ b/meta-oe/recipes-connectivity/modemmanager/modemmanager/0001-Do-not-set-Wno-unused-but-set-variable.patch
@@ -0,0 +1,30 @@
+From d4f73b037d11d20f080e74c05df28853fb833075 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 7 Dec 2018 22:59:47 -0800
+Subject: [PATCH] Do not set Wno-unused-but-set-variable
+
+This is gcc specific warning, not implemented by pretending to be gcc
+like compilers e.g. clang.
+
+We will pass this option from recipe
+
+Upstream-Status: Inappropriate [OE-Specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ m4/compiler_warnings.m4 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/m4/compiler_warnings.m4 b/m4/compiler_warnings.m4
+index f498a28..e65e97f 100644
+--- a/m4/compiler_warnings.m4
++++ b/m4/compiler_warnings.m4
+@@ -11,7 +11,7 @@ if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then
+ -Wdeclaration-after-statement -Wstrict-prototypes \
+ -Wno-unused-parameter -Wno-sign-compare \
+ -Wno-deprecated-declarations \
+- -Wno-unused-but-set-variable -Wformat-security; do
++ -Wno-unused -Wformat-security; do
+ SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $option"
+ AC_MSG_CHECKING([whether gcc understands $option])
diff --git a/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.8.2.bb b/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.8.2.bb
index dec4b67973..01c621441f 100644
--- a/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.8.2.bb
+++ b/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.8.2.bb
@@ -12,6 +12,7 @@ inherit gnomebase gettext systemd vala gobject-introspection bash-completion
DEPENDS = "glib-2.0 libgudev dbus-glib intltool-native"
SRC_URI = "http://www.freedesktop.org/software/ModemManager/ModemManager-${PV}.tar.xz \
+ file://0001-Do-not-set-Wno-unused-but-set-variable.patch \
"
SRC_URI[md5sum] = "a49c9f73e46c7b89e5efedda250d22c0"
@@ -33,6 +34,7 @@ PACKAGECONFIG[qmi] = "--with-qmi,--without-qmi,libqmi"
EXTRA_OECONF = " \
--with-udev-base-dir=${nonarch_base_libdir}/udev \
"
+CFLAGS_append_toolchain-gcc = " -Wno-unused-but-set-variable"
FILES_${PN} += " \
${datadir}/icons \
diff --git a/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
index 08b4bbfc48..62f1c77591 100644
--- a/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
+++ b/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
@@ -1,5 +1,6 @@
SUMMARY = "Meta-oe ptest packagegroups"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
inherit packagegroup
PROVIDES = "${PACKAGES}"
@@ -21,7 +22,7 @@ PACKAGES = ' \
packagegroup-meta-oe-test \
${@bb.utils.contains("DISTRO_FEATURES", "x11", "packagegroup-meta-oe-gnome", "", d)} \
${@bb.utils.contains("DISTRO_FEATURES", "x11", "packagegroup-meta-oe-graphics", "", d)} \
- ${@bb.utils.contains("DISTRO_FEATURES", "ptest", "packagegroup-meta-oe-ptest", "", d)} \
+ ${@bb.utils.contains("DISTRO_FEATURES", "ptest", "packagegroup-meta-oe-ptest-packages", "", d)} \
'
RDEPENDS_packagegroup-meta-oe = "\
@@ -41,7 +42,7 @@ RDEPENDS_packagegroup-meta-oe = "\
packagegroup-meta-oe-test \
${@bb.utils.contains("DISTRO_FEATURES", "x11", "packagegroup-meta-oe-gnome", "", d)} \
${@bb.utils.contains("DISTRO_FEATURES", "x11", "packagegroup-meta-oe-graphics", "", d)} \
- ${@bb.utils.contains("DISTRO_FEATURES", "ptest", "packagegroup-meta-oe-ptest", "", d)} \
+ ${@bb.utils.contains("DISTRO_FEATURES", "ptest", "packagegroup-meta-oe-ptest-packages", "", d)} \
"
RDEPENDS_packagegroup-meta-oe-benchmarks = "\
@@ -52,6 +53,12 @@ RDEPENDS_packagegroup-meta-oe-benchmarks = "\
${@bb.utils.contains("DISTRO_FEATURES", "x11 wayland opengl", "glmark2", "", d)} \
"
+RDEPENDS_packagegroup-meta-oe-benchmarks_remove_mipsarch = "libhugetlbfs"
+RDEPENDS_packagegroup-meta-oe-benchmarks_remove_mips64 = "tinymembench"
+RDEPENDS_packagegroup-meta-oe-benchmarks_remove_mips64el = "tinymembench"
+RDEPENDS_packagegroup-meta-oe-benchmarks_remove_riscv64 = "libhugetlbfs"
+RDEPENDS_packagegroup-meta-oe-benchmarks_remove_riscv32 = "libhugetlbfs"
+
RDEPENDS_packagegroup-meta-oe-connectivity ="\
gammu hostapd irssi krb5 libev libimobiledevice \
libmbim libmtp libndp libqmi libtorrent \
@@ -83,6 +90,11 @@ RDEPENDS_packagegroup-meta-oe-bsp ="\
efivar flashrom lmsensors lmsensors-config \
lsscsi nvme-cli pcmciautils pointercal \
"
+RDEPENDS_packagegroup-meta-oe-bsp_remove_mipsarch = "efivar efibootmgr"
+RDEPENDS_packagegroup-meta-oe-bsp_remove_powerpc = "efivar efibootmgr"
+RDEPENDS_packagegroup-meta-oe-bsp_remove_riscv64 = "efivar efibootmgr"
+RDEPENDS_packagegroup-meta-oe-bsp_remove_riscv32 = "efivar efibootmgr"
+
RDEPENDS_packagegroup-meta-oe-dbs ="\
leveldb libdbi mariadb mariadb-native \
mysql-python postgresql psqlodbc rocksdb soci \
@@ -106,6 +118,14 @@ RDEPENDS_packagegroup-meta-oe-devtools ="\
${@bb.utils.contains("DISTRO_FEATURES", "x11", "geany geany-plugins glade tk", "", d)} \
"
+RDEPENDS_packagegroup-meta-oe-devtools_remove_armv5 = "uftrace nodejs"
+RDEPENDS_packagegroup-meta-oe-devtools_remove_mipsarch = "uftrace lshw"
+RDEPENDS_packagegroup-meta-oe-devtools_remove_mips64 = "nodejs"
+RDEPENDS_packagegroup-meta-oe-devtools_remove_mips64el = "nodejs"
+RDEPENDS_packagegroup-meta-oe-devtools_remove_powerpc = "android-tools breakpad uftrace lshw"
+RDEPENDS_packagegroup-meta-oe-devtools_remove_riscv64 = "uftrace lshw"
+RDEPENDS_packagegroup-meta-oe-devtools_remove_riscv32 = "uftrace lshw"
+
RDEPENDS_packagegroup-meta-oe-extended ="\
byacc cfengine cfengine-masterfiles cmpi-bindings \
ddrescue dialog dumb-init enscript fluentbit \
@@ -130,6 +150,11 @@ RDEPENDS_packagegroup-meta-oe-extended ="\
${@bb.utils.contains("DISTRO_FEATURES", "pam", "pam-ssh-agent-auth openwsman sblim-sfcb ", "", d)} \
${@bb.utils.contains("BBPATH", "meta-python", "openlmi-tools", "", d)} \
"
+RDEPENDS_packagegroup-meta-oe-extended_remove_mipsarch = "upm mraa tiptop"
+RDEPENDS_packagegroup-meta-oe-extended_remove_powerpc = "upm mraa"
+RDEPENDS_packagegroup-meta-oe-extended_remove_riscv64 = "upm mraa tiptop"
+RDEPENDS_packagegroup-meta-oe-extended_remove_riscv32 = "upm mraa tiptop"
+RDEPENDS_packagegroup-meta-oe-extended_remove_libc-musl = "lcdproc"
RDEPENDS_packagegroup-meta-oe-gnome ="\
atkmm gnome-common gnome-doc-utils-stub gtkmm \
@@ -159,6 +184,10 @@ RDEPENDS_packagegroup-meta-oe-kernel ="\
agent-proxy bpftool broadcom-bt-firmware cpupower \
crash ipmitool minicoredumper oprofile \
"
+RDEPENDS_packagegroup-meta-oe-kernel_remove_libc-musl = "bpftool crash minicoredumper"
+
+RDEPENDS_packagegroup-meta-oe-kernel_remove_mips64 = "crash"
+RDEPENDS_packagegroup-meta-oe-kernel_remove_mips64el = "crash"
RDEPENDS_packagegroup-meta-oe-multimedia ="\
alsa-oss audiofile cdrkit esound id3lib \
@@ -170,6 +199,7 @@ RDEPENDS_packagegroup-meta-oe-multimedia ="\
${@bb.utils.contains("DISTRO_FEATURES", "pulseadio bluez4", "libmikmod", "", d)} \
${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "libmad faad2 mpv", "", d)} \
"
+RDEPENDS_packagegroup-meta-oe-multimedia_remove_libc-musl = "alsa-oss"
RDEPENDS_packagegroup-meta-oe-navigation ="\
geoclue geos libspatialite proj \
@@ -223,6 +253,9 @@ RDEPENDS_packagegroup-meta-oe-support ="\
${NE10} \
"
+RDEPENDS_packagegroup-meta-oe-support_remove_arm ="numactl"
+RDEPENDS_packagegroup-meta-oe-support_remove_mipsarch_libc-glibc = "gperftools"
+
RDEPENDS_packagegroup-meta-oe-support-egl ="\
freerdp libnice opencv \
"
@@ -231,23 +264,30 @@ RDEPENDS_packagegroup-meta-oe-test ="\
catch2 cppunit cunit cxxtest evtest fb-test \
fwts gtest pm-qa stress-ng testfloat \
"
+RDEPENDS_packagegroup-meta-oe-test_remove_libc-musl = "pm-qa"
+RDEPENDS_packagegroup-meta-oe-test_remove_arm = "fwts"
+RDEPENDS_packagegroup-meta-oe-test_remove_mipsarch = "fwts"
+RDEPENDS_packagegroup-meta-oe-test_remove_powerpc = "fwts"
+RDEPENDS_packagegroup-meta-oe-test_remove_riscv64 = "fwts"
+RDEPENDS_packagegroup-meta-oe-test_remove_riscv32 = "fwts"
-RDEPENDS_packagegroup-meta-oe-ptest = "\
+RDEPENDS_packagegroup-meta-oe-ptest-packages = "\
zeromq-ptest \
- libxml-ptest \
- soci-ptest \
leveldb-ptest \
psqlodbc-ptest \
lua-ptest \
protobuf-ptest \
- libdbi-ptest \
rsyslog-ptest \
oprofile-ptest \
libteam-ptest \
uthash-ptest \
- mcelog-ptest \
- openldap-ptest \
libee-ptest \
- numactl-ptest \
poco-ptest \
"
+RDEPENDS_packagegroup-meta-oe-ptest-packages_append_x86 = "\
+ mcelog-ptest \
+"
+RDEPENDS_packagegroup-meta-oe-ptest-packages_append_x86-64 = "\
+ mcelog-ptest \
+"
+RDEPENDS_packagegroup-meta-oe-ptest-packages_remove_arm = "numactl-ptest"
diff --git a/meta-oe/recipes-core/toybox/toybox_0.7.5.bb b/meta-oe/recipes-core/toybox/toybox_0.7.5.bb
index 7e8e7b2eaa..1ea868f672 100644
--- a/meta-oe/recipes-core/toybox/toybox_0.7.5.bb
+++ b/meta-oe/recipes-core/toybox/toybox_0.7.5.bb
@@ -60,7 +60,7 @@ python do_package_prepend () {
dvar = d.getVar('D')
pn = d.getVar('PN')
- target = "/bin/toybox"
+ target = d.expand("${base_bindir}/toybox")
f = open('%s/etc/toybox.links' % (dvar), 'r')
for alt_link_name in f:
diff --git a/meta-oe/recipes-dbs/mysql/mariadb-native_5.5.62.bb b/meta-oe/recipes-dbs/mysql/mariadb-native_5.5.64.bb
index 4ce960d7da..4ce960d7da 100644
--- a/meta-oe/recipes-dbs/mysql/mariadb-native_5.5.62.bb
+++ b/meta-oe/recipes-dbs/mysql/mariadb-native_5.5.64.bb
diff --git a/meta-oe/recipes-dbs/mysql/mariadb.inc b/meta-oe/recipes-dbs/mysql/mariadb.inc
index 8ca5b2ba42..f51667d945 100644
--- a/meta-oe/recipes-dbs/mysql/mariadb.inc
+++ b/meta-oe/recipes-dbs/mysql/mariadb.inc
@@ -4,7 +4,7 @@ SECTION = "libs"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-SRC_URI = "https://downloads.mariadb.org/f/${BP}/source/${BP}.tar.gz \
+SRC_URI = "http://archive.mariadb.org/${BP}/source/${BP}.tar.gz \
file://fix-cmake-module-path.patch \
file://remove-bad-path.patch \
file://fix-mysqlclient-r-version.patch \
@@ -18,8 +18,8 @@ SRC_URI = "https://downloads.mariadb.org/f/${BP}/source/${BP}.tar.gz \
file://change-cc-to-cc-version.patch \
file://0001-disable-ucontext-on-musl.patch \
"
-SRC_URI[md5sum] = "6375d577e9539b839f44d857e70f82b9"
-SRC_URI[sha256sum] = "56a365af71b8a9ec8bfee0801e2dec95011da8ee7507986ca329be11296411db"
+SRC_URI[md5sum] = "03968ae08cff3038e2420921ef257550"
+SRC_URI[sha256sum] = "c103f3c54741b296980d6be48b221340eebaa97c6bd95a02fd8d530a5df5c343"
UPSTREAM_CHECK_URI = "https://github.com/MariaDB/server/releases"
diff --git a/meta-oe/recipes-dbs/mysql/mariadb_5.5.62.bb b/meta-oe/recipes-dbs/mysql/mariadb_5.5.64.bb
index d7895732a6..d7895732a6 100644
--- a/meta-oe/recipes-dbs/mysql/mariadb_5.5.62.bb
+++ b/meta-oe/recipes-dbs/mysql/mariadb_5.5.64.bb
diff --git a/meta-oe/recipes-dbs/postgresql/files/0001-Sync-our-copy-of-the-timezone-library-with-IANA-rele.patch b/meta-oe/recipes-dbs/postgresql/files/0001-Sync-our-copy-of-the-timezone-library-with-IANA-rele.patch
deleted file mode 100644
index 6d8c46e748..0000000000
--- a/meta-oe/recipes-dbs/postgresql/files/0001-Sync-our-copy-of-the-timezone-library-with-IANA-rele.patch
+++ /dev/null
@@ -1,1164 +0,0 @@
-From 12bfb778ce688fc662a6cb35f6298734fcf4856f Mon Sep 17 00:00:00 2001
-From: Tom Lane <tgl@sss.pgh.pa.us>
-Date: Fri, 19 Oct 2018 19:36:34 -0400
-Subject: [PATCH] Sync our copy of the timezone library with IANA release
- tzcode2018f.
-
-About half of this is purely cosmetic changes to reduce the diff between
-our code and theirs, like inserting "const" markers where they have them.
-
-The other half is tracking actual code changes in zic.c and localtime.c.
-I don't think any of these represent near-term compatibility hazards, but
-it seems best to stay up to date.
-
-I also fixed longstanding bugs in our code for producing the
-known_abbrevs.txt list, which by chance hadn't been exposed before,
-but which resulted in some garbage output after applying the upstream
-changes in zic.c. Notably, because upstream removed their old phony
-transitions at the Big Bang, it's now necessary to cope with TZif files
-containing no DST transition times at all.
-
-Upstream-Status: Backport
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- src/timezone/README | 2 +-
- src/timezone/localtime.c | 126 ++++++++++++------
- src/timezone/pgtz.h | 10 +-
- src/timezone/private.h | 3 +
- src/timezone/strftime.c | 10 +-
- src/timezone/tzfile.h | 7 +-
- src/timezone/zic.c | 330 ++++++++++++++++++++++++++---------------------
- 7 files changed, 291 insertions(+), 197 deletions(-)
-
-Index: postgresql-10.5/src/timezone/README
-===================================================================
---- postgresql-10.5.orig/src/timezone/README
-+++ postgresql-10.5/src/timezone/README
-@@ -55,7 +55,7 @@ match properly on the old version.
- Time Zone code
- ==============
-
--The code in this directory is currently synced with tzcode release 2018e.
-+The code in this directory is currently synced with tzcode release 2018f.
- There are many cosmetic (and not so cosmetic) differences from the
- original tzcode library, but diffs in the upstream version should usually
- be propagated to our version. Here are some notes about that.
-Index: postgresql-10.5/src/timezone/localtime.c
-===================================================================
---- postgresql-10.5.orig/src/timezone/localtime.c
-+++ postgresql-10.5/src/timezone/localtime.c
-@@ -1,3 +1,5 @@
-+/* Convert timestamp from pg_time_t to struct pg_tm. */
-+
- /*
- * This file is in the public domain, so clarified as of
- * 1996-06-05 by Arthur David Olson.
-@@ -117,7 +119,7 @@ init_ttinfo(struct ttinfo *s, int32 gmto
- }
-
- static int32
--detzcode(const char *codep)
-+detzcode(const char *const codep)
- {
- int32 result;
- int i;
-@@ -143,7 +145,7 @@ detzcode(const char *codep)
- }
-
- static int64
--detzcode64(const char *codep)
-+detzcode64(const char *const codep)
- {
- uint64 result;
- int i;
-@@ -258,8 +260,13 @@ tzloadbody(char const *name, char *canon
- int32 charcnt = detzcode(up->tzhead.tzh_charcnt);
- char const *p = up->buf + tzheadsize;
-
-+ /*
-+ * Although tzfile(5) currently requires typecnt to be nonzero,
-+ * support future formats that may allow zero typecnt in files that
-+ * have a TZ string and no transitions.
-+ */
- if (!(0 <= leapcnt && leapcnt < TZ_MAX_LEAPS
-- && 0 < typecnt && typecnt < TZ_MAX_TYPES
-+ && 0 <= typecnt && typecnt < TZ_MAX_TYPES
- && 0 <= timecnt && timecnt < TZ_MAX_TIMES
- && 0 <= charcnt && charcnt < TZ_MAX_CHARS
- && (ttisstdcnt == typecnt || ttisstdcnt == 0)
-@@ -416,8 +423,7 @@ tzloadbody(char const *name, char *canon
- struct state *ts = &lsp->u.st;
-
- up->buf[nread - 1] = '\0';
-- if (tzparse(&up->buf[1], ts, false)
-- && ts->typecnt == 2)
-+ if (tzparse(&up->buf[1], ts, false))
- {
- /*
- * Attempt to reuse existing abbreviations. Without this,
-@@ -430,7 +436,7 @@ tzloadbody(char const *name, char *canon
- int gotabbr = 0;
- int charcnt = sp->charcnt;
-
-- for (i = 0; i < 2; i++)
-+ for (i = 0; i < ts->typecnt; i++)
- {
- char *tsabbr = ts->chars + ts->ttis[i].tt_abbrind;
- int j;
-@@ -455,7 +461,7 @@ tzloadbody(char const *name, char *canon
- }
- }
- }
-- if (gotabbr == 2)
-+ if (gotabbr == ts->typecnt)
- {
- sp->charcnt = charcnt;
-
-@@ -470,7 +476,8 @@ tzloadbody(char const *name, char *canon
- sp->timecnt--;
-
- for (i = 0; i < ts->timecnt; i++)
-- if (sp->ats[sp->timecnt - 1] < ts->ats[i])
-+ if (sp->timecnt == 0
-+ || sp->ats[sp->timecnt - 1] < ts->ats[i])
- break;
- while (i < ts->timecnt
- && sp->timecnt < TZ_MAX_TIMES)
-@@ -481,11 +488,13 @@ tzloadbody(char const *name, char *canon
- sp->timecnt++;
- i++;
- }
-- sp->ttis[sp->typecnt++] = ts->ttis[0];
-- sp->ttis[sp->typecnt++] = ts->ttis[1];
-+ for (i = 0; i < ts->typecnt; i++)
-+ sp->ttis[sp->typecnt++] = ts->ttis[i];
- }
- }
- }
-+ if (sp->typecnt == 0)
-+ return EINVAL;
- if (sp->timecnt > 1)
- {
- for (i = 1; i < sp->timecnt; ++i)
-@@ -507,6 +516,18 @@ tzloadbody(char const *name, char *canon
- }
-
- /*
-+ * Infer sp->defaulttype from the data. Although this default type is
-+ * always zero for data from recent tzdb releases, things are trickier for
-+ * data from tzdb 2018e or earlier.
-+ *
-+ * The first set of heuristics work around bugs in 32-bit data generated
-+ * by tzdb 2013c or earlier. The workaround is for zones like
-+ * Australia/Macquarie where timestamps before the first transition have a
-+ * time type that is not the earliest standard-time type. See:
-+ * https://mm.icann.org/pipermail/tz/2013-May/019368.html
-+ */
-+
-+ /*
- * If type 0 is unused in transitions, it's the type to use for early
- * times.
- */
-@@ -529,6 +550,11 @@ tzloadbody(char const *name, char *canon
- }
-
- /*
-+ * The next heuristics are for data generated by tzdb 2018e or earlier,
-+ * for zones like EST5EDT where the first transition is to DST.
-+ */
-+
-+ /*
- * If no result yet, find the first standard type. If there is none, punt
- * to type zero.
- */
-@@ -542,7 +568,14 @@ tzloadbody(char const *name, char *canon
- break;
- }
- }
-+
-+ /*
-+ * A simple 'sp->defaulttype = 0;' would suffice here if we didn't have to
-+ * worry about 2018e-or-earlier data. Even simpler would be to remove the
-+ * defaulttype member and just use 0 in its place.
-+ */
- sp->defaulttype = i;
-+
- return 0;
- }
-
-@@ -601,10 +634,11 @@ static const int year_lengths[2] = {
- };
-
- /*
-- * Given a pointer into a time zone string, scan until a character that is not
-- * a valid character in a zone name is found. Return a pointer to that
-- * character.
-+ * Given a pointer into a timezone string, scan until a character that is not
-+ * a valid character in a time zone abbreviation is found.
-+ * Return a pointer to that character.
- */
-+
- static const char *
- getzname(const char *strp)
- {
-@@ -617,15 +651,17 @@ getzname(const char *strp)
- }
-
- /*
-- * Given a pointer into an extended time zone string, scan until the ending
-- * delimiter of the zone name is located. Return a pointer to the delimiter.
-+ * Given a pointer into an extended timezone string, scan until the ending
-+ * delimiter of the time zone abbreviation is located.
-+ * Return a pointer to the delimiter.
- *
- * As with getzname above, the legal character set is actually quite
- * restricted, with other characters producing undefined results.
- * We don't do any checking here; checking is done later in common-case code.
- */
-+
- static const char *
--getqzname(const char *strp, int delim)
-+getqzname(const char *strp, const int delim)
- {
- int c;
-
-@@ -635,13 +671,14 @@ getqzname(const char *strp, int delim)
- }
-
- /*
-- * Given a pointer into a time zone string, extract a number from that string.
-+ * Given a pointer into a timezone string, extract a number from that string.
- * Check that the number is within a specified range; if it is not, return
- * NULL.
- * Otherwise, return a pointer to the first character not part of the number.
- */
-+
- static const char *
--getnum(const char *strp, int *nump, int min, int max)
-+getnum(const char *strp, int *const nump, const int min, const int max)
- {
- char c;
- int num;
-@@ -663,14 +700,15 @@ getnum(const char *strp, int *nump, int
- }
-
- /*
-- * Given a pointer into a time zone string, extract a number of seconds,
-+ * Given a pointer into a timezone string, extract a number of seconds,
- * in hh[:mm[:ss]] form, from the string.
- * If any error occurs, return NULL.
- * Otherwise, return a pointer to the first character not part of the number
- * of seconds.
- */
-+
- static const char *
--getsecs(const char *strp, int32 *secsp)
-+getsecs(const char *strp, int32 *const secsp)
- {
- int num;
-
-@@ -704,13 +742,14 @@ getsecs(const char *strp, int32 *secsp)
- }
-
- /*
-- * Given a pointer into a time zone string, extract an offset, in
-+ * Given a pointer into a timezone string, extract an offset, in
- * [+-]hh[:mm[:ss]] form, from the string.
- * If any error occurs, return NULL.
- * Otherwise, return a pointer to the first character not part of the time.
- */
-+
- static const char *
--getoffset(const char *strp, int32 *offsetp)
-+getoffset(const char *strp, int32 *const offsetp)
- {
- bool neg = false;
-
-@@ -730,13 +769,14 @@ getoffset(const char *strp, int32 *offse
- }
-
- /*
-- * Given a pointer into a time zone string, extract a rule in the form
-+ * Given a pointer into a timezone string, extract a rule in the form
- * date[/time]. See POSIX section 8 for the format of "date" and "time".
- * If a valid rule is not found, return NULL.
- * Otherwise, return a pointer to the first character not part of the rule.
- */
-+
- static const char *
--getrule(const char *strp, struct rule *rulep)
-+getrule(const char *strp, struct rule *const rulep)
- {
- if (*strp == 'J')
- {
-@@ -795,9 +835,10 @@ getrule(const char *strp, struct rule *r
- * Given a year, a rule, and the offset from UT at the time that rule takes
- * effect, calculate the year-relative time that rule takes effect.
- */
-+
- static int32
--transtime(int year, const struct rule *rulep,
-- int32 offset)
-+transtime(const int year, const struct rule *const rulep,
-+ const int32 offset)
- {
- bool leapyear;
- int32 value;
-@@ -981,7 +1022,7 @@ tzparse(const char *name, struct state *
- {
- dstname = name;
- name = getzname(name);
-- dstlen = name - dstname; /* length of DST zone name */
-+ dstlen = name - dstname; /* length of DST abbr. */
- }
- if (!dstlen)
- return false;
-@@ -1023,8 +1064,8 @@ tzparse(const char *name, struct state *
- /*
- * Two transitions per year, from EPOCH_YEAR forward.
- */
-- init_ttinfo(&sp->ttis[0], -dstoffset, true, stdlen + 1);
-- init_ttinfo(&sp->ttis[1], -stdoffset, false, 0);
-+ init_ttinfo(&sp->ttis[0], -stdoffset, false, 0);
-+ init_ttinfo(&sp->ttis[1], -dstoffset, true, stdlen + 1);
- sp->defaulttype = 0;
- timecnt = 0;
- janfirst = 0;
-@@ -1073,19 +1114,15 @@ tzparse(const char *name, struct state *
- if (!increment_overflow_time
- (&sp->ats[timecnt],
- janoffset + starttime))
-- sp->types[timecnt++] = reversed;
-- else if (janoffset)
-- sp->defaulttype = reversed;
-+ sp->types[timecnt++] = !reversed;
- sp->ats[timecnt] = janfirst;
- if (!increment_overflow_time
- (&sp->ats[timecnt],
- janoffset + endtime))
- {
-- sp->types[timecnt++] = !reversed;
-+ sp->types[timecnt++] = reversed;
- yearlim = year + YEARSPERREPEAT + 1;
- }
-- else if (janoffset)
-- sp->defaulttype = !reversed;
- }
- if (increment_overflow_time
- (&janfirst, janoffset + yearsecs))
-@@ -1094,7 +1131,10 @@ tzparse(const char *name, struct state *
- }
- sp->timecnt = timecnt;
- if (!timecnt)
-+ {
-+ sp->ttis[0] = sp->ttis[1];
- sp->typecnt = 1; /* Perpetual DST. */
-+ }
- else if (YEARSPERREPEAT < year - yearbeg)
- sp->goback = sp->goahead = true;
- }
-@@ -1163,7 +1203,6 @@ tzparse(const char *name, struct state *
- * otherwise, add the standard time offset to the
- * transition time.
- */
--
- /*
- * Transitions from DST to DDST will effectively disappear
- * since POSIX provides for only one DST offset.
-@@ -1217,7 +1256,7 @@ tzparse(const char *name, struct state *
- }
-
- static void
--gmtload(struct state *sp)
-+gmtload(struct state *const sp)
- {
- if (tzload(gmt, NULL, sp, true) != 0)
- tzparse(gmt, sp, true);
-@@ -1232,7 +1271,7 @@ gmtload(struct state *sp)
- */
- static struct pg_tm *
- localsub(struct state const *sp, pg_time_t const *timep,
-- struct pg_tm *tmp)
-+ struct pg_tm *const tmp)
- {
- const struct ttinfo *ttisp;
- int i;
-@@ -1300,6 +1339,11 @@ localsub(struct state const *sp, pg_time
- }
- ttisp = &sp->ttis[i];
-
-+ /*
-+ * To get (wrong) behavior that's compatible with System V Release 2.0
-+ * you'd replace the statement below with t += ttisp->tt_gmtoff;
-+ * timesub(&t, 0L, sp, tmp);
-+ */
- result = timesub(&t, ttisp->tt_gmtoff, sp, tmp);
- if (result)
- {
-@@ -1322,8 +1366,10 @@ pg_localtime(const pg_time_t *timep, con
- *
- * Except we have a private "struct state" for GMT, so no sp is passed in.
- */
-+
- static struct pg_tm *
--gmtsub(pg_time_t const *timep, int32 offset, struct pg_tm *tmp)
-+gmtsub(pg_time_t const *timep, int32 offset,
-+ struct pg_tm *tmp)
- {
- struct pg_tm *result;
-
-@@ -1337,6 +1383,7 @@ gmtsub(pg_time_t const *timep, int32 off
- gmt_is_set = true;
- gmtload(gmtptr);
- }
-+
- result = timesub(timep, offset, gmtptr, tmp);
-
- /*
-@@ -1361,6 +1408,7 @@ pg_gmtime(const pg_time_t *timep)
- * Return the number of leap years through the end of the given year
- * where, to make the math easy, the answer for year zero is defined as zero.
- */
-+
- static int
- leaps_thru_end_of_nonneg(int y)
- {
-Index: postgresql-10.5/src/timezone/pgtz.h
-===================================================================
---- postgresql-10.5.orig/src/timezone/pgtz.h
-+++ postgresql-10.5/src/timezone/pgtz.h
-@@ -49,10 +49,16 @@ struct state
- pg_time_t ats[TZ_MAX_TIMES];
- unsigned char types[TZ_MAX_TIMES];
- struct ttinfo ttis[TZ_MAX_TYPES];
-- char chars[BIGGEST(BIGGEST(TZ_MAX_CHARS + 1, 3 /* sizeof gmt */ ),
-+ char chars[BIGGEST(BIGGEST(TZ_MAX_CHARS + 1, 4 /* sizeof gmt */ ),
- (2 * (TZ_STRLEN_MAX + 1)))];
- struct lsinfo lsis[TZ_MAX_LEAPS];
-- int defaulttype; /* for early times or if no transitions */
-+
-+ /*
-+ * The time type to use for early times or if no transitions. It is always
-+ * zero for recent tzdb releases. It might be nonzero for data from tzdb
-+ * 2018e or earlier.
-+ */
-+ int defaulttype;
- };
-
-
-Index: postgresql-10.5/src/timezone/private.h
-===================================================================
---- postgresql-10.5.orig/src/timezone/private.h
-+++ postgresql-10.5/src/timezone/private.h
-@@ -1,4 +1,7 @@
-+/* Private header for tzdb code. */
-+
- #ifndef PRIVATE_H
-+
- #define PRIVATE_H
-
- /*
-Index: postgresql-10.5/src/timezone/strftime.c
-===================================================================
---- postgresql-10.5.orig/src/timezone/strftime.c
-+++ postgresql-10.5/src/timezone/strftime.c
-@@ -1,4 +1,4 @@
--/* Convert a broken-down timestamp to a string. */
-+/* Convert a broken-down timestamp to a string. */
-
- /*
- * Copyright 1989 The Regents of the University of California.
-@@ -115,7 +115,7 @@ static char *_add(const char *, char *,
- static char *_conv(int, const char *, char *, const char *);
- static char *_fmt(const char *, const struct pg_tm *, char *, const char *,
- enum warn *);
--static char *_yconv(int, int, bool, bool, char *, const char *);
-+static char *_yconv(int, int, bool, bool, char *, char const *);
-
-
- size_t
-@@ -441,7 +441,8 @@ _fmt(const char *format, const struct pg
-
- /*
- * C99 and later say that %Z must be replaced by the empty
-- * string if the time zone is not determinable.
-+ * string if the time zone abbreviation is not
-+ * determinable.
- */
- continue;
- case 'z':
-@@ -519,6 +520,7 @@ _add(const char *str, char *pt, const ch
- * same output as %Y, and that %Y contains at least 4 bytes,
- * with more only if necessary.
- */
-+
- static char *
- _yconv(int a, int b, bool convert_top, bool convert_yy,
- char *pt, const char *ptlim)
-@@ -526,7 +528,7 @@ _yconv(int a, int b, bool convert_top, b
- int lead;
- int trail;
-
--#define DIVISOR 100
-+#define DIVISOR 100
- trail = a % DIVISOR + b % DIVISOR;
- lead = a / DIVISOR + b / DIVISOR + trail / DIVISOR;
- trail %= DIVISOR;
-Index: postgresql-10.5/src/timezone/tzfile.h
-===================================================================
---- postgresql-10.5.orig/src/timezone/tzfile.h
-+++ postgresql-10.5/src/timezone/tzfile.h
-@@ -1,4 +1,7 @@
-+/* Layout and location of TZif files. */
-+
- #ifndef TZFILE_H
-+
- #define TZFILE_H
-
- /*
-@@ -21,14 +24,14 @@
- * Information about time zone files.
- */
-
--#define TZDEFAULT "localtime"
-+#define TZDEFAULT "/etc/localtime"
- #define TZDEFRULES "posixrules"
-
- /*
- * Each file begins with. . .
- */
-
--#define TZ_MAGIC "TZif"
-+#define TZ_MAGIC "TZif"
-
- struct tzhead
- {
-Index: postgresql-10.5/src/timezone/zic.c
-===================================================================
---- postgresql-10.5.orig/src/timezone/zic.c
-+++ postgresql-10.5/src/timezone/zic.c
-@@ -1,3 +1,5 @@
-+/* Compile .zi time zone data into TZif binary files. */
-+
- /*
- * This file is in the public domain, so clarified as of
- * 2006-07-17 by Arthur David Olson.
-@@ -130,8 +132,7 @@ static void adjleap(void);
- static void associate(void);
- static void dolink(const char *, const char *, bool);
- static char **getfields(char *buf);
--static zic_t gethms(const char *string, const char *errstring,
-- bool);
-+static zic_t gethms(const char *string, const char *errstring);
- static zic_t getstdoff(char *, bool *);
- static void infile(const char *filename);
- static void inleap(char **fields, int nfields);
-@@ -162,7 +163,7 @@ enum
- PERCENT_Z_LEN_BOUND = sizeof "+995959" - 1};
-
- /* If true, work around a bug in Qt 5.6.1 and earlier, which mishandles
-- tz binary files whose POSIX-TZ-style strings contain '<'; see
-+ TZif files whose POSIX-TZ-style strings contain '<'; see
- QTBUG-53071 <https://bugreports.qt.io/browse/QTBUG-53071>. This
- workaround will no longer be needed when Qt 5.6.1 and earlier are
- obsolete, say in the year 2021. */
-@@ -211,7 +212,7 @@ static int typecnt;
- #define ZF_RULE 3
- #define ZF_FORMAT 4
- #define ZF_TILYEAR 5
--#define ZF_TILMONTH 6
-+#define ZF_TILMONTH 6
- #define ZF_TILDAY 7
- #define ZF_TILTIME 8
- #define ZONE_MINFIELDS 5
-@@ -224,12 +225,12 @@ static int typecnt;
- #define ZFC_GMTOFF 0
- #define ZFC_RULE 1
- #define ZFC_FORMAT 2
--#define ZFC_TILYEAR 3
-+#define ZFC_TILYEAR 3
- #define ZFC_TILMONTH 4
- #define ZFC_TILDAY 5
--#define ZFC_TILTIME 6
--#define ZONEC_MINFIELDS 3
--#define ZONEC_MAXFIELDS 7
-+#define ZFC_TILTIME 6
-+#define ZONEC_MINFIELDS 3
-+#define ZONEC_MAXFIELDS 7
-
- /*
- * Which files are which on a Rule line.
-@@ -244,7 +245,7 @@ static int typecnt;
- #define RF_TOD 7
- #define RF_STDOFF 8
- #define RF_ABBRVAR 9
--#define RULE_FIELDS 10
-+#define RULE_FIELDS 10
-
- /*
- * Which fields are which on a Link line.
-@@ -252,7 +253,7 @@ static int typecnt;
-
- #define LF_FROM 1
- #define LF_TO 2
--#define LINK_FIELDS 3
-+#define LINK_FIELDS 3
-
- /*
- * Which fields are which on a Leap line.
-@@ -264,7 +265,7 @@ static int typecnt;
- #define LP_TIME 4
- #define LP_CORR 5
- #define LP_ROLL 6
--#define LEAP_FIELDS 7
-+#define LEAP_FIELDS 7
-
- /*
- * Year synonyms.
-@@ -998,48 +999,6 @@ dolink(char const *fromfield, char const
- static zic_t const min_time = MINVAL(zic_t, TIME_T_BITS_IN_FILE);
- static zic_t const max_time = MAXVAL(zic_t, TIME_T_BITS_IN_FILE);
-
--/*
-- * Estimated time of the Big Bang, in seconds since the POSIX epoch.
-- * rounded downward to the negation of a power of two that is
-- * comfortably outside the error bounds.
-- *
-- * For the time of the Big Bang, see:
-- *
-- * Ade PAR, Aghanim N, Armitage-Caplan C et al. Planck 2013 results.
-- * I. Overview of products and scientific results.
-- * arXiv:1303.5062 2013-03-20 20:10:01 UTC
-- * <https://arxiv.org/pdf/1303.5062v1> [PDF]
-- *
-- * Page 36, Table 9, row Age/Gyr, column Planck+WP+highL+BAO 68% limits
-- * gives the value 13.798 plus-or-minus 0.037 billion years.
-- * Multiplying this by 1000000000 and then by 31557600 (the number of
-- * seconds in an astronomical year) gives a value that is comfortably
-- * less than 2**59, so BIG_BANG is - 2**59.
-- *
-- * BIG_BANG is approximate, and may change in future versions.
-- * Please do not rely on its exact value.
-- */
--
--#ifndef BIG_BANG
--#define BIG_BANG (- (((zic_t) 1) << 59))
--#endif
--
--/* If true, work around GNOME bug 730332
-- <https://bugzilla.gnome.org/show_bug.cgi?id=730332>
-- by refusing to output time stamps before BIG_BANG.
-- Such time stamps are physically suspect anyway.
--
-- The GNOME bug is scheduled to be fixed in GNOME 3.22, and if so
-- this workaround will no longer be needed when GNOME 3.21 and
-- earlier are obsolete, say in the year 2021. */
--enum
--{
--WORK_AROUND_GNOME_BUG_730332 = true};
--
--static const zic_t early_time = (WORK_AROUND_GNOME_BUG_730332
-- ? BIG_BANG
-- : MINVAL(zic_t, TIME_T_BITS_IN_FILE));
--
- /* Return true if NAME is a directory. */
- static bool
- itsdir(char const *name)
-@@ -1281,8 +1240,9 @@ infile(const char *name)
- * A null string maps to zero.
- * Call error with errstring and return zero on errors.
- */
-+
- static zic_t
--gethms(char const *string, char const *errstring, bool signable)
-+gethms(char const *string, char const *errstring)
- {
- /* PG: make hh be int not zic_t to avoid sscanf portability issues */
- int hh;
-@@ -1299,9 +1259,7 @@ gethms(char const *string, char const *e
-
- if (string == NULL || *string == '\0')
- return 0;
-- if (!signable)
-- sign = 1;
-- else if (*string == '-')
-+ if (*string == '-')
- {
- sign = -1;
- ++string;
-@@ -1384,7 +1342,7 @@ getstdoff(char *field, bool *isdst)
- break;
- }
- }
-- stdoff = gethms(field, _("invalid saved time"), true);
-+ stdoff = gethms(field, _("invalid saved time"));
- *isdst = dst < 0 ? stdoff != 0 : dst;
- return stdoff;
- }
-@@ -1399,10 +1357,29 @@ inrule(char **fields, int nfields)
- error(_("wrong number of fields on Rule line"));
- return;
- }
-- if (*fields[RF_NAME] == '\0')
-+ switch (*fields[RF_NAME])
- {
-- error(_("nameless rule"));
-- return;
-+ case '\0':
-+ case ' ':
-+ case '\f':
-+ case '\n':
-+ case '\r':
-+ case '\t':
-+ case '\v':
-+ case '+':
-+ case '-':
-+ case '0':
-+ case '1':
-+ case '2':
-+ case '3':
-+ case '4':
-+ case '5':
-+ case '6':
-+ case '7':
-+ case '8':
-+ case '9':
-+ error(_("Invalid rule name \"%s\""), fields[RF_NAME]);
-+ return;
- }
- r.r_filename = filename;
- r.r_linenum = linenum;
-@@ -1507,7 +1484,7 @@ inzsub(char **fields, int nfields, bool
- }
- z.z_filename = filename;
- z.z_linenum = linenum;
-- z.z_gmtoff = gethms(fields[i_gmtoff], _("invalid UT offset"), true);
-+ z.z_gmtoff = gethms(fields[i_gmtoff], _("invalid UT offset"));
- if ((cp = strchr(fields[i_format], '%')) != NULL)
- {
- if ((*++cp != 's' && *cp != 'z') || strchr(cp, '%')
-@@ -1649,7 +1626,7 @@ inleap(char **fields, int nfields)
- return;
- }
- t = dayoff * SECSPERDAY;
-- tod = gethms(fields[LP_TIME], _("invalid time of day"), false);
-+ tod = gethms(fields[LP_TIME], _("invalid time of day"));
- cp = fields[LP_CORR];
- {
- bool positive;
-@@ -1757,7 +1734,7 @@ rulesub(struct rule *rp, const char *loy
- break;
- }
- }
-- rp->r_tod = gethms(dp, _("invalid time of day"), false);
-+ rp->r_tod = gethms(dp, _("invalid time of day"));
- free(dp);
-
- /*
-@@ -1942,7 +1919,43 @@ is32(const zic_t x)
- }
-
- static void
--writezone(const char *const name, const char *const string, char version)
-+swaptypes(int i, int j)
-+{
-+ {
-+ zic_t t = gmtoffs[i];
-+
-+ gmtoffs[i] = gmtoffs[j];
-+ gmtoffs[j] = t;
-+ }
-+ {
-+ char t = isdsts[i];
-+
-+ isdsts[i] = isdsts[j];
-+ isdsts[j] = t;
-+ }
-+ {
-+ unsigned char t = abbrinds[i];
-+
-+ abbrinds[i] = abbrinds[j];
-+ abbrinds[j] = t;
-+ }
-+ {
-+ bool t = ttisstds[i];
-+
-+ ttisstds[i] = ttisstds[j];
-+ ttisstds[j] = t;
-+ }
-+ {
-+ bool t = ttisgmts[i];
-+
-+ ttisgmts[i] = ttisgmts[j];
-+ ttisgmts[j] = t;
-+ }
-+}
-+
-+static void
-+writezone(const char *const name, const char *const string, char version,
-+ int defaulttype)
- {
- FILE *fp;
- ptrdiff_t i,
-@@ -1977,14 +1990,12 @@ writezone(const char *const name, const
-
- toi = 0;
- fromi = 0;
-- while (fromi < timecnt && attypes[fromi].at < early_time)
-- ++fromi;
- for (; fromi < timecnt; ++fromi)
- {
-- if (toi > 1 && ((attypes[fromi].at +
-- gmtoffs[attypes[toi - 1].type]) <=
-- (attypes[toi - 1].at +
-- gmtoffs[attypes[toi - 2].type])))
-+ if (toi != 0 && ((attypes[fromi].at +
-+ gmtoffs[attypes[toi - 1].type]) <=
-+ (attypes[toi - 1].at + gmtoffs[toi == 1 ? 0
-+ : attypes[toi - 2].type])))
- {
- attypes[toi - 1].type =
- attypes[fromi].type;
-@@ -2019,8 +2030,8 @@ writezone(const char *const name, const
- }
-
- /*
-- * Work around QTBUG-53071 for time stamps less than y2038_boundary - 1,
-- * by inserting a no-op transition at time y2038_boundary - 1. This works
-+ * Work around QTBUG-53071 for timestamps less than y2038_boundary - 1, by
-+ * inserting a no-op transition at time y2038_boundary - 1. This works
- * only for timestamps before the boundary, which should be good enough in
- * practice as QTBUG-53071 should be long-dead by 2038.
- */
-@@ -2116,7 +2127,8 @@ writezone(const char *const name, const
- int thisleapi,
- thisleapcnt,
- thisleaplim;
-- int writetype[TZ_MAX_TYPES];
-+ int old0;
-+ char omittype[TZ_MAX_TYPES];
- int typemap[TZ_MAX_TYPES];
- int thistypecnt;
- char thischars[TZ_MAX_CHARS];
-@@ -2144,28 +2156,19 @@ writezone(const char *const name, const
- error(_("too many transition times"));
- thistimelim = thistimei + thistimecnt;
- thisleaplim = thisleapi + thisleapcnt;
-- for (i = 0; i < typecnt; ++i)
-- writetype[i] = thistimecnt == timecnt;
-- if (thistimecnt == 0)
-- {
-- /*
-- * No transition times fall in the current (32- or 64-bit) window.
-- */
-- if (typecnt != 0)
-- writetype[typecnt - 1] = true;
-- }
-- else
-- {
-- for (i = thistimei - 1; i < thistimelim; ++i)
-- if (i >= 0)
-- writetype[types[i]] = true;
-+ memset(omittype, true, typecnt);
-+ omittype[defaulttype] = false;
-+ for (i = thistimei; i < thistimelim; i++)
-+ omittype[types[i]] = false;
-+
-+ /*
-+ * Reorder types to make DEFAULTTYPE type 0. Use TYPEMAP to swap OLD0
-+ * and DEFAULTTYPE so that DEFAULTTYPE appears as type 0 in the output
-+ * instead of OLD0. TYPEMAP also omits unused types.
-+ */
-+ old0 = strlen(omittype);
-+ swaptypes(old0, defaulttype);
-
-- /*
-- * For America/Godthab and Antarctica/Palmer
-- */
-- if (thistimei == 0)
-- writetype[0] = true;
-- }
- #ifndef LEAVE_SOME_PRE_2011_SYSTEMS_IN_THE_LURCH
-
- /*
-@@ -2187,8 +2190,8 @@ writezone(const char *const name, const
- mrudst = types[i];
- else
- mrustd = types[i];
-- for (i = 0; i < typecnt; ++i)
-- if (writetype[i])
-+ for (i = old0; i < typecnt; i++)
-+ if (!omittype[i])
- {
- if (isdsts[i])
- hidst = i;
-@@ -2205,7 +2208,7 @@ writezone(const char *const name, const
- ttisstds[mrudst],
- ttisgmts[mrudst]);
- isdsts[mrudst] = 1;
-- writetype[type] = true;
-+ omittype[type] = false;
- }
- if (histd >= 0 && mrustd >= 0 && histd != mrustd &&
- gmtoffs[histd] != gmtoffs[mrustd])
-@@ -2217,22 +2220,26 @@ writezone(const char *const name, const
- ttisstds[mrustd],
- ttisgmts[mrustd]);
- isdsts[mrustd] = 0;
-- writetype[type] = true;
-+ omittype[type] = false;
- }
- }
- #endif /* !defined
- * LEAVE_SOME_PRE_2011_SYSTEMS_IN_THE_LURCH */
- thistypecnt = 0;
-- for (i = 0; i < typecnt; ++i)
-- typemap[i] = writetype[i] ? thistypecnt++ : -1;
-+ for (i = old0; i < typecnt; i++)
-+ if (!omittype[i])
-+ typemap[i == old0 ? defaulttype
-+ : i == defaulttype ? old0 : i]
-+ = thistypecnt++;
-+
- for (i = 0; i < sizeof indmap / sizeof indmap[0]; ++i)
- indmap[i] = -1;
- thischarcnt = 0;
-- for (i = 0; i < typecnt; ++i)
-+ for (i = old0; i < typecnt; i++)
- {
- char *thisabbr;
-
-- if (!writetype[i])
-+ if (omittype[i])
- continue;
- if (indmap[abbrinds[i]] >= 0)
- continue;
-@@ -2267,23 +2274,16 @@ writezone(const char *const name, const
- DO(tzh_typecnt);
- DO(tzh_charcnt);
- #undef DO
-- for (i = thistimei; i < thistimelim; ++i)
-- if (pass == 1)
-
-- /*
-- * Output an INT32_MIN "transition" if appropriate; see above.
-- */
-- puttzcode(((ats[i] < PG_INT32_MIN) ?
-- PG_INT32_MIN : ats[i]), fp);
-- else
-+ /* PG: print current timezone abbreviations if requested */
-+ if (print_abbrevs && pass == 2)
-+ {
-+ /* Print "type" data for periods ending after print_cutoff */
-+ for (i = thistimei; i < thistimelim; ++i)
- {
-- puttzcode64(ats[i], fp);
--
-- /* Print current timezone abbreviations if requested */
-- if (print_abbrevs &&
-- (i == thistimelim - 1 || ats[i + 1] > print_cutoff))
-+ if (i == thistimelim - 1 || ats[i + 1] > print_cutoff)
- {
-- unsigned char tm = typemap[types[i]];
-+ unsigned char tm = types[i];
- char *thisabbrev = &thischars[indmap[abbrinds[tm]]];
-
- /* filter out assorted junk entries */
-@@ -2295,6 +2295,32 @@ writezone(const char *const name, const
- isdsts[tm] ? "\tD" : "");
- }
- }
-+ /* Print the default type if we have no transitions at all */
-+ if (thistimei >= thistimelim)
-+ {
-+ unsigned char tm = defaulttype;
-+ char *thisabbrev = &thischars[indmap[abbrinds[tm]]];
-+
-+ /* filter out assorted junk entries */
-+ if (strcmp(thisabbrev, GRANDPARENTED) != 0 &&
-+ strcmp(thisabbrev, "zzz") != 0)
-+ fprintf(stdout, "%s\t" INT64_FORMAT "%s\n",
-+ thisabbrev,
-+ gmtoffs[tm],
-+ isdsts[tm] ? "\tD" : "");
-+ }
-+ }
-+
-+ for (i = thistimei; i < thistimelim; ++i)
-+ if (pass == 1)
-+
-+ /*
-+ * Output an INT32_MIN "transition" if appropriate; see above.
-+ */
-+ puttzcode(((ats[i] < PG_INT32_MIN) ?
-+ PG_INT32_MIN : ats[i]), fp);
-+ else
-+ puttzcode64(ats[i], fp);
- for (i = thistimei; i < thistimelim; ++i)
- {
- unsigned char uc;
-@@ -2302,8 +2328,8 @@ writezone(const char *const name, const
- uc = typemap[types[i]];
- fwrite(&uc, sizeof uc, 1, fp);
- }
-- for (i = 0; i < typecnt; ++i)
-- if (writetype[i])
-+ for (i = old0; i < typecnt; i++)
-+ if (!omittype[i])
- {
- puttzcode(gmtoffs[i], fp);
- putc(isdsts[i], fp);
-@@ -2346,12 +2372,13 @@ writezone(const char *const name, const
- puttzcode64(todo, fp);
- puttzcode(corr[i], fp);
- }
-- for (i = 0; i < typecnt; ++i)
-- if (writetype[i])
-+ for (i = old0; i < typecnt; i++)
-+ if (!omittype[i])
- putc(ttisstds[i], fp);
-- for (i = 0; i < typecnt; ++i)
-- if (writetype[i])
-+ for (i = old0; i < typecnt; i++)
-+ if (!omittype[i])
- putc(ttisgmts[i], fp);
-+ swaptypes(old0, defaulttype);
- }
- fprintf(fp, "\n%s\n", string);
- close_file(fp, directory, name);
-@@ -2757,6 +2784,7 @@ outzone(const struct zone *zpfirst, ptrd
- zic_t one = 1;
- zic_t y2038_boundary = one << 31;
- zic_t max_year0;
-+ int defaulttype = -1;
-
- max_abbr_len = 2 + max_format_len + max_abbrvar_len;
- max_envvar_len = 2 * max_abbr_len + 5 * 9;
-@@ -2880,9 +2908,9 @@ outzone(const struct zone *zpfirst, ptrd
- */
- stdoff = 0;
- zp = &zpfirst[i];
-- usestart = i > 0 && (zp - 1)->z_untiltime > early_time;
-+ usestart = i > 0 && (zp - 1)->z_untiltime > min_time;
- useuntil = i < (zonecount - 1);
-- if (useuntil && zp->z_untiltime <= early_time)
-+ if (useuntil && zp->z_untiltime <= min_time)
- continue;
- gmtoff = zp->z_gmtoff;
- eat(zp->z_filename, zp->z_linenum);
-@@ -2901,7 +2929,7 @@ outzone(const struct zone *zpfirst, ptrd
- usestart = false;
- }
- else
-- addtt(early_time, type);
-+ defaulttype = type;
- }
- else
- for (year = min_year; year <= max_year; ++year)
-@@ -3032,6 +3060,8 @@ outzone(const struct zone *zpfirst, ptrd
- offset = oadd(zp->z_gmtoff, rp->r_stdoff);
- type = addtype(offset, ab, rp->r_isdst,
- rp->r_todisstd, rp->r_todisgmt);
-+ if (defaulttype < 0 && !rp->r_isdst)
-+ defaulttype = type;
- if (rp->r_hiyear == ZIC_MAX
- && !(0 <= lastatmax
- && ktime < attypes[lastatmax].at))
-@@ -3050,11 +3080,15 @@ outzone(const struct zone *zpfirst, ptrd
- if (*startbuf == '\0')
- error(_("cannot determine time zone abbreviation to use just after until time"));
- else
-- addtt(starttime,
-- addtype(startoff, startbuf,
-- startoff != zp->z_gmtoff,
-- startttisstd,
-- startttisgmt));
-+ {
-+ bool isdst = startoff != zp->z_gmtoff;
-+
-+ type = addtype(startoff, startbuf, isdst,
-+ startttisstd, startttisgmt);
-+ if (defaulttype < 0 && !isdst)
-+ defaulttype = type;
-+ addtt(starttime, type);
-+ }
- }
-
- /*
-@@ -3071,6 +3105,8 @@ outzone(const struct zone *zpfirst, ptrd
- starttime = tadd(starttime, -gmtoff);
- }
- }
-+ if (defaulttype < 0)
-+ defaulttype = 0;
- if (0 <= lastatmax)
- attypes[lastatmax].dontmerge = true;
- if (do_extend)
-@@ -3100,7 +3136,7 @@ outzone(const struct zone *zpfirst, ptrd
- attypes[timecnt - 1].dontmerge = true;
- }
- }
-- writezone(zpfirst->z_name, envvar, version);
-+ writezone(zpfirst->z_name, envvar, version, defaulttype);
- free(startbuf);
- free(ab);
- free(envvar);
-@@ -3109,21 +3145,6 @@ outzone(const struct zone *zpfirst, ptrd
- static void
- addtt(zic_t starttime, int type)
- {
-- if (starttime <= early_time
-- || (timecnt == 1 && attypes[0].at < early_time))
-- {
-- gmtoffs[0] = gmtoffs[type];
-- isdsts[0] = isdsts[type];
-- ttisstds[0] = ttisstds[type];
-- ttisgmts[0] = ttisgmts[type];
-- if (abbrinds[type] != 0)
-- strcpy(chars, &chars[abbrinds[type]]);
-- abbrinds[0] = 0;
-- charcnt = strlen(chars) + 1;
-- typecnt = 1;
-- timecnt = 0;
-- type = 0;
-- }
- attypes = growalloc(attypes, sizeof *attypes, timecnt, &timecnt_alloc);
- attypes[timecnt].at = starttime;
- attypes[timecnt].dontmerge = false;
-@@ -3361,7 +3382,7 @@ is_alpha(char a)
- }
-
- /* If A is an uppercase character in the C locale, return its lowercase
-- * counterpart. Otherwise, return A. */
-+ counterpart. Otherwise, return A. */
- static char
- lowerit(char a)
- {
-@@ -3628,6 +3649,18 @@ rpytime(const struct rule *rp, zic_t wan
- dayoff = 0;
- m = TM_JANUARY;
- y = EPOCH_YEAR;
-+ if (y < wantedy)
-+ {
-+ wantedy -= y;
-+ dayoff = (wantedy / YEARSPERREPEAT) * (SECSPERREPEAT / SECSPERDAY);
-+ wantedy %= YEARSPERREPEAT;
-+ wantedy += y;
-+ }
-+ else if (wantedy < 0)
-+ {
-+ dayoff = (wantedy / YEARSPERREPEAT) * (SECSPERREPEAT / SECSPERDAY);
-+ wantedy %= YEARSPERREPEAT;
-+ }
- while (wantedy != y)
- {
- if (wantedy > y)
-@@ -3706,7 +3739,6 @@ will not work with pre-2004 versions of
- if (dayoff > max_time / SECSPERDAY)
- return max_time;
- t = (zic_t) dayoff * SECSPERDAY;
--
- return tadd(t, rp->r_tod);
- }
-
diff --git a/meta-oe/recipes-dbs/postgresql/files/0001-Update-time-zone-data-files-to-tzdata-release-2018f.patch b/meta-oe/recipes-dbs/postgresql/files/0001-Update-time-zone-data-files-to-tzdata-release-2018f.patch
deleted file mode 100644
index 41e763c550..0000000000
--- a/meta-oe/recipes-dbs/postgresql/files/0001-Update-time-zone-data-files-to-tzdata-release-2018f.patch
+++ /dev/null
@@ -1,6452 +0,0 @@
-From 13877d30f2ec93f6043937f76af207dcc614a4e7 Mon Sep 17 00:00:00 2001
-From: Tom Lane <tgl@sss.pgh.pa.us>
-Date: Fri, 19 Oct 2018 17:01:34 -0400
-Subject: [PATCH] Update time zone data files to tzdata release 2018f.
-
-DST law changes in Chile, Fiji, and Russia (Volgograd).
-Historical corrections for China, Japan, Macau, and North Korea.
-
-Note: like the previous tzdata update, this involves a depressingly
-large amount of semantically-meaningless churn in tzdata.zi. That
-is a consequence of upstream's data compression method assigning
-unstable abbreviations to DST rulesets. I complained about that
-to them last time, and this version now uses an assignment method
-that pays some heed to not changing abbreviations unnecessarily.
-So hopefully, that'll be better going forward.
-
-Upstream-Status: Backport
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- src/timezone/data/tzdata.zi | 5273 +++++++++++++++++++-------------------
- src/timezone/known_abbrevs.txt | 1 +
- src/timezone/tznames/America.txt | 3 +
- src/timezone/tznames/Asia.txt | 4 +
- src/timezone/tznames/Default | 3 +
- src/timezone/tznames/Pacific.txt | 3 +
- 6 files changed, 2660 insertions(+), 2627 deletions(-)
-
-diff --git a/src/timezone/data/tzdata.zi b/src/timezone/data/tzdata.zi
-index c470112..6d98902 100644
---- a/src/timezone/data/tzdata.zi
-+++ b/src/timezone/data/tzdata.zi
-@@ -1,36 +1,36 @@
--# version 2018e
-+# version 2018f
- # This zic input file is in the public domain.
--R A 1916 o - Jun 14 23s 1 S
--R A 1916 1919 - O Sun>=1 23s 0 -
--R A 1917 o - Mar 24 23s 1 S
--R A 1918 o - Mar 9 23s 1 S
--R A 1919 o - Mar 1 23s 1 S
--R A 1920 o - F 14 23s 1 S
--R A 1920 o - O 23 23s 0 -
--R A 1921 o - Mar 14 23s 1 S
--R A 1921 o - Jun 21 23s 0 -
--R A 1939 o - S 11 23s 1 S
--R A 1939 o - N 19 1 0 -
--R A 1944 1945 - Ap M>=1 2 1 S
--R A 1944 o - O 8 2 0 -
--R A 1945 o - S 16 1 0 -
--R A 1971 o - Ap 25 23s 1 S
--R A 1971 o - S 26 23s 0 -
--R A 1977 o - May 6 0 1 S
--R A 1977 o - O 21 0 0 -
--R A 1978 o - Mar 24 1 1 S
--R A 1978 o - S 22 3 0 -
--R A 1980 o - Ap 25 0 1 S
--R A 1980 o - O 31 2 0 -
-+R d 1916 o - Jun 14 23s 1 S
-+R d 1916 1919 - O Sun>=1 23s 0 -
-+R d 1917 o - Mar 24 23s 1 S
-+R d 1918 o - Mar 9 23s 1 S
-+R d 1919 o - Mar 1 23s 1 S
-+R d 1920 o - F 14 23s 1 S
-+R d 1920 o - O 23 23s 0 -
-+R d 1921 o - Mar 14 23s 1 S
-+R d 1921 o - Jun 21 23s 0 -
-+R d 1939 o - S 11 23s 1 S
-+R d 1939 o - N 19 1 0 -
-+R d 1944 1945 - Ap M>=1 2 1 S
-+R d 1944 o - O 8 2 0 -
-+R d 1945 o - S 16 1 0 -
-+R d 1971 o - Ap 25 23s 1 S
-+R d 1971 o - S 26 23s 0 -
-+R d 1977 o - May 6 0 1 S
-+R d 1977 o - O 21 0 0 -
-+R d 1978 o - Mar 24 1 1 S
-+R d 1978 o - S 22 3 0 -
-+R d 1980 o - Ap 25 0 1 S
-+R d 1980 o - O 31 2 0 -
- Z Africa/Algiers 0:12:12 - LMT 1891 Mar 15 0:1
- 0:9:21 - PMT 1911 Mar 11
--0 A WE%sT 1940 F 25 2
--1 A CE%sT 1946 O 7
-+0 d WE%sT 1940 F 25 2
-+1 d CE%sT 1946 O 7
- 0 - WET 1956 Ja 29
- 1 - CET 1963 Ap 14
--0 A WE%sT 1977 O 21
--1 A CE%sT 1979 O 26
--0 A WE%sT 1981 May
-+0 d WE%sT 1977 O 21
-+1 d CE%sT 1979 O 26
-+0 d WE%sT 1981 May
- 1 - CET
- Z Atlantic/Cape_Verde -1:34:4 - LMT 1912 Ja 1 2u
- -2 - -02 1942 S
-@@ -52,44 +52,44 @@ Li Africa/Abidjan Africa/Lome
- Li Africa/Abidjan Africa/Nouakchott
- Li Africa/Abidjan Africa/Ouagadougou
- Li Africa/Abidjan Atlantic/St_Helena
--R B 1940 o - Jul 15 0 1 S
--R B 1940 o - O 1 0 0 -
--R B 1941 o - Ap 15 0 1 S
--R B 1941 o - S 16 0 0 -
--R B 1942 1944 - Ap 1 0 1 S
--R B 1942 o - O 27 0 0 -
--R B 1943 1945 - N 1 0 0 -
--R B 1945 o - Ap 16 0 1 S
--R B 1957 o - May 10 0 1 S
--R B 1957 1958 - O 1 0 0 -
--R B 1958 o - May 1 0 1 S
--R B 1959 1981 - May 1 1 1 S
--R B 1959 1965 - S 30 3 0 -
--R B 1966 1994 - O 1 3 0 -
--R B 1982 o - Jul 25 1 1 S
--R B 1983 o - Jul 12 1 1 S
--R B 1984 1988 - May 1 1 1 S
--R B 1989 o - May 6 1 1 S
--R B 1990 1994 - May 1 1 1 S
--R B 1995 2010 - Ap lastF 0s 1 S
--R B 1995 2005 - S lastTh 24 0 -
--R B 2006 o - S 21 24 0 -
--R B 2007 o - S Th>=1 24 0 -
--R B 2008 o - Au lastTh 24 0 -
--R B 2009 o - Au 20 24 0 -
--R B 2010 o - Au 10 24 0 -
--R B 2010 o - S 9 24 1 S
--R B 2010 o - S lastTh 24 0 -
--R B 2014 o - May 15 24 1 S
--R B 2014 o - Jun 26 24 0 -
--R B 2014 o - Jul 31 24 1 S
--R B 2014 o - S lastTh 24 0 -
-+R K 1940 o - Jul 15 0 1 S
-+R K 1940 o - O 1 0 0 -
-+R K 1941 o - Ap 15 0 1 S
-+R K 1941 o - S 16 0 0 -
-+R K 1942 1944 - Ap 1 0 1 S
-+R K 1942 o - O 27 0 0 -
-+R K 1943 1945 - N 1 0 0 -
-+R K 1945 o - Ap 16 0 1 S
-+R K 1957 o - May 10 0 1 S
-+R K 1957 1958 - O 1 0 0 -
-+R K 1958 o - May 1 0 1 S
-+R K 1959 1981 - May 1 1 1 S
-+R K 1959 1965 - S 30 3 0 -
-+R K 1966 1994 - O 1 3 0 -
-+R K 1982 o - Jul 25 1 1 S
-+R K 1983 o - Jul 12 1 1 S
-+R K 1984 1988 - May 1 1 1 S
-+R K 1989 o - May 6 1 1 S
-+R K 1990 1994 - May 1 1 1 S
-+R K 1995 2010 - Ap lastF 0s 1 S
-+R K 1995 2005 - S lastTh 24 0 -
-+R K 2006 o - S 21 24 0 -
-+R K 2007 o - S Th>=1 24 0 -
-+R K 2008 o - Au lastTh 24 0 -
-+R K 2009 o - Au 20 24 0 -
-+R K 2010 o - Au 10 24 0 -
-+R K 2010 o - S 9 24 1 S
-+R K 2010 o - S lastTh 24 0 -
-+R K 2014 o - May 15 24 1 S
-+R K 2014 o - Jun 26 24 0 -
-+R K 2014 o - Jul 31 24 1 S
-+R K 2014 o - S lastTh 24 0 -
- Z Africa/Cairo 2:5:9 - LMT 1900 O
--2 B EE%sT
--R C 1920 1942 - S 1 0 0:20 -
--R C 1920 1942 - D 31 0 0 -
-+2 K EE%sT
-+R GH 1920 1942 - S 1 0 0:20 -
-+R GH 1920 1942 - D 31 0 0 -
- Z Africa/Accra -0:0:52 - LMT 1918
--0 C GMT/+0020
-+0 GH GMT/+0020
- Z Africa/Bissau -1:2:20 - LMT 1912 Ja 1 1u
- -1 - -01 1975
- 0 - GMT
-@@ -111,99 +111,99 @@ Z Africa/Monrovia -0:43:8 - LMT 1882
- -0:43:8 - MMT 1919 Mar
- -0:44:30 - MMT 1972 Ja 7
- 0 - GMT
--R D 1951 o - O 14 2 1 S
--R D 1952 o - Ja 1 0 0 -
--R D 1953 o - O 9 2 1 S
--R D 1954 o - Ja 1 0 0 -
--R D 1955 o - S 30 0 1 S
--R D 1956 o - Ja 1 0 0 -
--R D 1982 1984 - Ap 1 0 1 S
--R D 1982 1985 - O 1 0 0 -
--R D 1985 o - Ap 6 0 1 S
--R D 1986 o - Ap 4 0 1 S
--R D 1986 o - O 3 0 0 -
--R D 1987 1989 - Ap 1 0 1 S
--R D 1987 1989 - O 1 0 0 -
--R D 1997 o - Ap 4 0 1 S
--R D 1997 o - O 4 0 0 -
--R D 2013 o - Mar lastF 1 1 S
--R D 2013 o - O lastF 2 0 -
-+R L 1951 o - O 14 2 1 S
-+R L 1952 o - Ja 1 0 0 -
-+R L 1953 o - O 9 2 1 S
-+R L 1954 o - Ja 1 0 0 -
-+R L 1955 o - S 30 0 1 S
-+R L 1956 o - Ja 1 0 0 -
-+R L 1982 1984 - Ap 1 0 1 S
-+R L 1982 1985 - O 1 0 0 -
-+R L 1985 o - Ap 6 0 1 S
-+R L 1986 o - Ap 4 0 1 S
-+R L 1986 o - O 3 0 0 -
-+R L 1987 1989 - Ap 1 0 1 S
-+R L 1987 1989 - O 1 0 0 -
-+R L 1997 o - Ap 4 0 1 S
-+R L 1997 o - O 4 0 0 -
-+R L 2013 o - Mar lastF 1 1 S
-+R L 2013 o - O lastF 2 0 -
- Z Africa/Tripoli 0:52:44 - LMT 1920
--1 D CE%sT 1959
-+1 L CE%sT 1959
- 2 - EET 1982
--1 D CE%sT 1990 May 4
-+1 L CE%sT 1990 May 4
- 2 - EET 1996 S 30
--1 D CE%sT 1997 O 4
-+1 L CE%sT 1997 O 4
- 2 - EET 2012 N 10 2
--1 D CE%sT 2013 O 25 2
-+1 L CE%sT 2013 O 25 2
- 2 - EET
--R E 1982 o - O 10 0 1 -
--R E 1983 o - Mar 21 0 0 -
--R E 2008 o - O lastSun 2 1 -
--R E 2009 o - Mar lastSun 2 0 -
-+R MU 1982 o - O 10 0 1 -
-+R MU 1983 o - Mar 21 0 0 -
-+R MU 2008 o - O lastSun 2 1 -
-+R MU 2009 o - Mar lastSun 2 0 -
- Z Indian/Mauritius 3:50 - LMT 1907
--4 E +04/+05
--R F 1939 o - S 12 0 1 S
--R F 1939 o - N 19 0 0 -
--R F 1940 o - F 25 0 1 S
--R F 1945 o - N 18 0 0 -
--R F 1950 o - Jun 11 0 1 S
--R F 1950 o - O 29 0 0 -
--R F 1967 o - Jun 3 12 1 S
--R F 1967 o - O 1 0 0 -
--R F 1974 o - Jun 24 0 1 S
--R F 1974 o - S 1 0 0 -
--R F 1976 1977 - May 1 0 1 S
--R F 1976 o - Au 1 0 0 -
--R F 1977 o - S 28 0 0 -
--R F 1978 o - Jun 1 0 1 S
--R F 1978 o - Au 4 0 0 -
--R F 2008 o - Jun 1 0 1 S
--R F 2008 o - S 1 0 0 -
--R F 2009 o - Jun 1 0 1 S
--R F 2009 o - Au 21 0 0 -
--R F 2010 o - May 2 0 1 S
--R F 2010 o - Au 8 0 0 -
--R F 2011 o - Ap 3 0 1 S
--R F 2011 o - Jul 31 0 0 -
--R F 2012 2013 - Ap lastSun 2 1 S
--R F 2012 o - Jul 20 3 0 -
--R F 2012 o - Au 20 2 1 S
--R F 2012 o - S 30 3 0 -
--R F 2013 o - Jul 7 3 0 -
--R F 2013 o - Au 10 2 1 S
--R F 2013 ma - O lastSun 3 0 -
--R F 2014 2021 - Mar lastSun 2 1 S
--R F 2014 o - Jun 28 3 0 -
--R F 2014 o - Au 2 2 1 S
--R F 2015 o - Jun 14 3 0 -
--R F 2015 o - Jul 19 2 1 S
--R F 2016 o - Jun 5 3 0 -
--R F 2016 o - Jul 10 2 1 S
--R F 2017 o - May 21 3 0 -
--R F 2017 o - Jul 2 2 1 S
--R F 2018 o - May 13 3 0 -
--R F 2018 o - Jun 17 2 1 S
--R F 2019 o - May 5 3 0 -
--R F 2019 o - Jun 9 2 1 S
--R F 2020 o - Ap 19 3 0 -
--R F 2020 o - May 24 2 1 S
--R F 2021 o - Ap 11 3 0 -
--R F 2021 o - May 16 2 1 S
--R F 2022 o - May 8 2 1 S
--R F 2023 o - Ap 23 2 1 S
--R F 2024 o - Ap 14 2 1 S
--R F 2025 o - Ap 6 2 1 S
--R F 2026 ma - Mar lastSun 2 1 S
--R F 2036 o - O 19 3 0 -
--R F 2037 o - O 4 3 0 -
-+4 MU +04/+05
-+R M 1939 o - S 12 0 1 S
-+R M 1939 o - N 19 0 0 -
-+R M 1940 o - F 25 0 1 S
-+R M 1945 o - N 18 0 0 -
-+R M 1950 o - Jun 11 0 1 S
-+R M 1950 o - O 29 0 0 -
-+R M 1967 o - Jun 3 12 1 S
-+R M 1967 o - O 1 0 0 -
-+R M 1974 o - Jun 24 0 1 S
-+R M 1974 o - S 1 0 0 -
-+R M 1976 1977 - May 1 0 1 S
-+R M 1976 o - Au 1 0 0 -
-+R M 1977 o - S 28 0 0 -
-+R M 1978 o - Jun 1 0 1 S
-+R M 1978 o - Au 4 0 0 -
-+R M 2008 o - Jun 1 0 1 S
-+R M 2008 o - S 1 0 0 -
-+R M 2009 o - Jun 1 0 1 S
-+R M 2009 o - Au 21 0 0 -
-+R M 2010 o - May 2 0 1 S
-+R M 2010 o - Au 8 0 0 -
-+R M 2011 o - Ap 3 0 1 S
-+R M 2011 o - Jul 31 0 0 -
-+R M 2012 2013 - Ap lastSun 2 1 S
-+R M 2012 o - Jul 20 3 0 -
-+R M 2012 o - Au 20 2 1 S
-+R M 2012 o - S 30 3 0 -
-+R M 2013 o - Jul 7 3 0 -
-+R M 2013 o - Au 10 2 1 S
-+R M 2013 ma - O lastSun 3 0 -
-+R M 2014 2021 - Mar lastSun 2 1 S
-+R M 2014 o - Jun 28 3 0 -
-+R M 2014 o - Au 2 2 1 S
-+R M 2015 o - Jun 14 3 0 -
-+R M 2015 o - Jul 19 2 1 S
-+R M 2016 o - Jun 5 3 0 -
-+R M 2016 o - Jul 10 2 1 S
-+R M 2017 o - May 21 3 0 -
-+R M 2017 o - Jul 2 2 1 S
-+R M 2018 o - May 13 3 0 -
-+R M 2018 o - Jun 17 2 1 S
-+R M 2019 o - May 5 3 0 -
-+R M 2019 o - Jun 9 2 1 S
-+R M 2020 o - Ap 19 3 0 -
-+R M 2020 o - May 24 2 1 S
-+R M 2021 o - Ap 11 3 0 -
-+R M 2021 o - May 16 2 1 S
-+R M 2022 o - May 8 2 1 S
-+R M 2023 o - Ap 23 2 1 S
-+R M 2024 o - Ap 14 2 1 S
-+R M 2025 o - Ap 6 2 1 S
-+R M 2026 ma - Mar lastSun 2 1 S
-+R M 2036 o - O 19 3 0 -
-+R M 2037 o - O 4 3 0 -
- Z Africa/Casablanca -0:30:20 - LMT 1913 O 26
--0 F WE%sT 1984 Mar 16
-+0 M WE%sT 1984 Mar 16
- 1 - CET 1986
--0 F WE%sT
-+0 M WE%sT
- Z Africa/El_Aaiun -0:52:48 - LMT 1934
- -1 - -01 1976 Ap 14
--0 F WE%sT
-+0 M WE%sT
- Z Africa/Maputo 2:10:20 - LMT 1903 Mar
- 2 - CAT
- Li Africa/Maputo Africa/Blantyre
-@@ -213,15 +213,15 @@ Li Africa/Maputo Africa/Harare
- Li Africa/Maputo Africa/Kigali
- Li Africa/Maputo Africa/Lubumbashi
- Li Africa/Maputo Africa/Lusaka
--R G 1994 o - Mar 21 0 -1 WAT
--R G 1994 2017 - S Sun>=1 2 0 CAT
--R G 1995 2017 - Ap Sun>=1 2 -1 WAT
-+R NA 1994 o - Mar 21 0 -1 WAT
-+R NA 1994 2017 - S Sun>=1 2 0 CAT
-+R NA 1995 2017 - Ap Sun>=1 2 -1 WAT
- Z Africa/Windhoek 1:8:24 - LMT 1892 F 8
- 1:30 - +0130 1903 Mar
- 2 - SAST 1942 S 20 2
- 2 1 SAST 1943 Mar 21 2
- 2 - SAST 1990 Mar 21
--2 G %s
-+2 NA %s
- Z Africa/Lagos 0:13:36 - LMT 1919 S
- 1 - WAT
- Li Africa/Lagos Africa/Bangui
-@@ -241,52 +241,52 @@ Z Africa/Sao_Tome 0:26:56 - LMT 1884
- 1 - WAT
- Z Indian/Mahe 3:41:48 - LMT 1906 Jun
- 4 - +04
--R H 1942 1943 - S Sun>=15 2 1 -
--R H 1943 1944 - Mar Sun>=15 2 0 -
-+R SA 1942 1943 - S Sun>=15 2 1 -
-+R SA 1943 1944 - Mar Sun>=15 2 0 -
- Z Africa/Johannesburg 1:52 - LMT 1892 F 8
- 1:30 - SAST 1903 Mar
--2 H SAST
-+2 SA SAST
- Li Africa/Johannesburg Africa/Maseru
- Li Africa/Johannesburg Africa/Mbabane
--R I 1970 o - May 1 0 1 S
--R I 1970 1985 - O 15 0 0 -
--R I 1971 o - Ap 30 0 1 S
--R I 1972 1985 - Ap lastSun 0 1 S
-+R SD 1970 o - May 1 0 1 S
-+R SD 1970 1985 - O 15 0 0 -
-+R SD 1971 o - Ap 30 0 1 S
-+R SD 1972 1985 - Ap lastSun 0 1 S
- Z Africa/Khartoum 2:10:8 - LMT 1931
--2 I CA%sT 2000 Ja 15 12
-+2 SD CA%sT 2000 Ja 15 12
- 3 - EAT 2017 N
- 2 - CAT
- Z Africa/Juba 2:6:28 - LMT 1931
--2 I CA%sT 2000 Ja 15 12
-+2 SD CA%sT 2000 Ja 15 12
- 3 - EAT
--R J 1939 o - Ap 15 23s 1 S
--R J 1939 o - N 18 23s 0 -
--R J 1940 o - F 25 23s 1 S
--R J 1941 o - O 6 0 0 -
--R J 1942 o - Mar 9 0 1 S
--R J 1942 o - N 2 3 0 -
--R J 1943 o - Mar 29 2 1 S
--R J 1943 o - Ap 17 2 0 -
--R J 1943 o - Ap 25 2 1 S
--R J 1943 o - O 4 2 0 -
--R J 1944 1945 - Ap M>=1 2 1 S
--R J 1944 o - O 8 0 0 -
--R J 1945 o - S 16 0 0 -
--R J 1977 o - Ap 30 0s 1 S
--R J 1977 o - S 24 0s 0 -
--R J 1978 o - May 1 0s 1 S
--R J 1978 o - O 1 0s 0 -
--R J 1988 o - Jun 1 0s 1 S
--R J 1988 1990 - S lastSun 0s 0 -
--R J 1989 o - Mar 26 0s 1 S
--R J 1990 o - May 1 0s 1 S
--R J 2005 o - May 1 0s 1 S
--R J 2005 o - S 30 1s 0 -
--R J 2006 2008 - Mar lastSun 2s 1 S
--R J 2006 2008 - O lastSun 2s 0 -
-+R n 1939 o - Ap 15 23s 1 S
-+R n 1939 o - N 18 23s 0 -
-+R n 1940 o - F 25 23s 1 S
-+R n 1941 o - O 6 0 0 -
-+R n 1942 o - Mar 9 0 1 S
-+R n 1942 o - N 2 3 0 -
-+R n 1943 o - Mar 29 2 1 S
-+R n 1943 o - Ap 17 2 0 -
-+R n 1943 o - Ap 25 2 1 S
-+R n 1943 o - O 4 2 0 -
-+R n 1944 1945 - Ap M>=1 2 1 S
-+R n 1944 o - O 8 0 0 -
-+R n 1945 o - S 16 0 0 -
-+R n 1977 o - Ap 30 0s 1 S
-+R n 1977 o - S 24 0s 0 -
-+R n 1978 o - May 1 0s 1 S
-+R n 1978 o - O 1 0s 0 -
-+R n 1988 o - Jun 1 0s 1 S
-+R n 1988 1990 - S lastSun 0s 0 -
-+R n 1989 o - Mar 26 0s 1 S
-+R n 1990 o - May 1 0s 1 S
-+R n 2005 o - May 1 0s 1 S
-+R n 2005 o - S 30 1s 0 -
-+R n 2006 2008 - Mar lastSun 2s 1 S
-+R n 2006 2008 - O lastSun 2s 0 -
- Z Africa/Tunis 0:40:44 - LMT 1881 May 12
- 0:9:21 - PMT 1911 Mar 11
--1 J CE%sT
-+1 n CE%sT
- Z Antarctica/Casey 0 - -00 1969
- 8 - +08 2009 O 18 2
- 11 - +11 2010 Mar 5 2
-@@ -314,10 +314,10 @@ Z Antarctica/DumontDUrville 0 - -00 1947
- 10 - +10
- Z Antarctica/Syowa 0 - -00 1957 Ja 29
- 3 - +03
--R K 2005 ma - Mar lastSun 1u 2 +02
--R K 2004 ma - O lastSun 1u 0 +00
-+R Tr 2005 ma - Mar lastSun 1u 2 +02
-+R Tr 2004 ma - O lastSun 1u 0 +00
- Z Antarctica/Troll 0 - -00 2005 F 12
--0 K %s
-+0 Tr %s
- Z Antarctica/Vostok 0 - -00 1957 D 16
- 6 - +06
- Z Antarctica/Rothera 0 - -00 1976 D
-@@ -325,33 +325,33 @@ Z Antarctica/Rothera 0 - -00 1976 D
- Z Asia/Kabul 4:36:48 - LMT 1890
- 4 - +04 1945
- 4:30 - +0430
--R L 2011 o - Mar lastSun 2s 1 -
--R L 2011 o - O lastSun 2s 0 -
-+R AM 2011 o - Mar lastSun 2s 1 -
-+R AM 2011 o - O lastSun 2s 0 -
- Z Asia/Yerevan 2:58 - LMT 1924 May 2
- 3 - +03 1957 Mar
--4 M +04/+05 1991 Mar 31 2s
--3 M +03/+04 1995 S 24 2s
-+4 R +04/+05 1991 Mar 31 2s
-+3 R +03/+04 1995 S 24 2s
- 4 - +04 1997
--4 M +04/+05 2011
--4 L +04/+05
--R N 1997 2015 - Mar lastSun 4 1 -
--R N 1997 2015 - O lastSun 5 0 -
-+4 R +04/+05 2011
-+4 AM +04/+05
-+R AZ 1997 2015 - Mar lastSun 4 1 -
-+R AZ 1997 2015 - O lastSun 5 0 -
- Z Asia/Baku 3:19:24 - LMT 1924 May 2
- 3 - +03 1957 Mar
--4 M +04/+05 1991 Mar 31 2s
--3 M +03/+04 1992 S lastSun 2s
-+4 R +04/+05 1991 Mar 31 2s
-+3 R +03/+04 1992 S lastSun 2s
- 4 - +04 1996
--4 O +04/+05 1997
--4 N +04/+05
--R P 2009 o - Jun 19 23 1 -
--R P 2009 o - D 31 24 0 -
-+4 E +04/+05 1997
-+4 AZ +04/+05
-+R BD 2009 o - Jun 19 23 1 -
-+R BD 2009 o - D 31 24 0 -
- Z Asia/Dhaka 6:1:40 - LMT 1890
- 5:53:20 - HMT 1941 O
- 6:30 - +0630 1942 May 15
- 5:30 - +0530 1942 S
- 6:30 - +0630 1951 S 30
- 6 - +06 2009
--6 P +06/+07
-+6 BD +06/+07
- Z Asia/Thimphu 5:58:36 - LMT 1947 Au 15
- 5:30 - +0530 1987 O
- 6 - +06
-@@ -366,103 +366,127 @@ Z Asia/Yangon 6:24:47 - LMT 1880
- 6:30 - +0630 1942 May
- 9 - +09 1945 May 3
- 6:30 - +0630
--R Q 1940 o - Jun 3 0 1 D
--R Q 1940 1941 - O 1 0 0 S
--R Q 1941 o - Mar 16 0 1 D
--R R 1986 o - May 4 0 1 D
--R R 1986 1991 - S Sun>=11 0 0 S
--R R 1987 1991 - Ap Sun>=10 0 1 D
-+R Sh 1940 o - Jun 1 0 1 D
-+R Sh 1940 o - O 12 24 0 S
-+R Sh 1941 o - Mar 15 0 1 D
-+R Sh 1941 o - N 1 24 0 S
-+R Sh 1942 o - Ja 31 0 1 D
-+R Sh 1945 o - S 1 24 0 S
-+R Sh 1946 o - May 15 0 1 D
-+R Sh 1946 o - S 30 24 0 S
-+R Sh 1947 o - Ap 15 0 1 D
-+R Sh 1947 o - O 31 24 0 S
-+R Sh 1948 1949 - May 1 0 1 D
-+R Sh 1948 1949 - S 30 24 0 S
-+R CN 1986 o - May 4 2 1 D
-+R CN 1986 1991 - S Sun>=11 2 0 S
-+R CN 1987 1991 - Ap Sun>=11 2 1 D
- Z Asia/Shanghai 8:5:43 - LMT 1901
--8 Q C%sT 1949
--8 R C%sT
-+8 Sh C%sT 1949 May 28
-+8 CN C%sT
- Z Asia/Urumqi 5:50:20 - LMT 1928
- 6 - +06
--R S 1941 o - Ap 1 3:30 1 S
--R S 1941 o - S 30 3:30 0 -
--R S 1946 o - Ap 20 3:30 1 S
--R S 1946 o - D 1 3:30 0 -
--R S 1947 o - Ap 13 3:30 1 S
--R S 1947 o - D 30 3:30 0 -
--R S 1948 o - May 2 3:30 1 S
--R S 1948 1951 - O lastSun 3:30 0 -
--R S 1952 o - O 25 3:30 0 -
--R S 1949 1953 - Ap Sun>=1 3:30 1 S
--R S 1953 o - N 1 3:30 0 -
--R S 1954 1964 - Mar Sun>=18 3:30 1 S
--R S 1954 o - O 31 3:30 0 -
--R S 1955 1964 - N Sun>=1 3:30 0 -
--R S 1965 1976 - Ap Sun>=16 3:30 1 S
--R S 1965 1976 - O Sun>=16 3:30 0 -
--R S 1973 o - D 30 3:30 1 S
--R S 1979 o - May Sun>=8 3:30 1 S
--R S 1979 o - O Sun>=16 3:30 0 -
-+R HK 1941 o - Ap 1 3:30 1 S
-+R HK 1941 o - S 30 3:30 0 -
-+R HK 1946 o - Ap 20 3:30 1 S
-+R HK 1946 o - D 1 3:30 0 -
-+R HK 1947 o - Ap 13 3:30 1 S
-+R HK 1947 o - D 30 3:30 0 -
-+R HK 1948 o - May 2 3:30 1 S
-+R HK 1948 1951 - O lastSun 3:30 0 -
-+R HK 1952 o - O 25 3:30 0 -
-+R HK 1949 1953 - Ap Sun>=1 3:30 1 S
-+R HK 1953 o - N 1 3:30 0 -
-+R HK 1954 1964 - Mar Sun>=18 3:30 1 S
-+R HK 1954 o - O 31 3:30 0 -
-+R HK 1955 1964 - N Sun>=1 3:30 0 -
-+R HK 1965 1976 - Ap Sun>=16 3:30 1 S
-+R HK 1965 1976 - O Sun>=16 3:30 0 -
-+R HK 1973 o - D 30 3:30 1 S
-+R HK 1979 o - May Sun>=8 3:30 1 S
-+R HK 1979 o - O Sun>=16 3:30 0 -
- Z Asia/Hong_Kong 7:36:42 - LMT 1904 O 30
--8 S HK%sT 1941 D 25
-+8 HK HK%sT 1941 D 25
- 9 - JST 1945 S 15
--8 S HK%sT
--R T 1946 o - May 15 0 1 D
--R T 1946 o - O 1 0 0 S
--R T 1947 o - Ap 15 0 1 D
--R T 1947 o - N 1 0 0 S
--R T 1948 1951 - May 1 0 1 D
--R T 1948 1951 - O 1 0 0 S
--R T 1952 o - Mar 1 0 1 D
--R T 1952 1954 - N 1 0 0 S
--R T 1953 1959 - Ap 1 0 1 D
--R T 1955 1961 - O 1 0 0 S
--R T 1960 1961 - Jun 1 0 1 D
--R T 1974 1975 - Ap 1 0 1 D
--R T 1974 1975 - O 1 0 0 S
--R T 1979 o - Jul 1 0 1 D
--R T 1979 o - O 1 0 0 S
-+8 HK HK%sT
-+R f 1946 o - May 15 0 1 D
-+R f 1946 o - O 1 0 0 S
-+R f 1947 o - Ap 15 0 1 D
-+R f 1947 o - N 1 0 0 S
-+R f 1948 1951 - May 1 0 1 D
-+R f 1948 1951 - O 1 0 0 S
-+R f 1952 o - Mar 1 0 1 D
-+R f 1952 1954 - N 1 0 0 S
-+R f 1953 1959 - Ap 1 0 1 D
-+R f 1955 1961 - O 1 0 0 S
-+R f 1960 1961 - Jun 1 0 1 D
-+R f 1974 1975 - Ap 1 0 1 D
-+R f 1974 1975 - O 1 0 0 S
-+R f 1979 o - Jul 1 0 1 D
-+R f 1979 o - O 1 0 0 S
- Z Asia/Taipei 8:6 - LMT 1896
- 8 - CST 1937 O
- 9 - JST 1945 S 21 1
--8 T C%sT
--R U 1961 1962 - Mar Sun>=16 3:30 1 D
--R U 1961 1964 - N Sun>=1 3:30 0 S
--R U 1963 o - Mar Sun>=16 0 1 D
--R U 1964 o - Mar Sun>=16 3:30 1 D
--R U 1965 o - Mar Sun>=16 0 1 D
--R U 1965 o - O 31 0 0 S
--R U 1966 1971 - Ap Sun>=16 3:30 1 D
--R U 1966 1971 - O Sun>=16 3:30 0 S
--R U 1972 1974 - Ap Sun>=15 0 1 D
--R U 1972 1973 - O Sun>=15 0 0 S
--R U 1974 1977 - O Sun>=15 3:30 0 S
--R U 1975 1977 - Ap Sun>=15 3:30 1 D
--R U 1978 1980 - Ap Sun>=15 0 1 D
--R U 1978 1980 - O Sun>=15 0 0 S
--Z Asia/Macau 7:34:20 - LMT 1911 D 31 16u
--8 U C%sT
--R V 1975 o - Ap 13 0 1 S
--R V 1975 o - O 12 0 0 -
--R V 1976 o - May 15 0 1 S
--R V 1976 o - O 11 0 0 -
--R V 1977 1980 - Ap Sun>=1 0 1 S
--R V 1977 o - S 25 0 0 -
--R V 1978 o - O 2 0 0 -
--R V 1979 1997 - S lastSun 0 0 -
--R V 1981 1998 - Mar lastSun 0 1 S
-+8 f C%sT
-+R _ 1942 1943 - Ap 30 23 1 -
-+R _ 1942 o - N 17 23 0 -
-+R _ 1943 o - S 30 23 0 S
-+R _ 1946 o - Ap 30 23s 1 D
-+R _ 1946 o - S 30 23s 0 S
-+R _ 1947 o - Ap 19 23s 1 D
-+R _ 1947 o - N 30 23s 0 S
-+R _ 1948 o - May 2 23s 1 D
-+R _ 1948 o - O 31 23s 0 S
-+R _ 1949 1950 - Ap Sat>=1 23s 1 D
-+R _ 1949 1950 - O lastSat 23s 0 S
-+R _ 1951 o - Mar 31 23s 1 D
-+R _ 1951 o - O 28 23s 0 S
-+R _ 1952 1953 - Ap Sat>=1 23s 1 D
-+R _ 1952 o - N 1 23s 0 S
-+R _ 1953 1954 - O lastSat 23s 0 S
-+R _ 1954 1956 - Mar Sat>=17 23s 1 D
-+R _ 1955 o - N 5 23s 0 S
-+R _ 1956 1964 - N Sun>=1 3:30 0 S
-+R _ 1957 1964 - Mar Sun>=18 3:30 1 D
-+R _ 1965 1973 - Ap Sun>=16 3:30 1 D
-+R _ 1965 1966 - O Sun>=16 2:30 0 S
-+R _ 1967 1976 - O Sun>=16 3:30 0 S
-+R _ 1973 o - D 30 3:30 1 D
-+R _ 1975 1976 - Ap Sun>=16 3:30 1 D
-+R _ 1979 o - May 13 3:30 1 D
-+R _ 1979 o - O Sun>=16 3:30 0 S
-+Z Asia/Macau 7:34:10 - LMT 1904 O 30
-+8 - CST 1941 D 21 23
-+9 _ +09/+10 1945 S 30 24
-+8 _ C%sT
-+R CY 1975 o - Ap 13 0 1 S
-+R CY 1975 o - O 12 0 0 -
-+R CY 1976 o - May 15 0 1 S
-+R CY 1976 o - O 11 0 0 -
-+R CY 1977 1980 - Ap Sun>=1 0 1 S
-+R CY 1977 o - S 25 0 0 -
-+R CY 1978 o - O 2 0 0 -
-+R CY 1979 1997 - S lastSun 0 0 -
-+R CY 1981 1998 - Mar lastSun 0 1 S
- Z Asia/Nicosia 2:13:28 - LMT 1921 N 14
--2 V EE%sT 1998 S
--2 O EE%sT
-+2 CY EE%sT 1998 S
-+2 E EE%sT
- Z Asia/Famagusta 2:15:48 - LMT 1921 N 14
--2 V EE%sT 1998 S
--2 O EE%sT 2016 S 8
-+2 CY EE%sT 1998 S
-+2 E EE%sT 2016 S 8
- 3 - +03 2017 O 29 1u
--2 O EE%sT
-+2 E EE%sT
- Li Asia/Nicosia Europe/Nicosia
- Z Asia/Tbilisi 2:59:11 - LMT 1880
- 2:59:11 - TBMT 1924 May 2
- 3 - +03 1957 Mar
--4 M +04/+05 1991 Mar 31 2s
--3 M +03/+04 1992
--3 W +03/+04 1994 S lastSun
--4 W +04/+05 1996 O lastSun
-+4 R +04/+05 1991 Mar 31 2s
-+3 R +03/+04 1992
-+3 e +03/+04 1994 S lastSun
-+4 e +04/+05 1996 O lastSun
- 4 1 +05 1997 Mar lastSun
--4 W +04/+05 2004 Jun 27
--3 M +03/+04 2005 Mar lastSun 2
-+4 e +04/+05 2004 Jun 27
-+3 R +03/+04 2005 Mar lastSun 2
- 4 - +04
- Z Asia/Dili 8:22:20 - LMT 1912
- 8 - +08 1942 F 21 23
-@@ -504,72 +528,72 @@ Z Asia/Jayapura 9:22:48 - LMT 1932 N
- 9 - +09 1944 S
- 9:30 - +0930 1964
- 9 - WIT
--R X 1978 1980 - Mar 21 0 1 -
--R X 1978 o - O 21 0 0 -
--R X 1979 o - S 19 0 0 -
--R X 1980 o - S 23 0 0 -
--R X 1991 o - May 3 0 1 -
--R X 1992 1995 - Mar 22 0 1 -
--R X 1991 1995 - S 22 0 0 -
--R X 1996 o - Mar 21 0 1 -
--R X 1996 o - S 21 0 0 -
--R X 1997 1999 - Mar 22 0 1 -
--R X 1997 1999 - S 22 0 0 -
--R X 2000 o - Mar 21 0 1 -
--R X 2000 o - S 21 0 0 -
--R X 2001 2003 - Mar 22 0 1 -
--R X 2001 2003 - S 22 0 0 -
--R X 2004 o - Mar 21 0 1 -
--R X 2004 o - S 21 0 0 -
--R X 2005 o - Mar 22 0 1 -
--R X 2005 o - S 22 0 0 -
--R X 2008 o - Mar 21 0 1 -
--R X 2008 o - S 21 0 0 -
--R X 2009 2011 - Mar 22 0 1 -
--R X 2009 2011 - S 22 0 0 -
--R X 2012 o - Mar 21 0 1 -
--R X 2012 o - S 21 0 0 -
--R X 2013 2015 - Mar 22 0 1 -
--R X 2013 2015 - S 22 0 0 -
--R X 2016 o - Mar 21 0 1 -
--R X 2016 o - S 21 0 0 -
--R X 2017 2019 - Mar 22 0 1 -
--R X 2017 2019 - S 22 0 0 -
--R X 2020 o - Mar 21 0 1 -
--R X 2020 o - S 21 0 0 -
--R X 2021 2023 - Mar 22 0 1 -
--R X 2021 2023 - S 22 0 0 -
--R X 2024 o - Mar 21 0 1 -
--R X 2024 o - S 21 0 0 -
--R X 2025 2027 - Mar 22 0 1 -
--R X 2025 2027 - S 22 0 0 -
--R X 2028 2029 - Mar 21 0 1 -
--R X 2028 2029 - S 21 0 0 -
--R X 2030 2031 - Mar 22 0 1 -
--R X 2030 2031 - S 22 0 0 -
--R X 2032 2033 - Mar 21 0 1 -
--R X 2032 2033 - S 21 0 0 -
--R X 2034 2035 - Mar 22 0 1 -
--R X 2034 2035 - S 22 0 0 -
--R X 2036 ma - Mar 21 0 1 -
--R X 2036 ma - S 21 0 0 -
-+R i 1978 1980 - Mar 21 0 1 -
-+R i 1978 o - O 21 0 0 -
-+R i 1979 o - S 19 0 0 -
-+R i 1980 o - S 23 0 0 -
-+R i 1991 o - May 3 0 1 -
-+R i 1992 1995 - Mar 22 0 1 -
-+R i 1991 1995 - S 22 0 0 -
-+R i 1996 o - Mar 21 0 1 -
-+R i 1996 o - S 21 0 0 -
-+R i 1997 1999 - Mar 22 0 1 -
-+R i 1997 1999 - S 22 0 0 -
-+R i 2000 o - Mar 21 0 1 -
-+R i 2000 o - S 21 0 0 -
-+R i 2001 2003 - Mar 22 0 1 -
-+R i 2001 2003 - S 22 0 0 -
-+R i 2004 o - Mar 21 0 1 -
-+R i 2004 o - S 21 0 0 -
-+R i 2005 o - Mar 22 0 1 -
-+R i 2005 o - S 22 0 0 -
-+R i 2008 o - Mar 21 0 1 -
-+R i 2008 o - S 21 0 0 -
-+R i 2009 2011 - Mar 22 0 1 -
-+R i 2009 2011 - S 22 0 0 -
-+R i 2012 o - Mar 21 0 1 -
-+R i 2012 o - S 21 0 0 -
-+R i 2013 2015 - Mar 22 0 1 -
-+R i 2013 2015 - S 22 0 0 -
-+R i 2016 o - Mar 21 0 1 -
-+R i 2016 o - S 21 0 0 -
-+R i 2017 2019 - Mar 22 0 1 -
-+R i 2017 2019 - S 22 0 0 -
-+R i 2020 o - Mar 21 0 1 -
-+R i 2020 o - S 21 0 0 -
-+R i 2021 2023 - Mar 22 0 1 -
-+R i 2021 2023 - S 22 0 0 -
-+R i 2024 o - Mar 21 0 1 -
-+R i 2024 o - S 21 0 0 -
-+R i 2025 2027 - Mar 22 0 1 -
-+R i 2025 2027 - S 22 0 0 -
-+R i 2028 2029 - Mar 21 0 1 -
-+R i 2028 2029 - S 21 0 0 -
-+R i 2030 2031 - Mar 22 0 1 -
-+R i 2030 2031 - S 22 0 0 -
-+R i 2032 2033 - Mar 21 0 1 -
-+R i 2032 2033 - S 21 0 0 -
-+R i 2034 2035 - Mar 22 0 1 -
-+R i 2034 2035 - S 22 0 0 -
-+R i 2036 ma - Mar 21 0 1 -
-+R i 2036 ma - S 21 0 0 -
- Z Asia/Tehran 3:25:44 - LMT 1916
- 3:25:44 - TMT 1946
- 3:30 - +0330 1977 N
--4 X +04/+05 1979
--3:30 X +0330/+0430
--R Y 1982 o - May 1 0 1 -
--R Y 1982 1984 - O 1 0 0 -
--R Y 1983 o - Mar 31 0 1 -
--R Y 1984 1985 - Ap 1 0 1 -
--R Y 1985 1990 - S lastSun 1s 0 -
--R Y 1986 1990 - Mar lastSun 1s 1 -
--R Y 1991 2007 - Ap 1 3s 1 -
--R Y 1991 2007 - O 1 3s 0 -
-+4 i +04/+05 1979
-+3:30 i +0330/+0430
-+R IQ 1982 o - May 1 0 1 -
-+R IQ 1982 1984 - O 1 0 0 -
-+R IQ 1983 o - Mar 31 0 1 -
-+R IQ 1984 1985 - Ap 1 0 1 -
-+R IQ 1985 1990 - S lastSun 1s 0 -
-+R IQ 1986 1990 - Mar lastSun 1s 1 -
-+R IQ 1991 2007 - Ap 1 3s 1 -
-+R IQ 1991 2007 - O 1 3s 0 -
- Z Asia/Baghdad 2:57:40 - LMT 1890
- 2:57:36 - BMT 1918
- 3 - +03 1982 May
--3 Y +03/+04
-+3 IQ +03/+04
- R Z 1940 o - Jun 1 0 1 D
- R Z 1942 1944 - N 1 0 0 S
- R Z 1943 o - Ap 1 2 1 D
-@@ -659,163 +683,163 @@ R Z 2013 ma - O lastSun 2 0 S
- Z Asia/Jerusalem 2:20:54 - LMT 1880
- 2:20:40 - JMT 1918
- 2 Z I%sT
--R a 1948 o - May Sat>=1 24 1 D
--R a 1948 1951 - S Sun>=9 0 0 S
--R a 1949 o - Ap Sat>=1 24 1 D
--R a 1950 1951 - May Sat>=1 24 1 D
-+R JP 1948 o - May Sat>=1 24 1 D
-+R JP 1948 1951 - S Sat>=8 25 0 S
-+R JP 1949 o - Ap Sat>=1 24 1 D
-+R JP 1950 1951 - May Sat>=1 24 1 D
- Z Asia/Tokyo 9:18:59 - LMT 1887 D 31 15u
--9 a J%sT
--R b 1973 o - Jun 6 0 1 S
--R b 1973 1975 - O 1 0 0 -
--R b 1974 1977 - May 1 0 1 S
--R b 1976 o - N 1 0 0 -
--R b 1977 o - O 1 0 0 -
--R b 1978 o - Ap 30 0 1 S
--R b 1978 o - S 30 0 0 -
--R b 1985 o - Ap 1 0 1 S
--R b 1985 o - O 1 0 0 -
--R b 1986 1988 - Ap F>=1 0 1 S
--R b 1986 1990 - O F>=1 0 0 -
--R b 1989 o - May 8 0 1 S
--R b 1990 o - Ap 27 0 1 S
--R b 1991 o - Ap 17 0 1 S
--R b 1991 o - S 27 0 0 -
--R b 1992 o - Ap 10 0 1 S
--R b 1992 1993 - O F>=1 0 0 -
--R b 1993 1998 - Ap F>=1 0 1 S
--R b 1994 o - S F>=15 0 0 -
--R b 1995 1998 - S F>=15 0s 0 -
--R b 1999 o - Jul 1 0s 1 S
--R b 1999 2002 - S lastF 0s 0 -
--R b 2000 2001 - Mar lastTh 0s 1 S
--R b 2002 2012 - Mar lastTh 24 1 S
--R b 2003 o - O 24 0s 0 -
--R b 2004 o - O 15 0s 0 -
--R b 2005 o - S lastF 0s 0 -
--R b 2006 2011 - O lastF 0s 0 -
--R b 2013 o - D 20 0 0 -
--R b 2014 ma - Mar lastTh 24 1 S
--R b 2014 ma - O lastF 0s 0 -
-+9 JP J%sT
-+R J 1973 o - Jun 6 0 1 S
-+R J 1973 1975 - O 1 0 0 -
-+R J 1974 1977 - May 1 0 1 S
-+R J 1976 o - N 1 0 0 -
-+R J 1977 o - O 1 0 0 -
-+R J 1978 o - Ap 30 0 1 S
-+R J 1978 o - S 30 0 0 -
-+R J 1985 o - Ap 1 0 1 S
-+R J 1985 o - O 1 0 0 -
-+R J 1986 1988 - Ap F>=1 0 1 S
-+R J 1986 1990 - O F>=1 0 0 -
-+R J 1989 o - May 8 0 1 S
-+R J 1990 o - Ap 27 0 1 S
-+R J 1991 o - Ap 17 0 1 S
-+R J 1991 o - S 27 0 0 -
-+R J 1992 o - Ap 10 0 1 S
-+R J 1992 1993 - O F>=1 0 0 -
-+R J 1993 1998 - Ap F>=1 0 1 S
-+R J 1994 o - S F>=15 0 0 -
-+R J 1995 1998 - S F>=15 0s 0 -
-+R J 1999 o - Jul 1 0s 1 S
-+R J 1999 2002 - S lastF 0s 0 -
-+R J 2000 2001 - Mar lastTh 0s 1 S
-+R J 2002 2012 - Mar lastTh 24 1 S
-+R J 2003 o - O 24 0s 0 -
-+R J 2004 o - O 15 0s 0 -
-+R J 2005 o - S lastF 0s 0 -
-+R J 2006 2011 - O lastF 0s 0 -
-+R J 2013 o - D 20 0 0 -
-+R J 2014 ma - Mar lastTh 24 1 S
-+R J 2014 ma - O lastF 0s 0 -
- Z Asia/Amman 2:23:44 - LMT 1931
--2 b EE%sT
-+2 J EE%sT
- Z Asia/Almaty 5:7:48 - LMT 1924 May 2
- 5 - +05 1930 Jun 21
--6 M +06/+07 1991 Mar 31 2s
--5 M +05/+06 1992 Ja 19 2s
--6 M +06/+07 2004 O 31 2s
-+6 R +06/+07 1991 Mar 31 2s
-+5 R +05/+06 1992 Ja 19 2s
-+6 R +06/+07 2004 O 31 2s
- 6 - +06
- Z Asia/Qyzylorda 4:21:52 - LMT 1924 May 2
- 4 - +04 1930 Jun 21
- 5 - +05 1981 Ap
- 5 1 +06 1981 O
- 6 - +06 1982 Ap
--5 M +05/+06 1991 Mar 31 2s
--4 M +04/+05 1991 S 29 2s
--5 M +05/+06 1992 Ja 19 2s
--6 M +06/+07 1992 Mar 29 2s
--5 M +05/+06 2004 O 31 2s
-+5 R +05/+06 1991 Mar 31 2s
-+4 R +04/+05 1991 S 29 2s
-+5 R +05/+06 1992 Ja 19 2s
-+6 R +06/+07 1992 Mar 29 2s
-+5 R +05/+06 2004 O 31 2s
- 6 - +06
- Z Asia/Aqtobe 3:48:40 - LMT 1924 May 2
- 4 - +04 1930 Jun 21
- 5 - +05 1981 Ap
- 5 1 +06 1981 O
- 6 - +06 1982 Ap
--5 M +05/+06 1991 Mar 31 2s
--4 M +04/+05 1992 Ja 19 2s
--5 M +05/+06 2004 O 31 2s
-+5 R +05/+06 1991 Mar 31 2s
-+4 R +04/+05 1992 Ja 19 2s
-+5 R +05/+06 2004 O 31 2s
- 5 - +05
- Z Asia/Aqtau 3:21:4 - LMT 1924 May 2
- 4 - +04 1930 Jun 21
- 5 - +05 1981 O
- 6 - +06 1982 Ap
--5 M +05/+06 1991 Mar 31 2s
--4 M +04/+05 1992 Ja 19 2s
--5 M +05/+06 1994 S 25 2s
--4 M +04/+05 2004 O 31 2s
-+5 R +05/+06 1991 Mar 31 2s
-+4 R +04/+05 1992 Ja 19 2s
-+5 R +05/+06 1994 S 25 2s
-+4 R +04/+05 2004 O 31 2s
- 5 - +05
- Z Asia/Atyrau 3:27:44 - LMT 1924 May 2
- 3 - +03 1930 Jun 21
- 5 - +05 1981 O
- 6 - +06 1982 Ap
--5 M +05/+06 1991 Mar 31 2s
--4 M +04/+05 1992 Ja 19 2s
--5 M +05/+06 1999 Mar 28 2s
--4 M +04/+05 2004 O 31 2s
-+5 R +05/+06 1991 Mar 31 2s
-+4 R +04/+05 1992 Ja 19 2s
-+5 R +05/+06 1999 Mar 28 2s
-+4 R +04/+05 2004 O 31 2s
- 5 - +05
- Z Asia/Oral 3:25:24 - LMT 1924 May 2
- 3 - +03 1930 Jun 21
- 5 - +05 1981 Ap
- 5 1 +06 1981 O
- 6 - +06 1982 Ap
--5 M +05/+06 1989 Mar 26 2s
--4 M +04/+05 1992 Ja 19 2s
--5 M +05/+06 1992 Mar 29 2s
--4 M +04/+05 2004 O 31 2s
-+5 R +05/+06 1989 Mar 26 2s
-+4 R +04/+05 1992 Ja 19 2s
-+5 R +05/+06 1992 Mar 29 2s
-+4 R +04/+05 2004 O 31 2s
- 5 - +05
--R c 1992 1996 - Ap Sun>=7 0s 1 -
--R c 1992 1996 - S lastSun 0 0 -
--R c 1997 2005 - Mar lastSun 2:30 1 -
--R c 1997 2004 - O lastSun 2:30 0 -
-+R KG 1992 1996 - Ap Sun>=7 0s 1 -
-+R KG 1992 1996 - S lastSun 0 0 -
-+R KG 1997 2005 - Mar lastSun 2:30 1 -
-+R KG 1997 2004 - O lastSun 2:30 0 -
- Z Asia/Bishkek 4:58:24 - LMT 1924 May 2
- 5 - +05 1930 Jun 21
--6 M +06/+07 1991 Mar 31 2s
--5 M +05/+06 1991 Au 31 2
--5 c +05/+06 2005 Au 12
-+6 R +06/+07 1991 Mar 31 2s
-+5 R +05/+06 1991 Au 31 2
-+5 KG +05/+06 2005 Au 12
- 6 - +06
--R d 1948 o - Jun 1 0 1 D
--R d 1948 o - S 13 0 0 S
--R d 1949 o - Ap 3 0 1 D
--R d 1949 1951 - S Sun>=8 0 0 S
--R d 1950 o - Ap 1 0 1 D
--R d 1951 o - May 6 0 1 D
--R d 1955 o - May 5 0 1 D
--R d 1955 o - S 9 0 0 S
--R d 1956 o - May 20 0 1 D
--R d 1956 o - S 30 0 0 S
--R d 1957 1960 - May Sun>=1 0 1 D
--R d 1957 1960 - S Sun>=18 0 0 S
--R d 1987 1988 - May Sun>=8 2 1 D
--R d 1987 1988 - O Sun>=8 3 0 S
-+R KR 1948 o - Jun 1 0 1 D
-+R KR 1948 o - S 13 0 0 S
-+R KR 1949 o - Ap 3 0 1 D
-+R KR 1949 1951 - S Sun>=8 0 0 S
-+R KR 1950 o - Ap 1 0 1 D
-+R KR 1951 o - May 6 0 1 D
-+R KR 1955 o - May 5 0 1 D
-+R KR 1955 o - S 9 0 0 S
-+R KR 1956 o - May 20 0 1 D
-+R KR 1956 o - S 30 0 0 S
-+R KR 1957 1960 - May Sun>=1 0 1 D
-+R KR 1957 1960 - S Sun>=18 0 0 S
-+R KR 1987 1988 - May Sun>=8 2 1 D
-+R KR 1987 1988 - O Sun>=8 3 0 S
- Z Asia/Seoul 8:27:52 - LMT 1908 Ap
- 8:30 - KST 1912
- 9 - JST 1945 S 8
- 9 - KST 1954 Mar 21
--8:30 d K%sT 1961 Au 10
--9 d K%sT
-+8:30 KR K%sT 1961 Au 10
-+9 KR K%sT
- Z Asia/Pyongyang 8:23 - LMT 1908 Ap
- 8:30 - KST 1912
- 9 - JST 1945 Au 24
- 9 - KST 2015 Au 15
--8:30 - KST 2018 May 5
-+8:30 - KST 2018 May 4 23:30
- 9 - KST
--R e 1920 o - Mar 28 0 1 S
--R e 1920 o - O 25 0 0 -
--R e 1921 o - Ap 3 0 1 S
--R e 1921 o - O 3 0 0 -
--R e 1922 o - Mar 26 0 1 S
--R e 1922 o - O 8 0 0 -
--R e 1923 o - Ap 22 0 1 S
--R e 1923 o - S 16 0 0 -
--R e 1957 1961 - May 1 0 1 S
--R e 1957 1961 - O 1 0 0 -
--R e 1972 o - Jun 22 0 1 S
--R e 1972 1977 - O 1 0 0 -
--R e 1973 1977 - May 1 0 1 S
--R e 1978 o - Ap 30 0 1 S
--R e 1978 o - S 30 0 0 -
--R e 1984 1987 - May 1 0 1 S
--R e 1984 1991 - O 16 0 0 -
--R e 1988 o - Jun 1 0 1 S
--R e 1989 o - May 10 0 1 S
--R e 1990 1992 - May 1 0 1 S
--R e 1992 o - O 4 0 0 -
--R e 1993 ma - Mar lastSun 0 1 S
--R e 1993 1998 - S lastSun 0 0 -
--R e 1999 ma - O lastSun 0 0 -
-+R l 1920 o - Mar 28 0 1 S
-+R l 1920 o - O 25 0 0 -
-+R l 1921 o - Ap 3 0 1 S
-+R l 1921 o - O 3 0 0 -
-+R l 1922 o - Mar 26 0 1 S
-+R l 1922 o - O 8 0 0 -
-+R l 1923 o - Ap 22 0 1 S
-+R l 1923 o - S 16 0 0 -
-+R l 1957 1961 - May 1 0 1 S
-+R l 1957 1961 - O 1 0 0 -
-+R l 1972 o - Jun 22 0 1 S
-+R l 1972 1977 - O 1 0 0 -
-+R l 1973 1977 - May 1 0 1 S
-+R l 1978 o - Ap 30 0 1 S
-+R l 1978 o - S 30 0 0 -
-+R l 1984 1987 - May 1 0 1 S
-+R l 1984 1991 - O 16 0 0 -
-+R l 1988 o - Jun 1 0 1 S
-+R l 1989 o - May 10 0 1 S
-+R l 1990 1992 - May 1 0 1 S
-+R l 1992 o - O 4 0 0 -
-+R l 1993 ma - Mar lastSun 0 1 S
-+R l 1993 1998 - S lastSun 0 0 -
-+R l 1999 ma - O lastSun 0 0 -
- Z Asia/Beirut 2:22 - LMT 1880
--2 e EE%sT
--R f 1935 1941 - S 14 0 0:20 -
--R f 1935 1941 - D 14 0 0 -
-+2 l EE%sT
-+R NB 1935 1941 - S 14 0 0:20 -
-+R NB 1935 1941 - D 14 0 0 -
- Z Asia/Kuala_Lumpur 6:46:46 - LMT 1901
- 6:55:25 - SMT 1905 Jun
- 7 - +07 1933
-@@ -827,98 +851,98 @@ Z Asia/Kuala_Lumpur 6:46:46 - LMT 1901
- 8 - +08
- Z Asia/Kuching 7:21:20 - LMT 1926 Mar
- 7:30 - +0730 1933
--8 f +08/+0820 1942 F 16
-+8 NB +08/+0820 1942 F 16
- 9 - +09 1945 S 12
- 8 - +08
- Z Indian/Maldives 4:54 - LMT 1880
- 4:54 - MMT 1960
- 5 - +05
--R g 1983 1984 - Ap 1 0 1 -
--R g 1983 o - O 1 0 0 -
--R g 1985 1998 - Mar lastSun 0 1 -
--R g 1984 1998 - S lastSun 0 0 -
--R g 2001 o - Ap lastSat 2 1 -
--R g 2001 2006 - S lastSat 2 0 -
--R g 2002 2006 - Mar lastSat 2 1 -
--R g 2015 2016 - Mar lastSat 2 1 -
--R g 2015 2016 - S lastSat 0 0 -
-+R X 1983 1984 - Ap 1 0 1 -
-+R X 1983 o - O 1 0 0 -
-+R X 1985 1998 - Mar lastSun 0 1 -
-+R X 1984 1998 - S lastSun 0 0 -
-+R X 2001 o - Ap lastSat 2 1 -
-+R X 2001 2006 - S lastSat 2 0 -
-+R X 2002 2006 - Mar lastSat 2 1 -
-+R X 2015 2016 - Mar lastSat 2 1 -
-+R X 2015 2016 - S lastSat 0 0 -
- Z Asia/Hovd 6:6:36 - LMT 1905 Au
- 6 - +06 1978
--7 g +07/+08
-+7 X +07/+08
- Z Asia/Ulaanbaatar 7:7:32 - LMT 1905 Au
- 7 - +07 1978
--8 g +08/+09
-+8 X +08/+09
- Z Asia/Choibalsan 7:38 - LMT 1905 Au
- 7 - +07 1978
- 8 - +08 1983 Ap
--9 g +09/+10 2008 Mar 31
--8 g +08/+09
-+9 X +09/+10 2008 Mar 31
-+8 X +08/+09
- Z Asia/Kathmandu 5:41:16 - LMT 1920
- 5:30 - +0530 1986
- 5:45 - +0545
--R h 2002 o - Ap Sun>=2 0 1 S
--R h 2002 o - O Sun>=2 0 0 -
--R h 2008 o - Jun 1 0 1 S
--R h 2008 2009 - N 1 0 0 -
--R h 2009 o - Ap 15 0 1 S
-+R PK 2002 o - Ap Sun>=2 0 1 S
-+R PK 2002 o - O Sun>=2 0 0 -
-+R PK 2008 o - Jun 1 0 1 S
-+R PK 2008 2009 - N 1 0 0 -
-+R PK 2009 o - Ap 15 0 1 S
- Z Asia/Karachi 4:28:12 - LMT 1907
- 5:30 - +0530 1942 S
- 5:30 1 +0630 1945 O 15
- 5:30 - +0530 1951 S 30
- 5 - +05 1971 Mar 26
--5 h PK%sT
--R i 1999 2005 - Ap F>=15 0 1 S
--R i 1999 2003 - O F>=15 0 0 -
--R i 2004 o - O 1 1 0 -
--R i 2005 o - O 4 2 0 -
--R i 2006 2007 - Ap 1 0 1 S
--R i 2006 o - S 22 0 0 -
--R i 2007 o - S Th>=8 2 0 -
--R i 2008 2009 - Mar lastF 0 1 S
--R i 2008 o - S 1 0 0 -
--R i 2009 o - S F>=1 1 0 -
--R i 2010 o - Mar 26 0 1 S
--R i 2010 o - Au 11 0 0 -
--R i 2011 o - Ap 1 0:1 1 S
--R i 2011 o - Au 1 0 0 -
--R i 2011 o - Au 30 0 1 S
--R i 2011 o - S 30 0 0 -
--R i 2012 2014 - Mar lastTh 24 1 S
--R i 2012 o - S 21 1 0 -
--R i 2013 o - S F>=21 0 0 -
--R i 2014 2015 - O F>=21 0 0 -
--R i 2015 o - Mar lastF 24 1 S
--R i 2016 ma - Mar Sat>=22 1 1 S
--R i 2016 ma - O lastSat 1 0 -
-+5 PK PK%sT
-+R P 1999 2005 - Ap F>=15 0 1 S
-+R P 1999 2003 - O F>=15 0 0 -
-+R P 2004 o - O 1 1 0 -
-+R P 2005 o - O 4 2 0 -
-+R P 2006 2007 - Ap 1 0 1 S
-+R P 2006 o - S 22 0 0 -
-+R P 2007 o - S Th>=8 2 0 -
-+R P 2008 2009 - Mar lastF 0 1 S
-+R P 2008 o - S 1 0 0 -
-+R P 2009 o - S F>=1 1 0 -
-+R P 2010 o - Mar 26 0 1 S
-+R P 2010 o - Au 11 0 0 -
-+R P 2011 o - Ap 1 0:1 1 S
-+R P 2011 o - Au 1 0 0 -
-+R P 2011 o - Au 30 0 1 S
-+R P 2011 o - S 30 0 0 -
-+R P 2012 2014 - Mar lastTh 24 1 S
-+R P 2012 o - S 21 1 0 -
-+R P 2013 o - S F>=21 0 0 -
-+R P 2014 2015 - O F>=21 0 0 -
-+R P 2015 o - Mar lastF 24 1 S
-+R P 2016 ma - Mar Sat>=22 1 1 S
-+R P 2016 ma - O lastSat 1 0 -
- Z Asia/Gaza 2:17:52 - LMT 1900 O
- 2 Z EET/EEST 1948 May 15
--2 B EE%sT 1967 Jun 5
-+2 K EE%sT 1967 Jun 5
- 2 Z I%sT 1996
--2 b EE%sT 1999
--2 i EE%sT 2008 Au 29
-+2 J EE%sT 1999
-+2 P EE%sT 2008 Au 29
- 2 - EET 2008 S
--2 i EE%sT 2010
-+2 P EE%sT 2010
- 2 - EET 2010 Mar 27 0:1
--2 i EE%sT 2011 Au
-+2 P EE%sT 2011 Au
- 2 - EET 2012
--2 i EE%sT
-+2 P EE%sT
- Z Asia/Hebron 2:20:23 - LMT 1900 O
- 2 Z EET/EEST 1948 May 15
--2 B EE%sT 1967 Jun 5
-+2 K EE%sT 1967 Jun 5
- 2 Z I%sT 1996
--2 b EE%sT 1999
--2 i EE%sT
--R j 1936 o - N 1 0 1 -
--R j 1937 o - F 1 0 0 -
--R j 1954 o - Ap 12 0 1 -
--R j 1954 o - Jul 1 0 0 -
--R j 1978 o - Mar 22 0 1 -
--R j 1978 o - S 21 0 0 -
-+2 J EE%sT 1999
-+2 P EE%sT
-+R PH 1936 o - N 1 0 1 D
-+R PH 1937 o - F 1 0 0 S
-+R PH 1954 o - Ap 12 0 1 D
-+R PH 1954 o - Jul 1 0 0 S
-+R PH 1978 o - Mar 22 0 1 D
-+R PH 1978 o - S 21 0 0 S
- Z Asia/Manila -15:56 - LMT 1844 D 31
- 8:4 - LMT 1899 May 11
--8 j +08/+09 1942 May
--9 - +09 1944 N
--8 j +08/+09
-+8 PH P%sT 1942 May
-+9 - JST 1944 N
-+8 PH P%sT
- Z Asia/Qatar 3:26:8 - LMT 1920
- 4 - +04 1972 Jun
- 3 - +03
-@@ -945,52 +969,52 @@ Z Asia/Colombo 5:19:24 - LMT 1880
- 6:30 - +0630 1996 O 26 0:30
- 6 - +06 2006 Ap 15 0:30
- 5:30 - +0530
--R k 1920 1923 - Ap Sun>=15 2 1 S
--R k 1920 1923 - O Sun>=1 2 0 -
--R k 1962 o - Ap 29 2 1 S
--R k 1962 o - O 1 2 0 -
--R k 1963 1965 - May 1 2 1 S
--R k 1963 o - S 30 2 0 -
--R k 1964 o - O 1 2 0 -
--R k 1965 o - S 30 2 0 -
--R k 1966 o - Ap 24 2 1 S
--R k 1966 1976 - O 1 2 0 -
--R k 1967 1978 - May 1 2 1 S
--R k 1977 1978 - S 1 2 0 -
--R k 1983 1984 - Ap 9 2 1 S
--R k 1983 1984 - O 1 2 0 -
--R k 1986 o - F 16 2 1 S
--R k 1986 o - O 9 2 0 -
--R k 1987 o - Mar 1 2 1 S
--R k 1987 1988 - O 31 2 0 -
--R k 1988 o - Mar 15 2 1 S
--R k 1989 o - Mar 31 2 1 S
--R k 1989 o - O 1 2 0 -
--R k 1990 o - Ap 1 2 1 S
--R k 1990 o - S 30 2 0 -
--R k 1991 o - Ap 1 0 1 S
--R k 1991 1992 - O 1 0 0 -
--R k 1992 o - Ap 8 0 1 S
--R k 1993 o - Mar 26 0 1 S
--R k 1993 o - S 25 0 0 -
--R k 1994 1996 - Ap 1 0 1 S
--R k 1994 2005 - O 1 0 0 -
--R k 1997 1998 - Mar lastM 0 1 S
--R k 1999 2006 - Ap 1 0 1 S
--R k 2006 o - S 22 0 0 -
--R k 2007 o - Mar lastF 0 1 S
--R k 2007 o - N F>=1 0 0 -
--R k 2008 o - Ap F>=1 0 1 S
--R k 2008 o - N 1 0 0 -
--R k 2009 o - Mar lastF 0 1 S
--R k 2010 2011 - Ap F>=1 0 1 S
--R k 2012 ma - Mar lastF 0 1 S
--R k 2009 ma - O lastF 0 0 -
-+R S 1920 1923 - Ap Sun>=15 2 1 S
-+R S 1920 1923 - O Sun>=1 2 0 -
-+R S 1962 o - Ap 29 2 1 S
-+R S 1962 o - O 1 2 0 -
-+R S 1963 1965 - May 1 2 1 S
-+R S 1963 o - S 30 2 0 -
-+R S 1964 o - O 1 2 0 -
-+R S 1965 o - S 30 2 0 -
-+R S 1966 o - Ap 24 2 1 S
-+R S 1966 1976 - O 1 2 0 -
-+R S 1967 1978 - May 1 2 1 S
-+R S 1977 1978 - S 1 2 0 -
-+R S 1983 1984 - Ap 9 2 1 S
-+R S 1983 1984 - O 1 2 0 -
-+R S 1986 o - F 16 2 1 S
-+R S 1986 o - O 9 2 0 -
-+R S 1987 o - Mar 1 2 1 S
-+R S 1987 1988 - O 31 2 0 -
-+R S 1988 o - Mar 15 2 1 S
-+R S 1989 o - Mar 31 2 1 S
-+R S 1989 o - O 1 2 0 -
-+R S 1990 o - Ap 1 2 1 S
-+R S 1990 o - S 30 2 0 -
-+R S 1991 o - Ap 1 0 1 S
-+R S 1991 1992 - O 1 0 0 -
-+R S 1992 o - Ap 8 0 1 S
-+R S 1993 o - Mar 26 0 1 S
-+R S 1993 o - S 25 0 0 -
-+R S 1994 1996 - Ap 1 0 1 S
-+R S 1994 2005 - O 1 0 0 -
-+R S 1997 1998 - Mar lastM 0 1 S
-+R S 1999 2006 - Ap 1 0 1 S
-+R S 2006 o - S 22 0 0 -
-+R S 2007 o - Mar lastF 0 1 S
-+R S 2007 o - N F>=1 0 0 -
-+R S 2008 o - Ap F>=1 0 1 S
-+R S 2008 o - N 1 0 0 -
-+R S 2009 o - Mar lastF 0 1 S
-+R S 2010 2011 - Ap F>=1 0 1 S
-+R S 2012 ma - Mar lastF 0 1 S
-+R S 2009 ma - O lastF 0 0 -
- Z Asia/Damascus 2:25:12 - LMT 1920
--2 k EE%sT
-+2 S EE%sT
- Z Asia/Dushanbe 4:35:12 - LMT 1924 May 2
- 5 - +05 1930 Jun 21
--6 M +06/+07 1991 Mar 31 2s
-+6 R +06/+07 1991 Mar 31 2s
- 5 1 +05/+06 1991 S 9 2s
- 5 - +05
- Z Asia/Bangkok 6:42:4 - LMT 1880
-@@ -1000,8 +1024,8 @@ Li Asia/Bangkok Asia/Phnom_Penh
- Li Asia/Bangkok Asia/Vientiane
- Z Asia/Ashgabat 3:53:32 - LMT 1924 May 2
- 4 - +04 1930 Jun 21
--5 M +05/+06 1991 Mar 31 2
--4 M +04/+05 1992 Ja 19 2
-+5 R +05/+06 1991 Mar 31 2
-+4 R +04/+05 1992 Ja 19 2
- 5 - +05
- Z Asia/Dubai 3:41:12 - LMT 1920
- 4 - +04
-@@ -1011,12 +1035,12 @@ Z Asia/Samarkand 4:27:53 - LMT 1924 May 2
- 5 - +05 1981 Ap
- 5 1 +06 1981 O
- 6 - +06 1982 Ap
--5 M +05/+06 1992
-+5 R +05/+06 1992
- 5 - +05
- Z Asia/Tashkent 4:37:11 - LMT 1924 May 2
- 5 - +05 1930 Jun 21
--6 M +06/+07 1991 Mar 31 2
--5 M +05/+06 1992
-+6 R +06/+07 1991 Mar 31 2
-+5 R +05/+06 1992
- 5 - +05
- Z Asia/Ho_Chi_Minh 7:6:40 - LMT 1906 Jul
- 7:6:30 - PLMT 1911 May
-@@ -1028,176 +1052,176 @@ Z Asia/Ho_Chi_Minh 7:6:40 - LMT 1906 Jul
- 7 - +07 1959 D 31 23
- 8 - +08 1975 Jun 13
- 7 - +07
--R l 1917 o - Ja 1 0:1 1 D
--R l 1917 o - Mar 25 2 0 S
--R l 1942 o - Ja 1 2 1 D
--R l 1942 o - Mar 29 2 0 S
--R l 1942 o - S 27 2 1 D
--R l 1943 1944 - Mar lastSun 2 0 S
--R l 1943 o - O 3 2 1 D
-+R AU 1917 o - Ja 1 0:1 1 D
-+R AU 1917 o - Mar 25 2 0 S
-+R AU 1942 o - Ja 1 2 1 D
-+R AU 1942 o - Mar 29 2 0 S
-+R AU 1942 o - S 27 2 1 D
-+R AU 1943 1944 - Mar lastSun 2 0 S
-+R AU 1943 o - O 3 2 1 D
- Z Australia/Darwin 8:43:20 - LMT 1895 F
- 9 - ACST 1899 May
--9:30 l AC%sT
--R m 1974 o - O lastSun 2s 1 D
--R m 1975 o - Mar Sun>=1 2s 0 S
--R m 1983 o - O lastSun 2s 1 D
--R m 1984 o - Mar Sun>=1 2s 0 S
--R m 1991 o - N 17 2s 1 D
--R m 1992 o - Mar Sun>=1 2s 0 S
--R m 2006 o - D 3 2s 1 D
--R m 2007 2009 - Mar lastSun 2s 0 S
--R m 2007 2008 - O lastSun 2s 1 D
-+9:30 AU AC%sT
-+R AW 1974 o - O lastSun 2s 1 D
-+R AW 1975 o - Mar Sun>=1 2s 0 S
-+R AW 1983 o - O lastSun 2s 1 D
-+R AW 1984 o - Mar Sun>=1 2s 0 S
-+R AW 1991 o - N 17 2s 1 D
-+R AW 1992 o - Mar Sun>=1 2s 0 S
-+R AW 2006 o - D 3 2s 1 D
-+R AW 2007 2009 - Mar lastSun 2s 0 S
-+R AW 2007 2008 - O lastSun 2s 1 D
- Z Australia/Perth 7:43:24 - LMT 1895 D
--8 l AW%sT 1943 Jul
--8 m AW%sT
-+8 AU AW%sT 1943 Jul
-+8 AW AW%sT
- Z Australia/Eucla 8:35:28 - LMT 1895 D
--8:45 l +0845/+0945 1943 Jul
--8:45 m +0845/+0945
--R n 1971 o - O lastSun 2s 1 D
--R n 1972 o - F lastSun 2s 0 S
--R n 1989 1991 - O lastSun 2s 1 D
--R n 1990 1992 - Mar Sun>=1 2s 0 S
--R o 1992 1993 - O lastSun 2s 1 D
--R o 1993 1994 - Mar Sun>=1 2s 0 S
-+8:45 AU +0845/+0945 1943 Jul
-+8:45 AW +0845/+0945
-+R AQ 1971 o - O lastSun 2s 1 D
-+R AQ 1972 o - F lastSun 2s 0 S
-+R AQ 1989 1991 - O lastSun 2s 1 D
-+R AQ 1990 1992 - Mar Sun>=1 2s 0 S
-+R Ho 1992 1993 - O lastSun 2s 1 D
-+R Ho 1993 1994 - Mar Sun>=1 2s 0 S
- Z Australia/Brisbane 10:12:8 - LMT 1895
--10 l AE%sT 1971
--10 n AE%sT
-+10 AU AE%sT 1971
-+10 AQ AE%sT
- Z Australia/Lindeman 9:55:56 - LMT 1895
--10 l AE%sT 1971
--10 n AE%sT 1992 Jul
--10 o AE%sT
--R p 1971 1985 - O lastSun 2s 1 D
--R p 1986 o - O 19 2s 1 D
--R p 1987 2007 - O lastSun 2s 1 D
--R p 1972 o - F 27 2s 0 S
--R p 1973 1985 - Mar Sun>=1 2s 0 S
--R p 1986 1990 - Mar Sun>=15 2s 0 S
--R p 1991 o - Mar 3 2s 0 S
--R p 1992 o - Mar 22 2s 0 S
--R p 1993 o - Mar 7 2s 0 S
--R p 1994 o - Mar 20 2s 0 S
--R p 1995 2005 - Mar lastSun 2s 0 S
--R p 2006 o - Ap 2 2s 0 S
--R p 2007 o - Mar lastSun 2s 0 S
--R p 2008 ma - Ap Sun>=1 2s 0 S
--R p 2008 ma - O Sun>=1 2s 1 D
-+10 AU AE%sT 1971
-+10 AQ AE%sT 1992 Jul
-+10 Ho AE%sT
-+R AS 1971 1985 - O lastSun 2s 1 D
-+R AS 1986 o - O 19 2s 1 D
-+R AS 1987 2007 - O lastSun 2s 1 D
-+R AS 1972 o - F 27 2s 0 S
-+R AS 1973 1985 - Mar Sun>=1 2s 0 S
-+R AS 1986 1990 - Mar Sun>=15 2s 0 S
-+R AS 1991 o - Mar 3 2s 0 S
-+R AS 1992 o - Mar 22 2s 0 S
-+R AS 1993 o - Mar 7 2s 0 S
-+R AS 1994 o - Mar 20 2s 0 S
-+R AS 1995 2005 - Mar lastSun 2s 0 S
-+R AS 2006 o - Ap 2 2s 0 S
-+R AS 2007 o - Mar lastSun 2s 0 S
-+R AS 2008 ma - Ap Sun>=1 2s 0 S
-+R AS 2008 ma - O Sun>=1 2s 1 D
- Z Australia/Adelaide 9:14:20 - LMT 1895 F
- 9 - ACST 1899 May
--9:30 l AC%sT 1971
--9:30 p AC%sT
--R q 1967 o - O Sun>=1 2s 1 D
--R q 1968 o - Mar lastSun 2s 0 S
--R q 1968 1985 - O lastSun 2s 1 D
--R q 1969 1971 - Mar Sun>=8 2s 0 S
--R q 1972 o - F lastSun 2s 0 S
--R q 1973 1981 - Mar Sun>=1 2s 0 S
--R q 1982 1983 - Mar lastSun 2s 0 S
--R q 1984 1986 - Mar Sun>=1 2s 0 S
--R q 1986 o - O Sun>=15 2s 1 D
--R q 1987 1990 - Mar Sun>=15 2s 0 S
--R q 1987 o - O Sun>=22 2s 1 D
--R q 1988 1990 - O lastSun 2s 1 D
--R q 1991 1999 - O Sun>=1 2s 1 D
--R q 1991 2005 - Mar lastSun 2s 0 S
--R q 2000 o - Au lastSun 2s 1 D
--R q 2001 ma - O Sun>=1 2s 1 D
--R q 2006 o - Ap Sun>=1 2s 0 S
--R q 2007 o - Mar lastSun 2s 0 S
--R q 2008 ma - Ap Sun>=1 2s 0 S
-+9:30 AU AC%sT 1971
-+9:30 AS AC%sT
-+R AT 1967 o - O Sun>=1 2s 1 D
-+R AT 1968 o - Mar lastSun 2s 0 S
-+R AT 1968 1985 - O lastSun 2s 1 D
-+R AT 1969 1971 - Mar Sun>=8 2s 0 S
-+R AT 1972 o - F lastSun 2s 0 S
-+R AT 1973 1981 - Mar Sun>=1 2s 0 S
-+R AT 1982 1983 - Mar lastSun 2s 0 S
-+R AT 1984 1986 - Mar Sun>=1 2s 0 S
-+R AT 1986 o - O Sun>=15 2s 1 D
-+R AT 1987 1990 - Mar Sun>=15 2s 0 S
-+R AT 1987 o - O Sun>=22 2s 1 D
-+R AT 1988 1990 - O lastSun 2s 1 D
-+R AT 1991 1999 - O Sun>=1 2s 1 D
-+R AT 1991 2005 - Mar lastSun 2s 0 S
-+R AT 2000 o - Au lastSun 2s 1 D
-+R AT 2001 ma - O Sun>=1 2s 1 D
-+R AT 2006 o - Ap Sun>=1 2s 0 S
-+R AT 2007 o - Mar lastSun 2s 0 S
-+R AT 2008 ma - Ap Sun>=1 2s 0 S
- Z Australia/Hobart 9:49:16 - LMT 1895 S
- 10 - AEST 1916 O 1 2
- 10 1 AEDT 1917 F
--10 l AE%sT 1967
--10 q AE%sT
-+10 AU AE%sT 1967
-+10 AT AE%sT
- Z Australia/Currie 9:35:28 - LMT 1895 S
- 10 - AEST 1916 O 1 2
- 10 1 AEDT 1917 F
--10 l AE%sT 1971 Jul
--10 q AE%sT
--R r 1971 1985 - O lastSun 2s 1 D
--R r 1972 o - F lastSun 2s 0 S
--R r 1973 1985 - Mar Sun>=1 2s 0 S
--R r 1986 1990 - Mar Sun>=15 2s 0 S
--R r 1986 1987 - O Sun>=15 2s 1 D
--R r 1988 1999 - O lastSun 2s 1 D
--R r 1991 1994 - Mar Sun>=1 2s 0 S
--R r 1995 2005 - Mar lastSun 2s 0 S
--R r 2000 o - Au lastSun 2s 1 D
--R r 2001 2007 - O lastSun 2s 1 D
--R r 2006 o - Ap Sun>=1 2s 0 S
--R r 2007 o - Mar lastSun 2s 0 S
--R r 2008 ma - Ap Sun>=1 2s 0 S
--R r 2008 ma - O Sun>=1 2s 1 D
-+10 AU AE%sT 1971 Jul
-+10 AT AE%sT
-+R AV 1971 1985 - O lastSun 2s 1 D
-+R AV 1972 o - F lastSun 2s 0 S
-+R AV 1973 1985 - Mar Sun>=1 2s 0 S
-+R AV 1986 1990 - Mar Sun>=15 2s 0 S
-+R AV 1986 1987 - O Sun>=15 2s 1 D
-+R AV 1988 1999 - O lastSun 2s 1 D
-+R AV 1991 1994 - Mar Sun>=1 2s 0 S
-+R AV 1995 2005 - Mar lastSun 2s 0 S
-+R AV 2000 o - Au lastSun 2s 1 D
-+R AV 2001 2007 - O lastSun 2s 1 D
-+R AV 2006 o - Ap Sun>=1 2s 0 S
-+R AV 2007 o - Mar lastSun 2s 0 S
-+R AV 2008 ma - Ap Sun>=1 2s 0 S
-+R AV 2008 ma - O Sun>=1 2s 1 D
- Z Australia/Melbourne 9:39:52 - LMT 1895 F
--10 l AE%sT 1971
--10 r AE%sT
--R s 1971 1985 - O lastSun 2s 1 D
--R s 1972 o - F 27 2s 0 S
--R s 1973 1981 - Mar Sun>=1 2s 0 S
--R s 1982 o - Ap Sun>=1 2s 0 S
--R s 1983 1985 - Mar Sun>=1 2s 0 S
--R s 1986 1989 - Mar Sun>=15 2s 0 S
--R s 1986 o - O 19 2s 1 D
--R s 1987 1999 - O lastSun 2s 1 D
--R s 1990 1995 - Mar Sun>=1 2s 0 S
--R s 1996 2005 - Mar lastSun 2s 0 S
--R s 2000 o - Au lastSun 2s 1 D
--R s 2001 2007 - O lastSun 2s 1 D
--R s 2006 o - Ap Sun>=1 2s 0 S
--R s 2007 o - Mar lastSun 2s 0 S
--R s 2008 ma - Ap Sun>=1 2s 0 S
--R s 2008 ma - O Sun>=1 2s 1 D
-+10 AU AE%sT 1971
-+10 AV AE%sT
-+R AN 1971 1985 - O lastSun 2s 1 D
-+R AN 1972 o - F 27 2s 0 S
-+R AN 1973 1981 - Mar Sun>=1 2s 0 S
-+R AN 1982 o - Ap Sun>=1 2s 0 S
-+R AN 1983 1985 - Mar Sun>=1 2s 0 S
-+R AN 1986 1989 - Mar Sun>=15 2s 0 S
-+R AN 1986 o - O 19 2s 1 D
-+R AN 1987 1999 - O lastSun 2s 1 D
-+R AN 1990 1995 - Mar Sun>=1 2s 0 S
-+R AN 1996 2005 - Mar lastSun 2s 0 S
-+R AN 2000 o - Au lastSun 2s 1 D
-+R AN 2001 2007 - O lastSun 2s 1 D
-+R AN 2006 o - Ap Sun>=1 2s 0 S
-+R AN 2007 o - Mar lastSun 2s 0 S
-+R AN 2008 ma - Ap Sun>=1 2s 0 S
-+R AN 2008 ma - O Sun>=1 2s 1 D
- Z Australia/Sydney 10:4:52 - LMT 1895 F
--10 l AE%sT 1971
--10 s AE%sT
-+10 AU AE%sT 1971
-+10 AN AE%sT
- Z Australia/Broken_Hill 9:25:48 - LMT 1895 F
- 10 - AEST 1896 Au 23
- 9 - ACST 1899 May
--9:30 l AC%sT 1971
--9:30 s AC%sT 2000
--9:30 p AC%sT
--R t 1981 1984 - O lastSun 2 1 -
--R t 1982 1985 - Mar Sun>=1 2 0 -
--R t 1985 o - O lastSun 2 0:30 -
--R t 1986 1989 - Mar Sun>=15 2 0 -
--R t 1986 o - O 19 2 0:30 -
--R t 1987 1999 - O lastSun 2 0:30 -
--R t 1990 1995 - Mar Sun>=1 2 0 -
--R t 1996 2005 - Mar lastSun 2 0 -
--R t 2000 o - Au lastSun 2 0:30 -
--R t 2001 2007 - O lastSun 2 0:30 -
--R t 2006 o - Ap Sun>=1 2 0 -
--R t 2007 o - Mar lastSun 2 0 -
--R t 2008 ma - Ap Sun>=1 2 0 -
--R t 2008 ma - O Sun>=1 2 0:30 -
-+9:30 AU AC%sT 1971
-+9:30 AN AC%sT 2000
-+9:30 AS AC%sT
-+R LH 1981 1984 - O lastSun 2 1 -
-+R LH 1982 1985 - Mar Sun>=1 2 0 -
-+R LH 1985 o - O lastSun 2 0:30 -
-+R LH 1986 1989 - Mar Sun>=15 2 0 -
-+R LH 1986 o - O 19 2 0:30 -
-+R LH 1987 1999 - O lastSun 2 0:30 -
-+R LH 1990 1995 - Mar Sun>=1 2 0 -
-+R LH 1996 2005 - Mar lastSun 2 0 -
-+R LH 2000 o - Au lastSun 2 0:30 -
-+R LH 2001 2007 - O lastSun 2 0:30 -
-+R LH 2006 o - Ap Sun>=1 2 0 -
-+R LH 2007 o - Mar lastSun 2 0 -
-+R LH 2008 ma - Ap Sun>=1 2 0 -
-+R LH 2008 ma - O Sun>=1 2 0:30 -
- Z Australia/Lord_Howe 10:36:20 - LMT 1895 F
- 10 - AEST 1981 Mar
--10:30 t +1030/+1130 1985 Jul
--10:30 t +1030/+11
-+10:30 LH +1030/+1130 1985 Jul
-+10:30 LH +1030/+11
- Z Antarctica/Macquarie 0 - -00 1899 N
- 10 - AEST 1916 O 1 2
- 10 1 AEDT 1917 F
--10 l AE%sT 1919 Ap 1 0s
-+10 AU AE%sT 1919 Ap 1 0s
- 0 - -00 1948 Mar 25
--10 l AE%sT 1967
--10 q AE%sT 2010 Ap 4 3
-+10 AU AE%sT 1967
-+10 AT AE%sT 2010 Ap 4 3
- 11 - +11
- Z Indian/Christmas 7:2:52 - LMT 1895 F
- 7 - +07
- Z Indian/Cocos 6:27:40 - LMT 1900
- 6:30 - +0630
--R u 1998 1999 - N Sun>=1 2 1 -
--R u 1999 2000 - F lastSun 3 0 -
--R u 2009 o - N 29 2 1 -
--R u 2010 o - Mar lastSun 3 0 -
--R u 2010 2013 - O Sun>=21 2 1 -
--R u 2011 o - Mar Sun>=1 3 0 -
--R u 2012 2013 - Ja Sun>=18 3 0 -
--R u 2014 o - Ja Sun>=18 2 0 -
--R u 2014 ma - N Sun>=1 2 1 -
--R u 2015 ma - Ja Sun>=14 3 0 -
-+R FJ 1998 1999 - N Sun>=1 2 1 -
-+R FJ 1999 2000 - F lastSun 3 0 -
-+R FJ 2009 o - N 29 2 1 -
-+R FJ 2010 o - Mar lastSun 3 0 -
-+R FJ 2010 2013 - O Sun>=21 2 1 -
-+R FJ 2011 o - Mar Sun>=1 3 0 -
-+R FJ 2012 2013 - Ja Sun>=18 3 0 -
-+R FJ 2014 o - Ja Sun>=18 2 0 -
-+R FJ 2014 ma - N Sun>=1 2 1 -
-+R FJ 2015 ma - Ja Sun>=13 3 0 -
- Z Pacific/Fiji 11:55:44 - LMT 1915 O 26
--12 u +12/+13
-+12 FJ +12/+13
- Z Pacific/Gambier -8:59:48 - LMT 1912 O
- -9 - -09
- Z Pacific/Marquesas -9:18 - LMT 1912 O
-@@ -1239,50 +1263,50 @@ Z Pacific/Nauru 11:7:40 - LMT 1921 Ja 15
- 9 - +09 1944 Au 15
- 11:30 - +1130 1979 May
- 12 - +12
--R v 1977 1978 - D Sun>=1 0 1 -
--R v 1978 1979 - F 27 0 0 -
--R v 1996 o - D 1 2s 1 -
--R v 1997 o - Mar 2 2s 0 -
-+R NC 1977 1978 - D Sun>=1 0 1 -
-+R NC 1978 1979 - F 27 0 0 -
-+R NC 1996 o - D 1 2s 1 -
-+R NC 1997 o - Mar 2 2s 0 -
- Z Pacific/Noumea 11:5:48 - LMT 1912 Ja 13
--11 v +11/+12
--R w 1927 o - N 6 2 1 S
--R w 1928 o - Mar 4 2 0 M
--R w 1928 1933 - O Sun>=8 2 0:30 S
--R w 1929 1933 - Mar Sun>=15 2 0 M
--R w 1934 1940 - Ap lastSun 2 0 M
--R w 1934 1940 - S lastSun 2 0:30 S
--R w 1946 o - Ja 1 0 0 S
--R w 1974 o - N Sun>=1 2s 1 D
--R x 1974 o - N Sun>=1 2:45s 1 -
--R w 1975 o - F lastSun 2s 0 S
--R x 1975 o - F lastSun 2:45s 0 -
--R w 1975 1988 - O lastSun 2s 1 D
--R x 1975 1988 - O lastSun 2:45s 1 -
--R w 1976 1989 - Mar Sun>=1 2s 0 S
--R x 1976 1989 - Mar Sun>=1 2:45s 0 -
--R w 1989 o - O Sun>=8 2s 1 D
--R x 1989 o - O Sun>=8 2:45s 1 -
--R w 1990 2006 - O Sun>=1 2s 1 D
--R x 1990 2006 - O Sun>=1 2:45s 1 -
--R w 1990 2007 - Mar Sun>=15 2s 0 S
--R x 1990 2007 - Mar Sun>=15 2:45s 0 -
--R w 2007 ma - S lastSun 2s 1 D
--R x 2007 ma - S lastSun 2:45s 1 -
--R w 2008 ma - Ap Sun>=1 2s 0 S
--R x 2008 ma - Ap Sun>=1 2:45s 0 -
-+11 NC +11/+12
-+R NZ 1927 o - N 6 2 1 S
-+R NZ 1928 o - Mar 4 2 0 M
-+R NZ 1928 1933 - O Sun>=8 2 0:30 S
-+R NZ 1929 1933 - Mar Sun>=15 2 0 M
-+R NZ 1934 1940 - Ap lastSun 2 0 M
-+R NZ 1934 1940 - S lastSun 2 0:30 S
-+R NZ 1946 o - Ja 1 0 0 S
-+R NZ 1974 o - N Sun>=1 2s 1 D
-+R k 1974 o - N Sun>=1 2:45s 1 -
-+R NZ 1975 o - F lastSun 2s 0 S
-+R k 1975 o - F lastSun 2:45s 0 -
-+R NZ 1975 1988 - O lastSun 2s 1 D
-+R k 1975 1988 - O lastSun 2:45s 1 -
-+R NZ 1976 1989 - Mar Sun>=1 2s 0 S
-+R k 1976 1989 - Mar Sun>=1 2:45s 0 -
-+R NZ 1989 o - O Sun>=8 2s 1 D
-+R k 1989 o - O Sun>=8 2:45s 1 -
-+R NZ 1990 2006 - O Sun>=1 2s 1 D
-+R k 1990 2006 - O Sun>=1 2:45s 1 -
-+R NZ 1990 2007 - Mar Sun>=15 2s 0 S
-+R k 1990 2007 - Mar Sun>=15 2:45s 0 -
-+R NZ 2007 ma - S lastSun 2s 1 D
-+R k 2007 ma - S lastSun 2:45s 1 -
-+R NZ 2008 ma - Ap Sun>=1 2s 0 S
-+R k 2008 ma - Ap Sun>=1 2:45s 0 -
- Z Pacific/Auckland 11:39:4 - LMT 1868 N 2
--11:30 w NZ%sT 1946
--12 w NZ%sT
-+11:30 NZ NZ%sT 1946
-+12 NZ NZ%sT
- Z Pacific/Chatham 12:13:48 - LMT 1868 N 2
- 12:15 - +1215 1946
--12:45 x +1245/+1345
-+12:45 k +1245/+1345
- Li Pacific/Auckland Antarctica/McMurdo
--R y 1978 o - N 12 0 0:30 -
--R y 1979 1991 - Mar Sun>=1 0 0 -
--R y 1979 1990 - O lastSun 0 0:30 -
-+R CK 1978 o - N 12 0 0:30 -
-+R CK 1979 1991 - Mar Sun>=1 0 0 -
-+R CK 1979 1990 - O lastSun 0 0:30 -
- Z Pacific/Rarotonga -10:39:4 - LMT 1901
- -10:30 - -1030 1978 N 12
---10 y -10/-0930
-+-10 CK -10/-0930
- Z Pacific/Niue -11:19:40 - LMT 1901
- -11:20 - -1120 1951
- -11:30 - -1130 1978 O
-@@ -1311,570 +1335,570 @@ Z Pacific/Pago_Pago 12:37:12 - LMT 1892 Jul 5
- -11:22:48 - LMT 1911
- -11 - SST
- Li Pacific/Pago_Pago Pacific/Midway
--R z 2010 o - S lastSun 0 1 -
--R z 2011 o - Ap Sat>=1 4 0 -
--R z 2011 o - S lastSat 3 1 -
--R z 2012 ma - Ap Sun>=1 4 0 -
--R z 2012 ma - S lastSun 3 1 -
-+R WS 2010 o - S lastSun 0 1 -
-+R WS 2011 o - Ap Sat>=1 4 0 -
-+R WS 2011 o - S lastSat 3 1 -
-+R WS 2012 ma - Ap Sun>=1 4 0 -
-+R WS 2012 ma - S lastSun 3 1 -
- Z Pacific/Apia 12:33:4 - LMT 1892 Jul 5
- -11:26:56 - LMT 1911
- -11:30 - -1130 1950
---11 z -11/-10 2011 D 29 24
--13 z +13/+14
-+-11 WS -11/-10 2011 D 29 24
-+13 WS +13/+14
- Z Pacific/Guadalcanal 10:39:48 - LMT 1912 O
- 11 - +11
- Z Pacific/Fakaofo -11:24:56 - LMT 1901
- -11 - -11 2011 D 30
- 13 - +13
--R ! 1999 o - O 7 2s 1 -
--R ! 2000 o - Mar 19 2s 0 -
--R ! 2000 2001 - N Sun>=1 2 1 -
--R ! 2001 2002 - Ja lastSun 2 0 -
--R ! 2016 o - N Sun>=1 2 1 -
--R ! 2017 o - Ja Sun>=15 3 0 -
-+R TO 1999 o - O 7 2s 1 -
-+R TO 2000 o - Mar 19 2s 0 -
-+R TO 2000 2001 - N Sun>=1 2 1 -
-+R TO 2001 2002 - Ja lastSun 2 0 -
-+R TO 2016 o - N Sun>=1 2 1 -
-+R TO 2017 o - Ja Sun>=15 3 0 -
- Z Pacific/Tongatapu 12:19:20 - LMT 1901
- 12:20 - +1220 1941
- 13 - +13 1999
--13 ! +13/+14
-+13 TO +13/+14
- Z Pacific/Funafuti 11:56:52 - LMT 1901
- 12 - +12
- Z Pacific/Wake 11:6:28 - LMT 1901
- 12 - +12
--R $ 1983 o - S 25 0 1 -
--R $ 1984 1991 - Mar Sun>=23 0 0 -
--R $ 1984 o - O 23 0 1 -
--R $ 1985 1991 - S Sun>=23 0 1 -
--R $ 1992 1993 - Ja Sun>=23 0 0 -
--R $ 1992 o - O Sun>=23 0 1 -
-+R VU 1983 o - S 25 0 1 -
-+R VU 1984 1991 - Mar Sun>=23 0 0 -
-+R VU 1984 o - O 23 0 1 -
-+R VU 1985 1991 - S Sun>=23 0 1 -
-+R VU 1992 1993 - Ja Sun>=23 0 0 -
-+R VU 1992 o - O Sun>=23 0 1 -
- Z Pacific/Efate 11:13:16 - LMT 1912 Ja 13
--11 $ +11/+12
-+11 VU +11/+12
- Z Pacific/Wallis 12:15:20 - LMT 1901
- 12 - +12
--R % 1916 o - May 21 2s 1 BST
--R % 1916 o - O 1 2s 0 GMT
--R % 1917 o - Ap 8 2s 1 BST
--R % 1917 o - S 17 2s 0 GMT
--R % 1918 o - Mar 24 2s 1 BST
--R % 1918 o - S 30 2s 0 GMT
--R % 1919 o - Mar 30 2s 1 BST
--R % 1919 o - S 29 2s 0 GMT
--R % 1920 o - Mar 28 2s 1 BST
--R % 1920 o - O 25 2s 0 GMT
--R % 1921 o - Ap 3 2s 1 BST
--R % 1921 o - O 3 2s 0 GMT
--R % 1922 o - Mar 26 2s 1 BST
--R % 1922 o - O 8 2s 0 GMT
--R % 1923 o - Ap Sun>=16 2s 1 BST
--R % 1923 1924 - S Sun>=16 2s 0 GMT
--R % 1924 o - Ap Sun>=9 2s 1 BST
--R % 1925 1926 - Ap Sun>=16 2s 1 BST
--R % 1925 1938 - O Sun>=2 2s 0 GMT
--R % 1927 o - Ap Sun>=9 2s 1 BST
--R % 1928 1929 - Ap Sun>=16 2s 1 BST
--R % 1930 o - Ap Sun>=9 2s 1 BST
--R % 1931 1932 - Ap Sun>=16 2s 1 BST
--R % 1933 o - Ap Sun>=9 2s 1 BST
--R % 1934 o - Ap Sun>=16 2s 1 BST
--R % 1935 o - Ap Sun>=9 2s 1 BST
--R % 1936 1937 - Ap Sun>=16 2s 1 BST
--R % 1938 o - Ap Sun>=9 2s 1 BST
--R % 1939 o - Ap Sun>=16 2s 1 BST
--R % 1939 o - N Sun>=16 2s 0 GMT
--R % 1940 o - F Sun>=23 2s 1 BST
--R % 1941 o - May Sun>=2 1s 2 BDST
--R % 1941 1943 - Au Sun>=9 1s 1 BST
--R % 1942 1944 - Ap Sun>=2 1s 2 BDST
--R % 1944 o - S Sun>=16 1s 1 BST
--R % 1945 o - Ap M>=2 1s 2 BDST
--R % 1945 o - Jul Sun>=9 1s 1 BST
--R % 1945 1946 - O Sun>=2 2s 0 GMT
--R % 1946 o - Ap Sun>=9 2s 1 BST
--R % 1947 o - Mar 16 2s 1 BST
--R % 1947 o - Ap 13 1s 2 BDST
--R % 1947 o - Au 10 1s 1 BST
--R % 1947 o - N 2 2s 0 GMT
--R % 1948 o - Mar 14 2s 1 BST
--R % 1948 o - O 31 2s 0 GMT
--R % 1949 o - Ap 3 2s 1 BST
--R % 1949 o - O 30 2s 0 GMT
--R % 1950 1952 - Ap Sun>=14 2s 1 BST
--R % 1950 1952 - O Sun>=21 2s 0 GMT
--R % 1953 o - Ap Sun>=16 2s 1 BST
--R % 1953 1960 - O Sun>=2 2s 0 GMT
--R % 1954 o - Ap Sun>=9 2s 1 BST
--R % 1955 1956 - Ap Sun>=16 2s 1 BST
--R % 1957 o - Ap Sun>=9 2s 1 BST
--R % 1958 1959 - Ap Sun>=16 2s 1 BST
--R % 1960 o - Ap Sun>=9 2s 1 BST
--R % 1961 1963 - Mar lastSun 2s 1 BST
--R % 1961 1968 - O Sun>=23 2s 0 GMT
--R % 1964 1967 - Mar Sun>=19 2s 1 BST
--R % 1968 o - F 18 2s 1 BST
--R % 1972 1980 - Mar Sun>=16 2s 1 BST
--R % 1972 1980 - O Sun>=23 2s 0 GMT
--R % 1981 1995 - Mar lastSun 1u 1 BST
--R % 1981 1989 - O Sun>=23 1u 0 GMT
--R % 1990 1995 - O Sun>=22 1u 0 GMT
-+R G 1916 o - May 21 2s 1 BST
-+R G 1916 o - O 1 2s 0 GMT
-+R G 1917 o - Ap 8 2s 1 BST
-+R G 1917 o - S 17 2s 0 GMT
-+R G 1918 o - Mar 24 2s 1 BST
-+R G 1918 o - S 30 2s 0 GMT
-+R G 1919 o - Mar 30 2s 1 BST
-+R G 1919 o - S 29 2s 0 GMT
-+R G 1920 o - Mar 28 2s 1 BST
-+R G 1920 o - O 25 2s 0 GMT
-+R G 1921 o - Ap 3 2s 1 BST
-+R G 1921 o - O 3 2s 0 GMT
-+R G 1922 o - Mar 26 2s 1 BST
-+R G 1922 o - O 8 2s 0 GMT
-+R G 1923 o - Ap Sun>=16 2s 1 BST
-+R G 1923 1924 - S Sun>=16 2s 0 GMT
-+R G 1924 o - Ap Sun>=9 2s 1 BST
-+R G 1925 1926 - Ap Sun>=16 2s 1 BST
-+R G 1925 1938 - O Sun>=2 2s 0 GMT
-+R G 1927 o - Ap Sun>=9 2s 1 BST
-+R G 1928 1929 - Ap Sun>=16 2s 1 BST
-+R G 1930 o - Ap Sun>=9 2s 1 BST
-+R G 1931 1932 - Ap Sun>=16 2s 1 BST
-+R G 1933 o - Ap Sun>=9 2s 1 BST
-+R G 1934 o - Ap Sun>=16 2s 1 BST
-+R G 1935 o - Ap Sun>=9 2s 1 BST
-+R G 1936 1937 - Ap Sun>=16 2s 1 BST
-+R G 1938 o - Ap Sun>=9 2s 1 BST
-+R G 1939 o - Ap Sun>=16 2s 1 BST
-+R G 1939 o - N Sun>=16 2s 0 GMT
-+R G 1940 o - F Sun>=23 2s 1 BST
-+R G 1941 o - May Sun>=2 1s 2 BDST
-+R G 1941 1943 - Au Sun>=9 1s 1 BST
-+R G 1942 1944 - Ap Sun>=2 1s 2 BDST
-+R G 1944 o - S Sun>=16 1s 1 BST
-+R G 1945 o - Ap M>=2 1s 2 BDST
-+R G 1945 o - Jul Sun>=9 1s 1 BST
-+R G 1945 1946 - O Sun>=2 2s 0 GMT
-+R G 1946 o - Ap Sun>=9 2s 1 BST
-+R G 1947 o - Mar 16 2s 1 BST
-+R G 1947 o - Ap 13 1s 2 BDST
-+R G 1947 o - Au 10 1s 1 BST
-+R G 1947 o - N 2 2s 0 GMT
-+R G 1948 o - Mar 14 2s 1 BST
-+R G 1948 o - O 31 2s 0 GMT
-+R G 1949 o - Ap 3 2s 1 BST
-+R G 1949 o - O 30 2s 0 GMT
-+R G 1950 1952 - Ap Sun>=14 2s 1 BST
-+R G 1950 1952 - O Sun>=21 2s 0 GMT
-+R G 1953 o - Ap Sun>=16 2s 1 BST
-+R G 1953 1960 - O Sun>=2 2s 0 GMT
-+R G 1954 o - Ap Sun>=9 2s 1 BST
-+R G 1955 1956 - Ap Sun>=16 2s 1 BST
-+R G 1957 o - Ap Sun>=9 2s 1 BST
-+R G 1958 1959 - Ap Sun>=16 2s 1 BST
-+R G 1960 o - Ap Sun>=9 2s 1 BST
-+R G 1961 1963 - Mar lastSun 2s 1 BST
-+R G 1961 1968 - O Sun>=23 2s 0 GMT
-+R G 1964 1967 - Mar Sun>=19 2s 1 BST
-+R G 1968 o - F 18 2s 1 BST
-+R G 1972 1980 - Mar Sun>=16 2s 1 BST
-+R G 1972 1980 - O Sun>=23 2s 0 GMT
-+R G 1981 1995 - Mar lastSun 1u 1 BST
-+R G 1981 1989 - O Sun>=23 1u 0 GMT
-+R G 1990 1995 - O Sun>=22 1u 0 GMT
- Z Europe/London -0:1:15 - LMT 1847 D 1 0s
--0 % %s 1968 O 27
-+0 G %s 1968 O 27
- 1 - BST 1971 O 31 2u
--0 % %s 1996
--0 O GMT/BST
-+0 G %s 1996
-+0 E GMT/BST
- Li Europe/London Europe/Jersey
- Li Europe/London Europe/Guernsey
- Li Europe/London Europe/Isle_of_Man
--R & 1971 o - O 31 2u -1 -
--R & 1972 1980 - Mar Sun>=16 2u 0 -
--R & 1972 1980 - O Sun>=23 2u -1 -
--R & 1981 ma - Mar lastSun 1u 0 -
--R & 1981 1989 - O Sun>=23 1u -1 -
--R & 1990 1995 - O Sun>=22 1u -1 -
--R & 1996 ma - O lastSun 1u -1 -
-+R IE 1971 o - O 31 2u -1 -
-+R IE 1972 1980 - Mar Sun>=16 2u 0 -
-+R IE 1972 1980 - O Sun>=23 2u -1 -
-+R IE 1981 ma - Mar lastSun 1u 0 -
-+R IE 1981 1989 - O Sun>=23 1u -1 -
-+R IE 1990 1995 - O Sun>=22 1u -1 -
-+R IE 1996 ma - O lastSun 1u -1 -
- Z Europe/Dublin -0:25 - LMT 1880 Au 2
- -0:25:21 - DMT 1916 May 21 2s
- -0:25:21 1 IST 1916 O 1 2s
--0 % %s 1921 D 6
--0 % GMT/IST 1940 F 25 2s
-+0 G %s 1921 D 6
-+0 G GMT/IST 1940 F 25 2s
- 0 1 IST 1946 O 6 2s
- 0 - GMT 1947 Mar 16 2s
- 0 1 IST 1947 N 2 2s
- 0 - GMT 1948 Ap 18 2s
--0 % GMT/IST 1968 O 27
--1 & IST/GMT
--R O 1977 1980 - Ap Sun>=1 1u 1 S
--R O 1977 o - S lastSun 1u 0 -
--R O 1978 o - O 1 1u 0 -
--R O 1979 1995 - S lastSun 1u 0 -
--R O 1981 ma - Mar lastSun 1u 1 S
--R O 1996 ma - O lastSun 1u 0 -
--R ' 1977 1980 - Ap Sun>=1 1s 1 S
--R ' 1977 o - S lastSun 1s 0 -
--R ' 1978 o - O 1 1s 0 -
--R ' 1979 1995 - S lastSun 1s 0 -
--R ' 1981 ma - Mar lastSun 1s 1 S
--R ' 1996 ma - O lastSun 1s 0 -
--R ( 1916 o - Ap 30 23 1 S
--R ( 1916 o - O 1 1 0 -
--R ( 1917 1918 - Ap M>=15 2s 1 S
--R ( 1917 1918 - S M>=15 2s 0 -
--R ( 1940 o - Ap 1 2s 1 S
--R ( 1942 o - N 2 2s 0 -
--R ( 1943 o - Mar 29 2s 1 S
--R ( 1943 o - O 4 2s 0 -
--R ( 1944 1945 - Ap M>=1 2s 1 S
--R ( 1944 o - O 2 2s 0 -
--R ( 1945 o - S 16 2s 0 -
--R ( 1977 1980 - Ap Sun>=1 2s 1 S
--R ( 1977 o - S lastSun 2s 0 -
--R ( 1978 o - O 1 2s 0 -
--R ( 1979 1995 - S lastSun 2s 0 -
--R ( 1981 ma - Mar lastSun 2s 1 S
--R ( 1996 ma - O lastSun 2s 0 -
--R W 1977 1980 - Ap Sun>=1 0 1 S
--R W 1977 o - S lastSun 0 0 -
--R W 1978 o - O 1 0 0 -
--R W 1979 1995 - S lastSun 0 0 -
--R W 1981 ma - Mar lastSun 0 1 S
--R W 1996 ma - O lastSun 0 0 -
--R M 1917 o - Jul 1 23 1 MST
--R M 1917 o - D 28 0 0 MMT
--R M 1918 o - May 31 22 2 MDST
--R M 1918 o - S 16 1 1 MST
--R M 1919 o - May 31 23 2 MDST
--R M 1919 o - Jul 1 0u 1 MSD
--R M 1919 o - Au 16 0 0 MSK
--R M 1921 o - F 14 23 1 MSD
--R M 1921 o - Mar 20 23 2 +05
--R M 1921 o - S 1 0 1 MSD
--R M 1921 o - O 1 0 0 -
--R M 1981 1984 - Ap 1 0 1 S
--R M 1981 1983 - O 1 0 0 -
--R M 1984 1995 - S lastSun 2s 0 -
--R M 1985 2010 - Mar lastSun 2s 1 S
--R M 1996 2010 - O lastSun 2s 0 -
--Z WET 0 O WE%sT
--Z CET 1 ( CE%sT
--Z MET 1 ( ME%sT
--Z EET 2 O EE%sT
--R ) 1940 o - Jun 16 0 1 S
--R ) 1942 o - N 2 3 0 -
--R ) 1943 o - Mar 29 2 1 S
--R ) 1943 o - Ap 10 3 0 -
--R ) 1974 o - May 4 0 1 S
--R ) 1974 o - O 2 0 0 -
--R ) 1975 o - May 1 0 1 S
--R ) 1975 o - O 2 0 0 -
--R ) 1976 o - May 2 0 1 S
--R ) 1976 o - O 3 0 0 -
--R ) 1977 o - May 8 0 1 S
--R ) 1977 o - O 2 0 0 -
--R ) 1978 o - May 6 0 1 S
--R ) 1978 o - O 1 0 0 -
--R ) 1979 o - May 5 0 1 S
--R ) 1979 o - S 30 0 0 -
--R ) 1980 o - May 3 0 1 S
--R ) 1980 o - O 4 0 0 -
--R ) 1981 o - Ap 26 0 1 S
--R ) 1981 o - S 27 0 0 -
--R ) 1982 o - May 2 0 1 S
--R ) 1982 o - O 3 0 0 -
--R ) 1983 o - Ap 18 0 1 S
--R ) 1983 o - O 1 0 0 -
--R ) 1984 o - Ap 1 0 1 S
-+0 G GMT/IST 1968 O 27
-+1 IE IST/GMT
-+R E 1977 1980 - Ap Sun>=1 1u 1 S
-+R E 1977 o - S lastSun 1u 0 -
-+R E 1978 o - O 1 1u 0 -
-+R E 1979 1995 - S lastSun 1u 0 -
-+R E 1981 ma - Mar lastSun 1u 1 S
-+R E 1996 ma - O lastSun 1u 0 -
-+R W- 1977 1980 - Ap Sun>=1 1s 1 S
-+R W- 1977 o - S lastSun 1s 0 -
-+R W- 1978 o - O 1 1s 0 -
-+R W- 1979 1995 - S lastSun 1s 0 -
-+R W- 1981 ma - Mar lastSun 1s 1 S
-+R W- 1996 ma - O lastSun 1s 0 -
-+R c 1916 o - Ap 30 23 1 S
-+R c 1916 o - O 1 1 0 -
-+R c 1917 1918 - Ap M>=15 2s 1 S
-+R c 1917 1918 - S M>=15 2s 0 -
-+R c 1940 o - Ap 1 2s 1 S
-+R c 1942 o - N 2 2s 0 -
-+R c 1943 o - Mar 29 2s 1 S
-+R c 1943 o - O 4 2s 0 -
-+R c 1944 1945 - Ap M>=1 2s 1 S
-+R c 1944 o - O 2 2s 0 -
-+R c 1945 o - S 16 2s 0 -
-+R c 1977 1980 - Ap Sun>=1 2s 1 S
-+R c 1977 o - S lastSun 2s 0 -
-+R c 1978 o - O 1 2s 0 -
-+R c 1979 1995 - S lastSun 2s 0 -
-+R c 1981 ma - Mar lastSun 2s 1 S
-+R c 1996 ma - O lastSun 2s 0 -
-+R e 1977 1980 - Ap Sun>=1 0 1 S
-+R e 1977 o - S lastSun 0 0 -
-+R e 1978 o - O 1 0 0 -
-+R e 1979 1995 - S lastSun 0 0 -
-+R e 1981 ma - Mar lastSun 0 1 S
-+R e 1996 ma - O lastSun 0 0 -
-+R R 1917 o - Jul 1 23 1 MST
-+R R 1917 o - D 28 0 0 MMT
-+R R 1918 o - May 31 22 2 MDST
-+R R 1918 o - S 16 1 1 MST
-+R R 1919 o - May 31 23 2 MDST
-+R R 1919 o - Jul 1 0u 1 MSD
-+R R 1919 o - Au 16 0 0 MSK
-+R R 1921 o - F 14 23 1 MSD
-+R R 1921 o - Mar 20 23 2 +05
-+R R 1921 o - S 1 0 1 MSD
-+R R 1921 o - O 1 0 0 -
-+R R 1981 1984 - Ap 1 0 1 S
-+R R 1981 1983 - O 1 0 0 -
-+R R 1984 1995 - S lastSun 2s 0 -
-+R R 1985 2010 - Mar lastSun 2s 1 S
-+R R 1996 2010 - O lastSun 2s 0 -
-+Z WET 0 E WE%sT
-+Z CET 1 c CE%sT
-+Z MET 1 c ME%sT
-+Z EET 2 E EE%sT
-+R q 1940 o - Jun 16 0 1 S
-+R q 1942 o - N 2 3 0 -
-+R q 1943 o - Mar 29 2 1 S
-+R q 1943 o - Ap 10 3 0 -
-+R q 1974 o - May 4 0 1 S
-+R q 1974 o - O 2 0 0 -
-+R q 1975 o - May 1 0 1 S
-+R q 1975 o - O 2 0 0 -
-+R q 1976 o - May 2 0 1 S
-+R q 1976 o - O 3 0 0 -
-+R q 1977 o - May 8 0 1 S
-+R q 1977 o - O 2 0 0 -
-+R q 1978 o - May 6 0 1 S
-+R q 1978 o - O 1 0 0 -
-+R q 1979 o - May 5 0 1 S
-+R q 1979 o - S 30 0 0 -
-+R q 1980 o - May 3 0 1 S
-+R q 1980 o - O 4 0 0 -
-+R q 1981 o - Ap 26 0 1 S
-+R q 1981 o - S 27 0 0 -
-+R q 1982 o - May 2 0 1 S
-+R q 1982 o - O 3 0 0 -
-+R q 1983 o - Ap 18 0 1 S
-+R q 1983 o - O 1 0 0 -
-+R q 1984 o - Ap 1 0 1 S
- Z Europe/Tirane 1:19:20 - LMT 1914
- 1 - CET 1940 Jun 16
--1 ) CE%sT 1984 Jul
--1 O CE%sT
-+1 q CE%sT 1984 Jul
-+1 E CE%sT
- Z Europe/Andorra 0:6:4 - LMT 1901
- 0 - WET 1946 S 30
- 1 - CET 1985 Mar 31 2
--1 O CE%sT
--R * 1920 o - Ap 5 2s 1 S
--R * 1920 o - S 13 2s 0 -
--R * 1946 o - Ap 14 2s 1 S
--R * 1946 1948 - O Sun>=1 2s 0 -
--R * 1947 o - Ap 6 2s 1 S
--R * 1948 o - Ap 18 2s 1 S
--R * 1980 o - Ap 6 0 1 S
--R * 1980 o - S 28 0 0 -
-+1 E CE%sT
-+R a 1920 o - Ap 5 2s 1 S
-+R a 1920 o - S 13 2s 0 -
-+R a 1946 o - Ap 14 2s 1 S
-+R a 1946 1948 - O Sun>=1 2s 0 -
-+R a 1947 o - Ap 6 2s 1 S
-+R a 1948 o - Ap 18 2s 1 S
-+R a 1980 o - Ap 6 0 1 S
-+R a 1980 o - S 28 0 0 -
- Z Europe/Vienna 1:5:21 - LMT 1893 Ap
--1 ( CE%sT 1920
--1 * CE%sT 1940 Ap 1 2s
--1 ( CE%sT 1945 Ap 2 2s
-+1 c CE%sT 1920
-+1 a CE%sT 1940 Ap 1 2s
-+1 c CE%sT 1945 Ap 2 2s
- 1 1 CEST 1945 Ap 12 2s
- 1 - CET 1946
--1 * CE%sT 1981
--1 O CE%sT
-+1 a CE%sT 1981
-+1 E CE%sT
- Z Europe/Minsk 1:50:16 - LMT 1880
- 1:50 - MMT 1924 May 2
- 2 - EET 1930 Jun 21
- 3 - MSK 1941 Jun 28
--1 ( CE%sT 1944 Jul 3
--3 M MSK/MSD 1990
-+1 c CE%sT 1944 Jul 3
-+3 R MSK/MSD 1990
- 3 - MSK 1991 Mar 31 2s
--2 M EE%sT 2011 Mar 27 2s
-+2 R EE%sT 2011 Mar 27 2s
- 3 - +03
--R + 1918 o - Mar 9 0s 1 S
--R + 1918 1919 - O Sat>=1 23s 0 -
--R + 1919 o - Mar 1 23s 1 S
--R + 1920 o - F 14 23s 1 S
--R + 1920 o - O 23 23s 0 -
--R + 1921 o - Mar 14 23s 1 S
--R + 1921 o - O 25 23s 0 -
--R + 1922 o - Mar 25 23s 1 S
--R + 1922 1927 - O Sat>=1 23s 0 -
--R + 1923 o - Ap 21 23s 1 S
--R + 1924 o - Mar 29 23s 1 S
--R + 1925 o - Ap 4 23s 1 S
--R + 1926 o - Ap 17 23s 1 S
--R + 1927 o - Ap 9 23s 1 S
--R + 1928 o - Ap 14 23s 1 S
--R + 1928 1938 - O Sun>=2 2s 0 -
--R + 1929 o - Ap 21 2s 1 S
--R + 1930 o - Ap 13 2s 1 S
--R + 1931 o - Ap 19 2s 1 S
--R + 1932 o - Ap 3 2s 1 S
--R + 1933 o - Mar 26 2s 1 S
--R + 1934 o - Ap 8 2s 1 S
--R + 1935 o - Mar 31 2s 1 S
--R + 1936 o - Ap 19 2s 1 S
--R + 1937 o - Ap 4 2s 1 S
--R + 1938 o - Mar 27 2s 1 S
--R + 1939 o - Ap 16 2s 1 S
--R + 1939 o - N 19 2s 0 -
--R + 1940 o - F 25 2s 1 S
--R + 1944 o - S 17 2s 0 -
--R + 1945 o - Ap 2 2s 1 S
--R + 1945 o - S 16 2s 0 -
--R + 1946 o - May 19 2s 1 S
--R + 1946 o - O 7 2s 0 -
-+R b 1918 o - Mar 9 0s 1 S
-+R b 1918 1919 - O Sat>=1 23s 0 -
-+R b 1919 o - Mar 1 23s 1 S
-+R b 1920 o - F 14 23s 1 S
-+R b 1920 o - O 23 23s 0 -
-+R b 1921 o - Mar 14 23s 1 S
-+R b 1921 o - O 25 23s 0 -
-+R b 1922 o - Mar 25 23s 1 S
-+R b 1922 1927 - O Sat>=1 23s 0 -
-+R b 1923 o - Ap 21 23s 1 S
-+R b 1924 o - Mar 29 23s 1 S
-+R b 1925 o - Ap 4 23s 1 S
-+R b 1926 o - Ap 17 23s 1 S
-+R b 1927 o - Ap 9 23s 1 S
-+R b 1928 o - Ap 14 23s 1 S
-+R b 1928 1938 - O Sun>=2 2s 0 -
-+R b 1929 o - Ap 21 2s 1 S
-+R b 1930 o - Ap 13 2s 1 S
-+R b 1931 o - Ap 19 2s 1 S
-+R b 1932 o - Ap 3 2s 1 S
-+R b 1933 o - Mar 26 2s 1 S
-+R b 1934 o - Ap 8 2s 1 S
-+R b 1935 o - Mar 31 2s 1 S
-+R b 1936 o - Ap 19 2s 1 S
-+R b 1937 o - Ap 4 2s 1 S
-+R b 1938 o - Mar 27 2s 1 S
-+R b 1939 o - Ap 16 2s 1 S
-+R b 1939 o - N 19 2s 0 -
-+R b 1940 o - F 25 2s 1 S
-+R b 1944 o - S 17 2s 0 -
-+R b 1945 o - Ap 2 2s 1 S
-+R b 1945 o - S 16 2s 0 -
-+R b 1946 o - May 19 2s 1 S
-+R b 1946 o - O 7 2s 0 -
- Z Europe/Brussels 0:17:30 - LMT 1880
- 0:17:30 - BMT 1892 May 1 12
- 0 - WET 1914 N 8
- 1 - CET 1916 May
--1 ( CE%sT 1918 N 11 11u
--0 + WE%sT 1940 May 20 2s
--1 ( CE%sT 1944 S 3
--1 + CE%sT 1977
--1 O CE%sT
--R , 1979 o - Mar 31 23 1 S
--R , 1979 o - O 1 1 0 -
--R , 1980 1982 - Ap Sat>=1 23 1 S
--R , 1980 o - S 29 1 0 -
--R , 1981 o - S 27 2 0 -
-+1 c CE%sT 1918 N 11 11u
-+0 b WE%sT 1940 May 20 2s
-+1 c CE%sT 1944 S 3
-+1 b CE%sT 1977
-+1 E CE%sT
-+R BG 1979 o - Mar 31 23 1 S
-+R BG 1979 o - O 1 1 0 -
-+R BG 1980 1982 - Ap Sat>=1 23 1 S
-+R BG 1980 o - S 29 1 0 -
-+R BG 1981 o - S 27 2 0 -
- Z Europe/Sofia 1:33:16 - LMT 1880
- 1:56:56 - IMT 1894 N 30
- 2 - EET 1942 N 2 3
--1 ( CE%sT 1945
-+1 c CE%sT 1945
- 1 - CET 1945 Ap 2 3
- 2 - EET 1979 Mar 31 23
--2 , EE%sT 1982 S 26 3
--2 ( EE%sT 1991
--2 W EE%sT 1997
--2 O EE%sT
--R . 1945 o - Ap M>=1 2s 1 S
--R . 1945 o - O 1 2s 0 -
--R . 1946 o - May 6 2s 1 S
--R . 1946 1949 - O Sun>=1 2s 0 -
--R . 1947 1948 - Ap Sun>=15 2s 1 S
--R . 1949 o - Ap 9 2s 1 S
-+2 BG EE%sT 1982 S 26 3
-+2 c EE%sT 1991
-+2 e EE%sT 1997
-+2 E EE%sT
-+R CZ 1945 o - Ap M>=1 2s 1 S
-+R CZ 1945 o - O 1 2s 0 -
-+R CZ 1946 o - May 6 2s 1 S
-+R CZ 1946 1949 - O Sun>=1 2s 0 -
-+R CZ 1947 1948 - Ap Sun>=15 2s 1 S
-+R CZ 1949 o - Ap 9 2s 1 S
- Z Europe/Prague 0:57:44 - LMT 1850
- 0:57:44 - PMT 1891 O
--1 ( CE%sT 1945 May 9
--1 . CE%sT 1946 D 1 3
-+1 c CE%sT 1945 May 9
-+1 CZ CE%sT 1946 D 1 3
- 1 -1 GMT 1947 F 23 2
--1 . CE%sT 1979
--1 O CE%sT
--R / 1916 o - May 14 23 1 S
--R / 1916 o - S 30 23 0 -
--R / 1940 o - May 15 0 1 S
--R / 1945 o - Ap 2 2s 1 S
--R / 1945 o - Au 15 2s 0 -
--R / 1946 o - May 1 2s 1 S
--R / 1946 o - S 1 2s 0 -
--R / 1947 o - May 4 2s 1 S
--R / 1947 o - Au 10 2s 0 -
--R / 1948 o - May 9 2s 1 S
--R / 1948 o - Au 8 2s 0 -
-+1 CZ CE%sT 1979
-+1 E CE%sT
-+R D 1916 o - May 14 23 1 S
-+R D 1916 o - S 30 23 0 -
-+R D 1940 o - May 15 0 1 S
-+R D 1945 o - Ap 2 2s 1 S
-+R D 1945 o - Au 15 2s 0 -
-+R D 1946 o - May 1 2s 1 S
-+R D 1946 o - S 1 2s 0 -
-+R D 1947 o - May 4 2s 1 S
-+R D 1947 o - Au 10 2s 0 -
-+R D 1948 o - May 9 2s 1 S
-+R D 1948 o - Au 8 2s 0 -
- Z Europe/Copenhagen 0:50:20 - LMT 1890
- 0:50:20 - CMT 1894
--1 / CE%sT 1942 N 2 2s
--1 ( CE%sT 1945 Ap 2 2
--1 / CE%sT 1980
--1 O CE%sT
-+1 D CE%sT 1942 N 2 2s
-+1 c CE%sT 1945 Ap 2 2
-+1 D CE%sT 1980
-+1 E CE%sT
- Z Atlantic/Faroe -0:27:4 - LMT 1908 Ja 11
- 0 - WET 1981
--0 O WE%sT
--R : 1991 1992 - Mar lastSun 2 1 D
--R : 1991 1992 - S lastSun 2 0 S
--R : 1993 2006 - Ap Sun>=1 2 1 D
--R : 1993 2006 - O lastSun 2 0 S
--R : 2007 ma - Mar Sun>=8 2 1 D
--R : 2007 ma - N Sun>=1 2 0 S
-+0 E WE%sT
-+R Th 1991 1992 - Mar lastSun 2 1 D
-+R Th 1991 1992 - S lastSun 2 0 S
-+R Th 1993 2006 - Ap Sun>=1 2 1 D
-+R Th 1993 2006 - O lastSun 2 0 S
-+R Th 2007 ma - Mar Sun>=8 2 1 D
-+R Th 2007 ma - N Sun>=1 2 0 S
- Z America/Danmarkshavn -1:14:40 - LMT 1916 Jul 28
- -3 - -03 1980 Ap 6 2
---3 O -03/-02 1996
-+-3 E -03/-02 1996
- 0 - GMT
- Z America/Scoresbysund -1:27:52 - LMT 1916 Jul 28
- -2 - -02 1980 Ap 6 2
---2 ( -02/-01 1981 Mar 29
---1 O -01/+00
-+-2 c -02/-01 1981 Mar 29
-+-1 E -01/+00
- Z America/Godthab -3:26:56 - LMT 1916 Jul 28
- -3 - -03 1980 Ap 6 2
---3 O -03/-02
-+-3 E -03/-02
- Z America/Thule -4:35:8 - LMT 1916 Jul 28
---4 : A%sT
-+-4 Th A%sT
- Z Europe/Tallinn 1:39 - LMT 1880
- 1:39 - TMT 1918 F
--1 ( CE%sT 1919 Jul
-+1 c CE%sT 1919 Jul
- 1:39 - TMT 1921 May
- 2 - EET 1940 Au 6
- 3 - MSK 1941 S 15
--1 ( CE%sT 1944 S 22
--3 M MSK/MSD 1989 Mar 26 2s
-+1 c CE%sT 1944 S 22
-+3 R MSK/MSD 1989 Mar 26 2s
- 2 1 EEST 1989 S 24 2s
--2 ( EE%sT 1998 S 22
--2 O EE%sT 1999 O 31 4
-+2 c EE%sT 1998 S 22
-+2 E EE%sT 1999 O 31 4
- 2 - EET 2002 F 21
--2 O EE%sT
--R ; 1942 o - Ap 2 24 1 S
--R ; 1942 o - O 4 1 0 -
--R ; 1981 1982 - Mar lastSun 2 1 S
--R ; 1981 1982 - S lastSun 3 0 -
-+2 E EE%sT
-+R FI 1942 o - Ap 2 24 1 S
-+R FI 1942 o - O 4 1 0 -
-+R FI 1981 1982 - Mar lastSun 2 1 S
-+R FI 1981 1982 - S lastSun 3 0 -
- Z Europe/Helsinki 1:39:49 - LMT 1878 May 31
- 1:39:49 - HMT 1921 May
--2 ; EE%sT 1983
--2 O EE%sT
-+2 FI EE%sT 1983
-+2 E EE%sT
- Li Europe/Helsinki Europe/Mariehamn
--R < 1916 o - Jun 14 23s 1 S
--R < 1916 1919 - O Sun>=1 23s 0 -
--R < 1917 o - Mar 24 23s 1 S
--R < 1918 o - Mar 9 23s 1 S
--R < 1919 o - Mar 1 23s 1 S
--R < 1920 o - F 14 23s 1 S
--R < 1920 o - O 23 23s 0 -
--R < 1921 o - Mar 14 23s 1 S
--R < 1921 o - O 25 23s 0 -
--R < 1922 o - Mar 25 23s 1 S
--R < 1922 1938 - O Sat>=1 23s 0 -
--R < 1923 o - May 26 23s 1 S
--R < 1924 o - Mar 29 23s 1 S
--R < 1925 o - Ap 4 23s 1 S
--R < 1926 o - Ap 17 23s 1 S
--R < 1927 o - Ap 9 23s 1 S
--R < 1928 o - Ap 14 23s 1 S
--R < 1929 o - Ap 20 23s 1 S
--R < 1930 o - Ap 12 23s 1 S
--R < 1931 o - Ap 18 23s 1 S
--R < 1932 o - Ap 2 23s 1 S
--R < 1933 o - Mar 25 23s 1 S
--R < 1934 o - Ap 7 23s 1 S
--R < 1935 o - Mar 30 23s 1 S
--R < 1936 o - Ap 18 23s 1 S
--R < 1937 o - Ap 3 23s 1 S
--R < 1938 o - Mar 26 23s 1 S
--R < 1939 o - Ap 15 23s 1 S
--R < 1939 o - N 18 23s 0 -
--R < 1940 o - F 25 2 1 S
--R < 1941 o - May 5 0 2 M
--R < 1941 o - O 6 0 1 S
--R < 1942 o - Mar 9 0 2 M
--R < 1942 o - N 2 3 1 S
--R < 1943 o - Mar 29 2 2 M
--R < 1943 o - O 4 3 1 S
--R < 1944 o - Ap 3 2 2 M
--R < 1944 o - O 8 1 1 S
--R < 1945 o - Ap 2 2 2 M
--R < 1945 o - S 16 3 0 -
--R < 1976 o - Mar 28 1 1 S
--R < 1976 o - S 26 1 0 -
-+R F 1916 o - Jun 14 23s 1 S
-+R F 1916 1919 - O Sun>=1 23s 0 -
-+R F 1917 o - Mar 24 23s 1 S
-+R F 1918 o - Mar 9 23s 1 S
-+R F 1919 o - Mar 1 23s 1 S
-+R F 1920 o - F 14 23s 1 S
-+R F 1920 o - O 23 23s 0 -
-+R F 1921 o - Mar 14 23s 1 S
-+R F 1921 o - O 25 23s 0 -
-+R F 1922 o - Mar 25 23s 1 S
-+R F 1922 1938 - O Sat>=1 23s 0 -
-+R F 1923 o - May 26 23s 1 S
-+R F 1924 o - Mar 29 23s 1 S
-+R F 1925 o - Ap 4 23s 1 S
-+R F 1926 o - Ap 17 23s 1 S
-+R F 1927 o - Ap 9 23s 1 S
-+R F 1928 o - Ap 14 23s 1 S
-+R F 1929 o - Ap 20 23s 1 S
-+R F 1930 o - Ap 12 23s 1 S
-+R F 1931 o - Ap 18 23s 1 S
-+R F 1932 o - Ap 2 23s 1 S
-+R F 1933 o - Mar 25 23s 1 S
-+R F 1934 o - Ap 7 23s 1 S
-+R F 1935 o - Mar 30 23s 1 S
-+R F 1936 o - Ap 18 23s 1 S
-+R F 1937 o - Ap 3 23s 1 S
-+R F 1938 o - Mar 26 23s 1 S
-+R F 1939 o - Ap 15 23s 1 S
-+R F 1939 o - N 18 23s 0 -
-+R F 1940 o - F 25 2 1 S
-+R F 1941 o - May 5 0 2 M
-+R F 1941 o - O 6 0 1 S
-+R F 1942 o - Mar 9 0 2 M
-+R F 1942 o - N 2 3 1 S
-+R F 1943 o - Mar 29 2 2 M
-+R F 1943 o - O 4 3 1 S
-+R F 1944 o - Ap 3 2 2 M
-+R F 1944 o - O 8 1 1 S
-+R F 1945 o - Ap 2 2 2 M
-+R F 1945 o - S 16 3 0 -
-+R F 1976 o - Mar 28 1 1 S
-+R F 1976 o - S 26 1 0 -
- Z Europe/Paris 0:9:21 - LMT 1891 Mar 15 0:1
- 0:9:21 - PMT 1911 Mar 11 0:1
--0 < WE%sT 1940 Jun 14 23
--1 ( CE%sT 1944 Au 25
--0 < WE%sT 1945 S 16 3
--1 < CE%sT 1977
--1 O CE%sT
--R = 1946 o - Ap 14 2s 1 S
--R = 1946 o - O 7 2s 0 -
--R = 1947 1949 - O Sun>=1 2s 0 -
--R = 1947 o - Ap 6 3s 1 S
--R = 1947 o - May 11 2s 2 M
--R = 1947 o - Jun 29 3 1 S
--R = 1948 o - Ap 18 2s 1 S
--R = 1949 o - Ap 10 2s 1 S
--R > 1945 o - May 24 2 2 M
--R > 1945 o - S 24 3 1 S
--R > 1945 o - N 18 2s 0 -
-+0 F WE%sT 1940 Jun 14 23
-+1 c CE%sT 1944 Au 25
-+0 F WE%sT 1945 S 16 3
-+1 F CE%sT 1977
-+1 E CE%sT
-+R DE 1946 o - Ap 14 2s 1 S
-+R DE 1946 o - O 7 2s 0 -
-+R DE 1947 1949 - O Sun>=1 2s 0 -
-+R DE 1947 o - Ap 6 3s 1 S
-+R DE 1947 o - May 11 2s 2 M
-+R DE 1947 o - Jun 29 3 1 S
-+R DE 1948 o - Ap 18 2s 1 S
-+R DE 1949 o - Ap 10 2s 1 S
-+R So 1945 o - May 24 2 2 M
-+R So 1945 o - S 24 3 1 S
-+R So 1945 o - N 18 2s 0 -
- Z Europe/Berlin 0:53:28 - LMT 1893 Ap
--1 ( CE%sT 1945 May 24 2
--1 > CE%sT 1946
--1 = CE%sT 1980
--1 O CE%sT
-+1 c CE%sT 1945 May 24 2
-+1 So CE%sT 1946
-+1 DE CE%sT 1980
-+1 E CE%sT
- Li Europe/Zurich Europe/Busingen
- Z Europe/Gibraltar -0:21:24 - LMT 1880 Au 2 0s
--0 % %s 1957 Ap 14 2
-+0 G %s 1957 Ap 14 2
- 1 - CET 1982
--1 O CE%sT
--R ? 1932 o - Jul 7 0 1 S
--R ? 1932 o - S 1 0 0 -
--R ? 1941 o - Ap 7 0 1 S
--R ? 1942 o - N 2 3 0 -
--R ? 1943 o - Mar 30 0 1 S
--R ? 1943 o - O 4 0 0 -
--R ? 1952 o - Jul 1 0 1 S
--R ? 1952 o - N 2 0 0 -
--R ? 1975 o - Ap 12 0s 1 S
--R ? 1975 o - N 26 0s 0 -
--R ? 1976 o - Ap 11 2s 1 S
--R ? 1976 o - O 10 2s 0 -
--R ? 1977 1978 - Ap Sun>=1 2s 1 S
--R ? 1977 o - S 26 2s 0 -
--R ? 1978 o - S 24 4 0 -
--R ? 1979 o - Ap 1 9 1 S
--R ? 1979 o - S 29 2 0 -
--R ? 1980 o - Ap 1 0 1 S
--R ? 1980 o - S 28 0 0 -
-+1 E CE%sT
-+R g 1932 o - Jul 7 0 1 S
-+R g 1932 o - S 1 0 0 -
-+R g 1941 o - Ap 7 0 1 S
-+R g 1942 o - N 2 3 0 -
-+R g 1943 o - Mar 30 0 1 S
-+R g 1943 o - O 4 0 0 -
-+R g 1952 o - Jul 1 0 1 S
-+R g 1952 o - N 2 0 0 -
-+R g 1975 o - Ap 12 0s 1 S
-+R g 1975 o - N 26 0s 0 -
-+R g 1976 o - Ap 11 2s 1 S
-+R g 1976 o - O 10 2s 0 -
-+R g 1977 1978 - Ap Sun>=1 2s 1 S
-+R g 1977 o - S 26 2s 0 -
-+R g 1978 o - S 24 4 0 -
-+R g 1979 o - Ap 1 9 1 S
-+R g 1979 o - S 29 2 0 -
-+R g 1980 o - Ap 1 0 1 S
-+R g 1980 o - S 28 0 0 -
- Z Europe/Athens 1:34:52 - LMT 1895 S 14
- 1:34:52 - AMT 1916 Jul 28 0:1
--2 ? EE%sT 1941 Ap 30
--1 ? CE%sT 1944 Ap 4
--2 ? EE%sT 1981
--2 O EE%sT
--R @ 1918 o - Ap 1 3 1 S
--R @ 1918 o - S 16 3 0 -
--R @ 1919 o - Ap 15 3 1 S
--R @ 1919 o - N 24 3 0 -
--R @ 1945 o - May 1 23 1 S
--R @ 1945 o - N 1 0 0 -
--R @ 1946 o - Mar 31 2s 1 S
--R @ 1946 1949 - O Sun>=1 2s 0 -
--R @ 1947 1949 - Ap Sun>=4 2s 1 S
--R @ 1950 o - Ap 17 2s 1 S
--R @ 1950 o - O 23 2s 0 -
--R @ 1954 1955 - May 23 0 1 S
--R @ 1954 1955 - O 3 0 0 -
--R @ 1956 o - Jun Sun>=1 0 1 S
--R @ 1956 o - S lastSun 0 0 -
--R @ 1957 o - Jun Sun>=1 1 1 S
--R @ 1957 o - S lastSun 3 0 -
--R @ 1980 o - Ap 6 1 1 S
-+2 g EE%sT 1941 Ap 30
-+1 g CE%sT 1944 Ap 4
-+2 g EE%sT 1981
-+2 E EE%sT
-+R h 1918 o - Ap 1 3 1 S
-+R h 1918 o - S 16 3 0 -
-+R h 1919 o - Ap 15 3 1 S
-+R h 1919 o - N 24 3 0 -
-+R h 1945 o - May 1 23 1 S
-+R h 1945 o - N 1 0 0 -
-+R h 1946 o - Mar 31 2s 1 S
-+R h 1946 1949 - O Sun>=1 2s 0 -
-+R h 1947 1949 - Ap Sun>=4 2s 1 S
-+R h 1950 o - Ap 17 2s 1 S
-+R h 1950 o - O 23 2s 0 -
-+R h 1954 1955 - May 23 0 1 S
-+R h 1954 1955 - O 3 0 0 -
-+R h 1956 o - Jun Sun>=1 0 1 S
-+R h 1956 o - S lastSun 0 0 -
-+R h 1957 o - Jun Sun>=1 1 1 S
-+R h 1957 o - S lastSun 3 0 -
-+R h 1980 o - Ap 6 1 1 S
- Z Europe/Budapest 1:16:20 - LMT 1890 O
--1 ( CE%sT 1918
--1 @ CE%sT 1941 Ap 8
--1 ( CE%sT 1945
--1 @ CE%sT 1980 S 28 2s
--1 O CE%sT
--R [ 1917 1919 - F 19 23 1 -
--R [ 1917 o - O 21 1 0 -
--R [ 1918 1919 - N 16 1 0 -
--R [ 1921 o - Mar 19 23 1 -
--R [ 1921 o - Jun 23 1 0 -
--R [ 1939 o - Ap 29 23 1 -
--R [ 1939 o - O 29 2 0 -
--R [ 1940 o - F 25 2 1 -
--R [ 1940 1941 - N Sun>=2 1s 0 -
--R [ 1941 1942 - Mar Sun>=2 1s 1 -
--R [ 1943 1946 - Mar Sun>=1 1s 1 -
--R [ 1942 1948 - O Sun>=22 1s 0 -
--R [ 1947 1967 - Ap Sun>=1 1s 1 -
--R [ 1949 o - O 30 1s 0 -
--R [ 1950 1966 - O Sun>=22 1s 0 -
--R [ 1967 o - O 29 1s 0 -
-+1 c CE%sT 1918
-+1 h CE%sT 1941 Ap 8
-+1 c CE%sT 1945
-+1 h CE%sT 1980 S 28 2s
-+1 E CE%sT
-+R w 1917 1919 - F 19 23 1 -
-+R w 1917 o - O 21 1 0 -
-+R w 1918 1919 - N 16 1 0 -
-+R w 1921 o - Mar 19 23 1 -
-+R w 1921 o - Jun 23 1 0 -
-+R w 1939 o - Ap 29 23 1 -
-+R w 1939 o - O 29 2 0 -
-+R w 1940 o - F 25 2 1 -
-+R w 1940 1941 - N Sun>=2 1s 0 -
-+R w 1941 1942 - Mar Sun>=2 1s 1 -
-+R w 1943 1946 - Mar Sun>=1 1s 1 -
-+R w 1942 1948 - O Sun>=22 1s 0 -
-+R w 1947 1967 - Ap Sun>=1 1s 1 -
-+R w 1949 o - O 30 1s 0 -
-+R w 1950 1966 - O Sun>=22 1s 0 -
-+R w 1967 o - O 29 1s 0 -
- Z Atlantic/Reykjavik -1:28 - LMT 1908
---1 [ -01/+00 1968 Ap 7 1s
-+-1 w -01/+00 1968 Ap 7 1s
- 0 - GMT
--R \ 1916 o - Jun 3 24 1 S
--R \ 1916 1917 - S 30 24 0 -
--R \ 1917 o - Mar 31 24 1 S
--R \ 1918 o - Mar 9 24 1 S
--R \ 1918 o - O 6 24 0 -
--R \ 1919 o - Mar 1 24 1 S
--R \ 1919 o - O 4 24 0 -
--R \ 1920 o - Mar 20 24 1 S
--R \ 1920 o - S 18 24 0 -
--R \ 1940 o - Jun 14 24 1 S
--R \ 1942 o - N 2 2s 0 -
--R \ 1943 o - Mar 29 2s 1 S
--R \ 1943 o - O 4 2s 0 -
--R \ 1944 o - Ap 2 2s 1 S
--R \ 1944 o - S 17 2s 0 -
--R \ 1945 o - Ap 2 2 1 S
--R \ 1945 o - S 15 1 0 -
--R \ 1946 o - Mar 17 2s 1 S
--R \ 1946 o - O 6 2s 0 -
--R \ 1947 o - Mar 16 0s 1 S
--R \ 1947 o - O 5 0s 0 -
--R \ 1948 o - F 29 2s 1 S
--R \ 1948 o - O 3 2s 0 -
--R \ 1966 1968 - May Sun>=22 0s 1 S
--R \ 1966 o - S 24 24 0 -
--R \ 1967 1969 - S Sun>=22 0s 0 -
--R \ 1969 o - Jun 1 0s 1 S
--R \ 1970 o - May 31 0s 1 S
--R \ 1970 o - S lastSun 0s 0 -
--R \ 1971 1972 - May Sun>=22 0s 1 S
--R \ 1971 o - S lastSun 0s 0 -
--R \ 1972 o - O 1 0s 0 -
--R \ 1973 o - Jun 3 0s 1 S
--R \ 1973 1974 - S lastSun 0s 0 -
--R \ 1974 o - May 26 0s 1 S
--R \ 1975 o - Jun 1 0s 1 S
--R \ 1975 1977 - S lastSun 0s 0 -
--R \ 1976 o - May 30 0s 1 S
--R \ 1977 1979 - May Sun>=22 0s 1 S
--R \ 1978 o - O 1 0s 0 -
--R \ 1979 o - S 30 0s 0 -
-+R I 1916 o - Jun 3 24 1 S
-+R I 1916 1917 - S 30 24 0 -
-+R I 1917 o - Mar 31 24 1 S
-+R I 1918 o - Mar 9 24 1 S
-+R I 1918 o - O 6 24 0 -
-+R I 1919 o - Mar 1 24 1 S
-+R I 1919 o - O 4 24 0 -
-+R I 1920 o - Mar 20 24 1 S
-+R I 1920 o - S 18 24 0 -
-+R I 1940 o - Jun 14 24 1 S
-+R I 1942 o - N 2 2s 0 -
-+R I 1943 o - Mar 29 2s 1 S
-+R I 1943 o - O 4 2s 0 -
-+R I 1944 o - Ap 2 2s 1 S
-+R I 1944 o - S 17 2s 0 -
-+R I 1945 o - Ap 2 2 1 S
-+R I 1945 o - S 15 1 0 -
-+R I 1946 o - Mar 17 2s 1 S
-+R I 1946 o - O 6 2s 0 -
-+R I 1947 o - Mar 16 0s 1 S
-+R I 1947 o - O 5 0s 0 -
-+R I 1948 o - F 29 2s 1 S
-+R I 1948 o - O 3 2s 0 -
-+R I 1966 1968 - May Sun>=22 0s 1 S
-+R I 1966 o - S 24 24 0 -
-+R I 1967 1969 - S Sun>=22 0s 0 -
-+R I 1969 o - Jun 1 0s 1 S
-+R I 1970 o - May 31 0s 1 S
-+R I 1970 o - S lastSun 0s 0 -
-+R I 1971 1972 - May Sun>=22 0s 1 S
-+R I 1971 o - S lastSun 0s 0 -
-+R I 1972 o - O 1 0s 0 -
-+R I 1973 o - Jun 3 0s 1 S
-+R I 1973 1974 - S lastSun 0s 0 -
-+R I 1974 o - May 26 0s 1 S
-+R I 1975 o - Jun 1 0s 1 S
-+R I 1975 1977 - S lastSun 0s 0 -
-+R I 1976 o - May 30 0s 1 S
-+R I 1977 1979 - May Sun>=22 0s 1 S
-+R I 1978 o - O 1 0s 0 -
-+R I 1979 o - S 30 0s 0 -
- Z Europe/Rome 0:49:56 - LMT 1866 S 22
- 0:49:56 - RMT 1893 O 31 23:49:56
--1 \ CE%sT 1943 S 10
--1 ( CE%sT 1944 Jun 4
--1 \ CE%sT 1980
--1 O CE%sT
-+1 I CE%sT 1943 S 10
-+1 c CE%sT 1944 Jun 4
-+1 I CE%sT 1980
-+1 E CE%sT
- Li Europe/Rome Europe/Vatican
- Li Europe/Rome Europe/San_Marino
--R ] 1989 1996 - Mar lastSun 2s 1 S
--R ] 1989 1996 - S lastSun 2s 0 -
-+R LV 1989 1996 - Mar lastSun 2s 1 S
-+R LV 1989 1996 - S lastSun 2s 0 -
- Z Europe/Riga 1:36:34 - LMT 1880
- 1:36:34 - RMT 1918 Ap 15 2
- 1:36:34 1 LST 1918 S 16 3
-@@ -1883,13 +1907,13 @@ Z Europe/Riga 1:36:34 - LMT 1880
- 1:36:34 - RMT 1926 May 11
- 2 - EET 1940 Au 5
- 3 - MSK 1941 Jul
--1 ( CE%sT 1944 O 13
--3 M MSK/MSD 1989 Mar lastSun 2s
-+1 c CE%sT 1944 O 13
-+3 R MSK/MSD 1989 Mar lastSun 2s
- 2 1 EEST 1989 S lastSun 2s
--2 ] EE%sT 1997 Ja 21
--2 O EE%sT 2000 F 29
-+2 LV EE%sT 1997 Ja 21
-+2 E EE%sT 2000 F 29
- 2 - EET 2001 Ja 2
--2 O EE%sT
-+2 E EE%sT
- Li Europe/Zurich Europe/Vaduz
- Z Europe/Vilnius 1:41:16 - LMT 1880
- 1:24 - WMT 1917
-@@ -1898,783 +1922,776 @@ Z Europe/Vilnius 1:41:16 - LMT 1880
- 2 - EET 1920 O 9
- 1 - CET 1940 Au 3
- 3 - MSK 1941 Jun 24
--1 ( CE%sT 1944 Au
--3 M MSK/MSD 1989 Mar 26 2s
--2 M EE%sT 1991 S 29 2s
--2 ( EE%sT 1998
-+1 c CE%sT 1944 Au
-+3 R MSK/MSD 1989 Mar 26 2s
-+2 R EE%sT 1991 S 29 2s
-+2 c EE%sT 1998
- 2 - EET 1998 Mar 29 1u
--1 O CE%sT 1999 O 31 1u
-+1 E CE%sT 1999 O 31 1u
- 2 - EET 2003
--2 O EE%sT
--R ^ 1916 o - May 14 23 1 S
--R ^ 1916 o - O 1 1 0 -
--R ^ 1917 o - Ap 28 23 1 S
--R ^ 1917 o - S 17 1 0 -
--R ^ 1918 o - Ap M>=15 2s 1 S
--R ^ 1918 o - S M>=15 2s 0 -
--R ^ 1919 o - Mar 1 23 1 S
--R ^ 1919 o - O 5 3 0 -
--R ^ 1920 o - F 14 23 1 S
--R ^ 1920 o - O 24 2 0 -
--R ^ 1921 o - Mar 14 23 1 S
--R ^ 1921 o - O 26 2 0 -
--R ^ 1922 o - Mar 25 23 1 S
--R ^ 1922 o - O Sun>=2 1 0 -
--R ^ 1923 o - Ap 21 23 1 S
--R ^ 1923 o - O Sun>=2 2 0 -
--R ^ 1924 o - Mar 29 23 1 S
--R ^ 1924 1928 - O Sun>=2 1 0 -
--R ^ 1925 o - Ap 5 23 1 S
--R ^ 1926 o - Ap 17 23 1 S
--R ^ 1927 o - Ap 9 23 1 S
--R ^ 1928 o - Ap 14 23 1 S
--R ^ 1929 o - Ap 20 23 1 S
-+2 E EE%sT
-+R LX 1916 o - May 14 23 1 S
-+R LX 1916 o - O 1 1 0 -
-+R LX 1917 o - Ap 28 23 1 S
-+R LX 1917 o - S 17 1 0 -
-+R LX 1918 o - Ap M>=15 2s 1 S
-+R LX 1918 o - S M>=15 2s 0 -
-+R LX 1919 o - Mar 1 23 1 S
-+R LX 1919 o - O 5 3 0 -
-+R LX 1920 o - F 14 23 1 S
-+R LX 1920 o - O 24 2 0 -
-+R LX 1921 o - Mar 14 23 1 S
-+R LX 1921 o - O 26 2 0 -
-+R LX 1922 o - Mar 25 23 1 S
-+R LX 1922 o - O Sun>=2 1 0 -
-+R LX 1923 o - Ap 21 23 1 S
-+R LX 1923 o - O Sun>=2 2 0 -
-+R LX 1924 o - Mar 29 23 1 S
-+R LX 1924 1928 - O Sun>=2 1 0 -
-+R LX 1925 o - Ap 5 23 1 S
-+R LX 1926 o - Ap 17 23 1 S
-+R LX 1927 o - Ap 9 23 1 S
-+R LX 1928 o - Ap 14 23 1 S
-+R LX 1929 o - Ap 20 23 1 S
- Z Europe/Luxembourg 0:24:36 - LMT 1904 Jun
--1 ^ CE%sT 1918 N 25
--0 ^ WE%sT 1929 O 6 2s
--0 + WE%sT 1940 May 14 3
--1 ( WE%sT 1944 S 18 3
--1 + CE%sT 1977
--1 O CE%sT
--R _ 1973 o - Mar 31 0s 1 S
--R _ 1973 o - S 29 0s 0 -
--R _ 1974 o - Ap 21 0s 1 S
--R _ 1974 o - S 16 0s 0 -
--R _ 1975 1979 - Ap Sun>=15 2 1 S
--R _ 1975 1980 - S Sun>=15 2 0 -
--R _ 1980 o - Mar 31 2 1 S
-+1 LX CE%sT 1918 N 25
-+0 LX WE%sT 1929 O 6 2s
-+0 b WE%sT 1940 May 14 3
-+1 c WE%sT 1944 S 18 3
-+1 b CE%sT 1977
-+1 E CE%sT
-+R MT 1973 o - Mar 31 0s 1 S
-+R MT 1973 o - S 29 0s 0 -
-+R MT 1974 o - Ap 21 0s 1 S
-+R MT 1974 o - S 16 0s 0 -
-+R MT 1975 1979 - Ap Sun>=15 2 1 S
-+R MT 1975 1980 - S Sun>=15 2 0 -
-+R MT 1980 o - Mar 31 2 1 S
- Z Europe/Malta 0:58:4 - LMT 1893 N 2 0s
--1 \ CE%sT 1973 Mar 31
--1 _ CE%sT 1981
--1 O CE%sT
--R ` 1997 ma - Mar lastSun 2 1 S
--R ` 1997 ma - O lastSun 3 0 -
-+1 I CE%sT 1973 Mar 31
-+1 MT CE%sT 1981
-+1 E CE%sT
-+R MD 1997 ma - Mar lastSun 2 1 S
-+R MD 1997 ma - O lastSun 3 0 -
- Z Europe/Chisinau 1:55:20 - LMT 1880
- 1:55 - CMT 1918 F 15
- 1:44:24 - BMT 1931 Jul 24
--2 { EE%sT 1940 Au 15
-+2 z EE%sT 1940 Au 15
- 2 1 EEST 1941 Jul 17
--1 ( CE%sT 1944 Au 24
--3 M MSK/MSD 1990 May 6 2
--2 M EE%sT 1992
--2 W EE%sT 1997
--2 ` EE%sT
-+1 c CE%sT 1944 Au 24
-+3 R MSK/MSD 1990 May 6 2
-+2 R EE%sT 1992
-+2 e EE%sT 1997
-+2 MD EE%sT
- Z Europe/Monaco 0:29:32 - LMT 1891 Mar 15
- 0:9:21 - PMT 1911 Mar 11
--0 < WE%sT 1945 S 16 3
--1 < CE%sT 1977
--1 O CE%sT
--R | 1916 o - May 1 0 1 NST
--R | 1916 o - O 1 0 0 AMT
--R | 1917 o - Ap 16 2s 1 NST
--R | 1917 o - S 17 2s 0 AMT
--R | 1918 1921 - Ap M>=1 2s 1 NST
--R | 1918 1921 - S lastM 2s 0 AMT
--R | 1922 o - Mar lastSun 2s 1 NST
--R | 1922 1936 - O Sun>=2 2s 0 AMT
--R | 1923 o - Jun F>=1 2s 1 NST
--R | 1924 o - Mar lastSun 2s 1 NST
--R | 1925 o - Jun F>=1 2s 1 NST
--R | 1926 1931 - May 15 2s 1 NST
--R | 1932 o - May 22 2s 1 NST
--R | 1933 1936 - May 15 2s 1 NST
--R | 1937 o - May 22 2s 1 NST
--R | 1937 o - Jul 1 0 1 S
--R | 1937 1939 - O Sun>=2 2s 0 -
--R | 1938 1939 - May 15 2s 1 S
--R | 1945 o - Ap 2 2s 1 S
--R | 1945 o - S 16 2s 0 -
-+0 F WE%sT 1945 S 16 3
-+1 F CE%sT 1977
-+1 E CE%sT
-+R N 1916 o - May 1 0 1 NST
-+R N 1916 o - O 1 0 0 AMT
-+R N 1917 o - Ap 16 2s 1 NST
-+R N 1917 o - S 17 2s 0 AMT
-+R N 1918 1921 - Ap M>=1 2s 1 NST
-+R N 1918 1921 - S lastM 2s 0 AMT
-+R N 1922 o - Mar lastSun 2s 1 NST
-+R N 1922 1936 - O Sun>=2 2s 0 AMT
-+R N 1923 o - Jun F>=1 2s 1 NST
-+R N 1924 o - Mar lastSun 2s 1 NST
-+R N 1925 o - Jun F>=1 2s 1 NST
-+R N 1926 1931 - May 15 2s 1 NST
-+R N 1932 o - May 22 2s 1 NST
-+R N 1933 1936 - May 15 2s 1 NST
-+R N 1937 o - May 22 2s 1 NST
-+R N 1937 o - Jul 1 0 1 S
-+R N 1937 1939 - O Sun>=2 2s 0 -
-+R N 1938 1939 - May 15 2s 1 S
-+R N 1945 o - Ap 2 2s 1 S
-+R N 1945 o - S 16 2s 0 -
- Z Europe/Amsterdam 0:19:32 - LMT 1835
--0:19:32 | %s 1937 Jul
--0:20 | +0020/+0120 1940 May 16
--1 ( CE%sT 1945 Ap 2 2
--1 | CE%sT 1977
--1 O CE%sT
--R } 1916 o - May 22 1 1 S
--R } 1916 o - S 30 0 0 -
--R } 1945 o - Ap 2 2s 1 S
--R } 1945 o - O 1 2s 0 -
--R } 1959 1964 - Mar Sun>=15 2s 1 S
--R } 1959 1965 - S Sun>=15 2s 0 -
--R } 1965 o - Ap 25 2s 1 S
-+0:19:32 N %s 1937 Jul
-+0:20 N +0020/+0120 1940 May 16
-+1 c CE%sT 1945 Ap 2 2
-+1 N CE%sT 1977
-+1 E CE%sT
-+R NO 1916 o - May 22 1 1 S
-+R NO 1916 o - S 30 0 0 -
-+R NO 1945 o - Ap 2 2s 1 S
-+R NO 1945 o - O 1 2s 0 -
-+R NO 1959 1964 - Mar Sun>=15 2s 1 S
-+R NO 1959 1965 - S Sun>=15 2s 0 -
-+R NO 1965 o - Ap 25 2s 1 S
- Z Europe/Oslo 0:43 - LMT 1895
--1 } CE%sT 1940 Au 10 23
--1 ( CE%sT 1945 Ap 2 2
--1 } CE%sT 1980
--1 O CE%sT
-+1 NO CE%sT 1940 Au 10 23
-+1 c CE%sT 1945 Ap 2 2
-+1 NO CE%sT 1980
-+1 E CE%sT
- Li Europe/Oslo Arctic/Longyearbyen
--R ~ 1918 1919 - S 16 2s 0 -
--R ~ 1919 o - Ap 15 2s 1 S
--R ~ 1944 o - Ap 3 2s 1 S
--R ~ 1944 o - O 4 2 0 -
--R ~ 1945 o - Ap 29 0 1 S
--R ~ 1945 o - N 1 0 0 -
--R ~ 1946 o - Ap 14 0s 1 S
--R ~ 1946 o - O 7 2s 0 -
--R ~ 1947 o - May 4 2s 1 S
--R ~ 1947 1949 - O Sun>=1 2s 0 -
--R ~ 1948 o - Ap 18 2s 1 S
--R ~ 1949 o - Ap 10 2s 1 S
--R ~ 1957 o - Jun 2 1s 1 S
--R ~ 1957 1958 - S lastSun 1s 0 -
--R ~ 1958 o - Mar 30 1s 1 S
--R ~ 1959 o - May 31 1s 1 S
--R ~ 1959 1961 - O Sun>=1 1s 0 -
--R ~ 1960 o - Ap 3 1s 1 S
--R ~ 1961 1964 - May lastSun 1s 1 S
--R ~ 1962 1964 - S lastSun 1s 0 -
-+R O 1918 1919 - S 16 2s 0 -
-+R O 1919 o - Ap 15 2s 1 S
-+R O 1944 o - Ap 3 2s 1 S
-+R O 1944 o - O 4 2 0 -
-+R O 1945 o - Ap 29 0 1 S
-+R O 1945 o - N 1 0 0 -
-+R O 1946 o - Ap 14 0s 1 S
-+R O 1946 o - O 7 2s 0 -
-+R O 1947 o - May 4 2s 1 S
-+R O 1947 1949 - O Sun>=1 2s 0 -
-+R O 1948 o - Ap 18 2s 1 S
-+R O 1949 o - Ap 10 2s 1 S
-+R O 1957 o - Jun 2 1s 1 S
-+R O 1957 1958 - S lastSun 1s 0 -
-+R O 1958 o - Mar 30 1s 1 S
-+R O 1959 o - May 31 1s 1 S
-+R O 1959 1961 - O Sun>=1 1s 0 -
-+R O 1960 o - Ap 3 1s 1 S
-+R O 1961 1964 - May lastSun 1s 1 S
-+R O 1962 1964 - S lastSun 1s 0 -
- Z Europe/Warsaw 1:24 - LMT 1880
- 1:24 - WMT 1915 Au 5
--1 ( CE%sT 1918 S 16 3
--2 ~ EE%sT 1922 Jun
--1 ~ CE%sT 1940 Jun 23 2
--1 ( CE%sT 1944 O
--1 ~ CE%sT 1977
--1 ' CE%sT 1988
--1 O CE%sT
--R AA 1916 o - Jun 17 23 1 S
--R AA 1916 o - N 1 1 0 -
--R AA 1917 o - F 28 23s 1 S
--R AA 1917 1921 - O 14 23s 0 -
--R AA 1918 o - Mar 1 23s 1 S
--R AA 1919 o - F 28 23s 1 S
--R AA 1920 o - F 29 23s 1 S
--R AA 1921 o - F 28 23s 1 S
--R AA 1924 o - Ap 16 23s 1 S
--R AA 1924 o - O 14 23s 0 -
--R AA 1926 o - Ap 17 23s 1 S
--R AA 1926 1929 - O Sat>=1 23s 0 -
--R AA 1927 o - Ap 9 23s 1 S
--R AA 1928 o - Ap 14 23s 1 S
--R AA 1929 o - Ap 20 23s 1 S
--R AA 1931 o - Ap 18 23s 1 S
--R AA 1931 1932 - O Sat>=1 23s 0 -
--R AA 1932 o - Ap 2 23s 1 S
--R AA 1934 o - Ap 7 23s 1 S
--R AA 1934 1938 - O Sat>=1 23s 0 -
--R AA 1935 o - Mar 30 23s 1 S
--R AA 1936 o - Ap 18 23s 1 S
--R AA 1937 o - Ap 3 23s 1 S
--R AA 1938 o - Mar 26 23s 1 S
--R AA 1939 o - Ap 15 23s 1 S
--R AA 1939 o - N 18 23s 0 -
--R AA 1940 o - F 24 23s 1 S
--R AA 1940 1941 - O 5 23s 0 -
--R AA 1941 o - Ap 5 23s 1 S
--R AA 1942 1945 - Mar Sat>=8 23s 1 S
--R AA 1942 o - Ap 25 22s 2 M
--R AA 1942 o - Au 15 22s 1 S
--R AA 1942 1945 - O Sat>=24 23s 0 -
--R AA 1943 o - Ap 17 22s 2 M
--R AA 1943 1945 - Au Sat>=25 22s 1 S
--R AA 1944 1945 - Ap Sat>=21 22s 2 M
--R AA 1946 o - Ap Sat>=1 23s 1 S
--R AA 1946 o - O Sat>=1 23s 0 -
--R AA 1947 1949 - Ap Sun>=1 2s 1 S
--R AA 1947 1949 - O Sun>=1 2s 0 -
--R AA 1951 1965 - Ap Sun>=1 2s 1 S
--R AA 1951 1965 - O Sun>=1 2s 0 -
--R AA 1977 o - Mar 27 0s 1 S
--R AA 1977 o - S 25 0s 0 -
--R AA 1978 1979 - Ap Sun>=1 0s 1 S
--R AA 1978 o - O 1 0s 0 -
--R AA 1979 1982 - S lastSun 1s 0 -
--R AA 1980 o - Mar lastSun 0s 1 S
--R AA 1981 1982 - Mar lastSun 1s 1 S
--R AA 1983 o - Mar lastSun 2s 1 S
-+1 c CE%sT 1918 S 16 3
-+2 O EE%sT 1922 Jun
-+1 O CE%sT 1940 Jun 23 2
-+1 c CE%sT 1944 O
-+1 O CE%sT 1977
-+1 W- CE%sT 1988
-+1 E CE%sT
-+R p 1916 o - Jun 17 23 1 S
-+R p 1916 o - N 1 1 0 -
-+R p 1917 o - F 28 23s 1 S
-+R p 1917 1921 - O 14 23s 0 -
-+R p 1918 o - Mar 1 23s 1 S
-+R p 1919 o - F 28 23s 1 S
-+R p 1920 o - F 29 23s 1 S
-+R p 1921 o - F 28 23s 1 S
-+R p 1924 o - Ap 16 23s 1 S
-+R p 1924 o - O 14 23s 0 -
-+R p 1926 o - Ap 17 23s 1 S
-+R p 1926 1929 - O Sat>=1 23s 0 -
-+R p 1927 o - Ap 9 23s 1 S
-+R p 1928 o - Ap 14 23s 1 S
-+R p 1929 o - Ap 20 23s 1 S
-+R p 1931 o - Ap 18 23s 1 S
-+R p 1931 1932 - O Sat>=1 23s 0 -
-+R p 1932 o - Ap 2 23s 1 S
-+R p 1934 o - Ap 7 23s 1 S
-+R p 1934 1938 - O Sat>=1 23s 0 -
-+R p 1935 o - Mar 30 23s 1 S
-+R p 1936 o - Ap 18 23s 1 S
-+R p 1937 o - Ap 3 23s 1 S
-+R p 1938 o - Mar 26 23s 1 S
-+R p 1939 o - Ap 15 23s 1 S
-+R p 1939 o - N 18 23s 0 -
-+R p 1940 o - F 24 23s 1 S
-+R p 1940 1941 - O 5 23s 0 -
-+R p 1941 o - Ap 5 23s 1 S
-+R p 1942 1945 - Mar Sat>=8 23s 1 S
-+R p 1942 o - Ap 25 22s 2 M
-+R p 1942 o - Au 15 22s 1 S
-+R p 1942 1945 - O Sat>=24 23s 0 -
-+R p 1943 o - Ap 17 22s 2 M
-+R p 1943 1945 - Au Sat>=25 22s 1 S
-+R p 1944 1945 - Ap Sat>=21 22s 2 M
-+R p 1946 o - Ap Sat>=1 23s 1 S
-+R p 1946 o - O Sat>=1 23s 0 -
-+R p 1947 1949 - Ap Sun>=1 2s 1 S
-+R p 1947 1949 - O Sun>=1 2s 0 -
-+R p 1951 1965 - Ap Sun>=1 2s 1 S
-+R p 1951 1965 - O Sun>=1 2s 0 -
-+R p 1977 o - Mar 27 0s 1 S
-+R p 1977 o - S 25 0s 0 -
-+R p 1978 1979 - Ap Sun>=1 0s 1 S
-+R p 1978 o - O 1 0s 0 -
-+R p 1979 1982 - S lastSun 1s 0 -
-+R p 1980 o - Mar lastSun 0s 1 S
-+R p 1981 1982 - Mar lastSun 1s 1 S
-+R p 1983 o - Mar lastSun 2s 1 S
- Z Europe/Lisbon -0:36:45 - LMT 1884
- -0:36:45 - LMT 1912 Ja 1 0u
--0 AA WE%sT 1966 Ap 3 2
-+0 p WE%sT 1966 Ap 3 2
- 1 - CET 1976 S 26 1
--0 AA WE%sT 1983 S 25 1s
--0 ' WE%sT 1992 S 27 1s
--1 O CE%sT 1996 Mar 31 1u
--0 O WE%sT
-+0 p WE%sT 1983 S 25 1s
-+0 W- WE%sT 1992 S 27 1s
-+1 E CE%sT 1996 Mar 31 1u
-+0 E WE%sT
- Z Atlantic/Azores -1:42:40 - LMT 1884
- -1:54:32 - HMT 1912 Ja 1 2u
---2 AA -02/-01 1942 Ap 25 22s
---2 AA +00 1942 Au 15 22s
---2 AA -02/-01 1943 Ap 17 22s
---2 AA +00 1943 Au 28 22s
---2 AA -02/-01 1944 Ap 22 22s
---2 AA +00 1944 Au 26 22s
---2 AA -02/-01 1945 Ap 21 22s
---2 AA +00 1945 Au 25 22s
---2 AA -02/-01 1966 Ap 3 2
---1 AA -01/+00 1983 S 25 1s
---1 ' -01/+00 1992 S 27 1s
--0 O WE%sT 1993 Mar 28 1u
---1 O -01/+00
-+-2 p -02/-01 1942 Ap 25 22s
-+-2 p +00 1942 Au 15 22s
-+-2 p -02/-01 1943 Ap 17 22s
-+-2 p +00 1943 Au 28 22s
-+-2 p -02/-01 1944 Ap 22 22s
-+-2 p +00 1944 Au 26 22s
-+-2 p -02/-01 1945 Ap 21 22s
-+-2 p +00 1945 Au 25 22s
-+-2 p -02/-01 1966 Ap 3 2
-+-1 p -01/+00 1983 S 25 1s
-+-1 W- -01/+00 1992 S 27 1s
-+0 E WE%sT 1993 Mar 28 1u
-+-1 E -01/+00
- Z Atlantic/Madeira -1:7:36 - LMT 1884
- -1:7:36 - FMT 1912 Ja 1 1u
---1 AA -01/+00 1942 Ap 25 22s
---1 AA +01 1942 Au 15 22s
---1 AA -01/+00 1943 Ap 17 22s
---1 AA +01 1943 Au 28 22s
---1 AA -01/+00 1944 Ap 22 22s
---1 AA +01 1944 Au 26 22s
---1 AA -01/+00 1945 Ap 21 22s
---1 AA +01 1945 Au 25 22s
---1 AA -01/+00 1966 Ap 3 2
--0 AA WE%sT 1983 S 25 1s
--0 O WE%sT
--R { 1932 o - May 21 0s 1 S
--R { 1932 1939 - O Sun>=1 0s 0 -
--R { 1933 1939 - Ap Sun>=2 0s 1 S
--R { 1979 o - May 27 0 1 S
--R { 1979 o - S lastSun 0 0 -
--R { 1980 o - Ap 5 23 1 S
--R { 1980 o - S lastSun 1 0 -
--R { 1991 1993 - Mar lastSun 0s 1 S
--R { 1991 1993 - S lastSun 0s 0 -
-+-1 p -01/+00 1942 Ap 25 22s
-+-1 p +01 1942 Au 15 22s
-+-1 p -01/+00 1943 Ap 17 22s
-+-1 p +01 1943 Au 28 22s
-+-1 p -01/+00 1944 Ap 22 22s
-+-1 p +01 1944 Au 26 22s
-+-1 p -01/+00 1945 Ap 21 22s
-+-1 p +01 1945 Au 25 22s
-+-1 p -01/+00 1966 Ap 3 2
-+0 p WE%sT 1983 S 25 1s
-+0 E WE%sT
-+R z 1932 o - May 21 0s 1 S
-+R z 1932 1939 - O Sun>=1 0s 0 -
-+R z 1933 1939 - Ap Sun>=2 0s 1 S
-+R z 1979 o - May 27 0 1 S
-+R z 1979 o - S lastSun 0 0 -
-+R z 1980 o - Ap 5 23 1 S
-+R z 1980 o - S lastSun 1 0 -
-+R z 1991 1993 - Mar lastSun 0s 1 S
-+R z 1991 1993 - S lastSun 0s 0 -
- Z Europe/Bucharest 1:44:24 - LMT 1891 O
- 1:44:24 - BMT 1931 Jul 24
--2 { EE%sT 1981 Mar 29 2s
--2 ( EE%sT 1991
--2 { EE%sT 1994
--2 W EE%sT 1997
--2 O EE%sT
-+2 z EE%sT 1981 Mar 29 2s
-+2 c EE%sT 1991
-+2 z EE%sT 1994
-+2 e EE%sT 1997
-+2 E EE%sT
- Z Europe/Kaliningrad 1:22 - LMT 1893 Ap
--1 ( CE%sT 1945
--2 ~ CE%sT 1946
--3 M MSK/MSD 1989 Mar 26 2s
--2 M EE%sT 2011 Mar 27 2s
-+1 c CE%sT 1945
-+2 O CE%sT 1946
-+3 R MSK/MSD 1989 Mar 26 2s
-+2 R EE%sT 2011 Mar 27 2s
- 3 - +03 2014 O 26 2s
- 2 - EET
- Z Europe/Moscow 2:30:17 - LMT 1880
- 2:30:17 - MMT 1916 Jul 3
--2:31:19 M %s 1919 Jul 1 0u
--3 M %s 1921 O
--3 M MSK/MSD 1922 O
-+2:31:19 R %s 1919 Jul 1 0u
-+3 R %s 1921 O
-+3 R MSK/MSD 1922 O
- 2 - EET 1930 Jun 21
--3 M MSK/MSD 1991 Mar 31 2s
--2 M EE%sT 1992 Ja 19 2s
--3 M MSK/MSD 2011 Mar 27 2s
-+3 R MSK/MSD 1991 Mar 31 2s
-+2 R EE%sT 1992 Ja 19 2s
-+3 R MSK/MSD 2011 Mar 27 2s
- 4 - MSK 2014 O 26 2s
- 3 - MSK
- Z Europe/Simferopol 2:16:24 - LMT 1880
- 2:16 - SMT 1924 May 2
- 2 - EET 1930 Jun 21
- 3 - MSK 1941 N
--1 ( CE%sT 1944 Ap 13
--3 M MSK/MSD 1990
-+1 c CE%sT 1944 Ap 13
-+3 R MSK/MSD 1990
- 3 - MSK 1990 Jul 1 2
- 2 - EET 1992
--2 W EE%sT 1994 May
--3 W MSK/MSD 1996 Mar 31 0s
-+2 e EE%sT 1994 May
-+3 e MSK/MSD 1996 Mar 31 0s
- 3 1 MSD 1996 O 27 3s
--3 M MSK/MSD 1997
-+3 R MSK/MSD 1997
- 3 - MSK 1997 Mar lastSun 1u
--2 O EE%sT 2014 Mar 30 2
-+2 E EE%sT 2014 Mar 30 2
- 4 - MSK 2014 O 26 2s
- 3 - MSK
- Z Europe/Astrakhan 3:12:12 - LMT 1924 May
- 3 - +03 1930 Jun 21
--4 M +04/+05 1989 Mar 26 2s
--3 M +03/+04 1991 Mar 31 2s
-+4 R +04/+05 1989 Mar 26 2s
-+3 R +03/+04 1991 Mar 31 2s
- 4 - +04 1992 Mar 29 2s
--3 M +03/+04 2011 Mar 27 2s
-+3 R +03/+04 2011 Mar 27 2s
- 4 - +04 2014 O 26 2s
- 3 - +03 2016 Mar 27 2s
- 4 - +04
- Z Europe/Volgograd 2:57:40 - LMT 1920 Ja 3
- 3 - +03 1930 Jun 21
- 4 - +04 1961 N 11
--4 M +04/+05 1988 Mar 27 2s
--3 M +03/+04 1991 Mar 31 2s
-+4 R +04/+05 1988 Mar 27 2s
-+3 R +03/+04 1991 Mar 31 2s
- 4 - +04 1992 Mar 29 2s
--3 M +03/+04 2011 Mar 27 2s
-+3 R +03/+04 2011 Mar 27 2s
- 4 - +04 2014 O 26 2s
--3 - +03
-+3 - +03 2018 O 28 2s
-+4 - +04
- Z Europe/Saratov 3:4:18 - LMT 1919 Jul 1 0u
- 3 - +03 1930 Jun 21
--4 M +04/+05 1988 Mar 27 2s
--3 M +03/+04 1991 Mar 31 2s
-+4 R +04/+05 1988 Mar 27 2s
-+3 R +03/+04 1991 Mar 31 2s
- 4 - +04 1992 Mar 29 2s
--3 M +03/+04 2011 Mar 27 2s
-+3 R +03/+04 2011 Mar 27 2s
- 4 - +04 2014 O 26 2s
- 3 - +03 2016 D 4 2s
- 4 - +04
- Z Europe/Kirov 3:18:48 - LMT 1919 Jul 1 0u
- 3 - +03 1930 Jun 21
--4 M +04/+05 1989 Mar 26 2s
--3 M +03/+04 1991 Mar 31 2s
-+4 R +04/+05 1989 Mar 26 2s
-+3 R +03/+04 1991 Mar 31 2s
- 4 - +04 1992 Mar 29 2s
--3 M +03/+04 2011 Mar 27 2s
-+3 R +03/+04 2011 Mar 27 2s
- 4 - +04 2014 O 26 2s
- 3 - +03
- Z Europe/Samara 3:20:20 - LMT 1919 Jul 1 0u
- 3 - +03 1930 Jun 21
- 4 - +04 1935 Ja 27
--4 M +04/+05 1989 Mar 26 2s
--3 M +03/+04 1991 Mar 31 2s
--2 M +02/+03 1991 S 29 2s
-+4 R +04/+05 1989 Mar 26 2s
-+3 R +03/+04 1991 Mar 31 2s
-+2 R +02/+03 1991 S 29 2s
- 3 - +03 1991 O 20 3
--4 M +04/+05 2010 Mar 28 2s
--3 M +03/+04 2011 Mar 27 2s
-+4 R +04/+05 2010 Mar 28 2s
-+3 R +03/+04 2011 Mar 27 2s
- 4 - +04
- Z Europe/Ulyanovsk 3:13:36 - LMT 1919 Jul 1 0u
- 3 - +03 1930 Jun 21
--4 M +04/+05 1989 Mar 26 2s
--3 M +03/+04 1991 Mar 31 2s
--2 M +02/+03 1992 Ja 19 2s
--3 M +03/+04 2011 Mar 27 2s
-+4 R +04/+05 1989 Mar 26 2s
-+3 R +03/+04 1991 Mar 31 2s
-+2 R +02/+03 1992 Ja 19 2s
-+3 R +03/+04 2011 Mar 27 2s
- 4 - +04 2014 O 26 2s
- 3 - +03 2016 Mar 27 2s
- 4 - +04
- Z Asia/Yekaterinburg 4:2:33 - LMT 1916 Jul 3
- 3:45:5 - PMT 1919 Jul 15 4
- 4 - +04 1930 Jun 21
--5 M +05/+06 1991 Mar 31 2s
--4 M +04/+05 1992 Ja 19 2s
--5 M +05/+06 2011 Mar 27 2s
-+5 R +05/+06 1991 Mar 31 2s
-+4 R +04/+05 1992 Ja 19 2s
-+5 R +05/+06 2011 Mar 27 2s
- 6 - +06 2014 O 26 2s
- 5 - +05
- Z Asia/Omsk 4:53:30 - LMT 1919 N 14
- 5 - +05 1930 Jun 21
--6 M +06/+07 1991 Mar 31 2s
--5 M +05/+06 1992 Ja 19 2s
--6 M +06/+07 2011 Mar 27 2s
-+6 R +06/+07 1991 Mar 31 2s
-+5 R +05/+06 1992 Ja 19 2s
-+6 R +06/+07 2011 Mar 27 2s
- 7 - +07 2014 O 26 2s
- 6 - +06
- Z Asia/Barnaul 5:35 - LMT 1919 D 10
- 6 - +06 1930 Jun 21
--7 M +07/+08 1991 Mar 31 2s
--6 M +06/+07 1992 Ja 19 2s
--7 M +07/+08 1995 May 28
--6 M +06/+07 2011 Mar 27 2s
-+7 R +07/+08 1991 Mar 31 2s
-+6 R +06/+07 1992 Ja 19 2s
-+7 R +07/+08 1995 May 28
-+6 R +06/+07 2011 Mar 27 2s
- 7 - +07 2014 O 26 2s
- 6 - +06 2016 Mar 27 2s
- 7 - +07
- Z Asia/Novosibirsk 5:31:40 - LMT 1919 D 14 6
- 6 - +06 1930 Jun 21
--7 M +07/+08 1991 Mar 31 2s
--6 M +06/+07 1992 Ja 19 2s
--7 M +07/+08 1993 May 23
--6 M +06/+07 2011 Mar 27 2s
-+7 R +07/+08 1991 Mar 31 2s
-+6 R +06/+07 1992 Ja 19 2s
-+7 R +07/+08 1993 May 23
-+6 R +06/+07 2011 Mar 27 2s
- 7 - +07 2014 O 26 2s
- 6 - +06 2016 Jul 24 2s
- 7 - +07
- Z Asia/Tomsk 5:39:51 - LMT 1919 D 22
- 6 - +06 1930 Jun 21
--7 M +07/+08 1991 Mar 31 2s
--6 M +06/+07 1992 Ja 19 2s
--7 M +07/+08 2002 May 1 3
--6 M +06/+07 2011 Mar 27 2s
-+7 R +07/+08 1991 Mar 31 2s
-+6 R +06/+07 1992 Ja 19 2s
-+7 R +07/+08 2002 May 1 3
-+6 R +06/+07 2011 Mar 27 2s
- 7 - +07 2014 O 26 2s
- 6 - +06 2016 May 29 2s
- 7 - +07
- Z Asia/Novokuznetsk 5:48:48 - LMT 1924 May
- 6 - +06 1930 Jun 21
--7 M +07/+08 1991 Mar 31 2s
--6 M +06/+07 1992 Ja 19 2s
--7 M +07/+08 2010 Mar 28 2s
--6 M +06/+07 2011 Mar 27 2s
-+7 R +07/+08 1991 Mar 31 2s
-+6 R +06/+07 1992 Ja 19 2s
-+7 R +07/+08 2010 Mar 28 2s
-+6 R +06/+07 2011 Mar 27 2s
- 7 - +07
- Z Asia/Krasnoyarsk 6:11:26 - LMT 1920 Ja 6
- 6 - +06 1930 Jun 21
--7 M +07/+08 1991 Mar 31 2s
--6 M +06/+07 1992 Ja 19 2s
--7 M +07/+08 2011 Mar 27 2s
-+7 R +07/+08 1991 Mar 31 2s
-+6 R +06/+07 1992 Ja 19 2s
-+7 R +07/+08 2011 Mar 27 2s
- 8 - +08 2014 O 26 2s
- 7 - +07
- Z Asia/Irkutsk 6:57:5 - LMT 1880
- 6:57:5 - IMT 1920 Ja 25
- 7 - +07 1930 Jun 21
--8 M +08/+09 1991 Mar 31 2s
--7 M +07/+08 1992 Ja 19 2s
--8 M +08/+09 2011 Mar 27 2s
-+8 R +08/+09 1991 Mar 31 2s
-+7 R +07/+08 1992 Ja 19 2s
-+8 R +08/+09 2011 Mar 27 2s
- 9 - +09 2014 O 26 2s
- 8 - +08
- Z Asia/Chita 7:33:52 - LMT 1919 D 15
- 8 - +08 1930 Jun 21
--9 M +09/+10 1991 Mar 31 2s
--8 M +08/+09 1992 Ja 19 2s
--9 M +09/+10 2011 Mar 27 2s
-+9 R +09/+10 1991 Mar 31 2s
-+8 R +08/+09 1992 Ja 19 2s
-+9 R +09/+10 2011 Mar 27 2s
- 10 - +10 2014 O 26 2s
- 8 - +08 2016 Mar 27 2
- 9 - +09
- Z Asia/Yakutsk 8:38:58 - LMT 1919 D 15
- 8 - +08 1930 Jun 21
--9 M +09/+10 1991 Mar 31 2s
--8 M +08/+09 1992 Ja 19 2s
--9 M +09/+10 2011 Mar 27 2s
-+9 R +09/+10 1991 Mar 31 2s
-+8 R +08/+09 1992 Ja 19 2s
-+9 R +09/+10 2011 Mar 27 2s
- 10 - +10 2014 O 26 2s
- 9 - +09
- Z Asia/Vladivostok 8:47:31 - LMT 1922 N 15
- 9 - +09 1930 Jun 21
--10 M +10/+11 1991 Mar 31 2s
--9 M +09/+10 1992 Ja 19 2s
--10 M +10/+11 2011 Mar 27 2s
-+10 R +10/+11 1991 Mar 31 2s
-+9 R +09/+10 1992 Ja 19 2s
-+10 R +10/+11 2011 Mar 27 2s
- 11 - +11 2014 O 26 2s
- 10 - +10
- Z Asia/Khandyga 9:2:13 - LMT 1919 D 15
- 8 - +08 1930 Jun 21
--9 M +09/+10 1991 Mar 31 2s
--8 M +08/+09 1992 Ja 19 2s
--9 M +09/+10 2004
--10 M +10/+11 2011 Mar 27 2s
-+9 R +09/+10 1991 Mar 31 2s
-+8 R +08/+09 1992 Ja 19 2s
-+9 R +09/+10 2004
-+10 R +10/+11 2011 Mar 27 2s
- 11 - +11 2011 S 13 0s
- 10 - +10 2014 O 26 2s
- 9 - +09
- Z Asia/Sakhalin 9:30:48 - LMT 1905 Au 23
- 9 - +09 1945 Au 25
--11 M +11/+12 1991 Mar 31 2s
--10 M +10/+11 1992 Ja 19 2s
--11 M +11/+12 1997 Mar lastSun 2s
--10 M +10/+11 2011 Mar 27 2s
-+11 R +11/+12 1991 Mar 31 2s
-+10 R +10/+11 1992 Ja 19 2s
-+11 R +11/+12 1997 Mar lastSun 2s
-+10 R +10/+11 2011 Mar 27 2s
- 11 - +11 2014 O 26 2s
- 10 - +10 2016 Mar 27 2s
- 11 - +11
- Z Asia/Magadan 10:3:12 - LMT 1924 May 2
- 10 - +10 1930 Jun 21
--11 M +11/+12 1991 Mar 31 2s
--10 M +10/+11 1992 Ja 19 2s
--11 M +11/+12 2011 Mar 27 2s
-+11 R +11/+12 1991 Mar 31 2s
-+10 R +10/+11 1992 Ja 19 2s
-+11 R +11/+12 2011 Mar 27 2s
- 12 - +12 2014 O 26 2s
- 10 - +10 2016 Ap 24 2s
- 11 - +11
- Z Asia/Srednekolymsk 10:14:52 - LMT 1924 May 2
- 10 - +10 1930 Jun 21
--11 M +11/+12 1991 Mar 31 2s
--10 M +10/+11 1992 Ja 19 2s
--11 M +11/+12 2011 Mar 27 2s
-+11 R +11/+12 1991 Mar 31 2s
-+10 R +10/+11 1992 Ja 19 2s
-+11 R +11/+12 2011 Mar 27 2s
- 12 - +12 2014 O 26 2s
- 11 - +11
- Z Asia/Ust-Nera 9:32:54 - LMT 1919 D 15
- 8 - +08 1930 Jun 21
--9 M +09/+10 1981 Ap
--11 M +11/+12 1991 Mar 31 2s
--10 M +10/+11 1992 Ja 19 2s
--11 M +11/+12 2011 Mar 27 2s
-+9 R +09/+10 1981 Ap
-+11 R +11/+12 1991 Mar 31 2s
-+10 R +10/+11 1992 Ja 19 2s
-+11 R +11/+12 2011 Mar 27 2s
- 12 - +12 2011 S 13 0s
- 11 - +11 2014 O 26 2s
- 10 - +10
- Z Asia/Kamchatka 10:34:36 - LMT 1922 N 10
- 11 - +11 1930 Jun 21
--12 M +12/+13 1991 Mar 31 2s
--11 M +11/+12 1992 Ja 19 2s
--12 M +12/+13 2010 Mar 28 2s
--11 M +11/+12 2011 Mar 27 2s
-+12 R +12/+13 1991 Mar 31 2s
-+11 R +11/+12 1992 Ja 19 2s
-+12 R +12/+13 2010 Mar 28 2s
-+11 R +11/+12 2011 Mar 27 2s
- 12 - +12
- Z Asia/Anadyr 11:49:56 - LMT 1924 May 2
- 12 - +12 1930 Jun 21
--13 M +13/+14 1982 Ap 1 0s
--12 M +12/+13 1991 Mar 31 2s
--11 M +11/+12 1992 Ja 19 2s
--12 M +12/+13 2010 Mar 28 2s
--11 M +11/+12 2011 Mar 27 2s
-+13 R +13/+14 1982 Ap 1 0s
-+12 R +12/+13 1991 Mar 31 2s
-+11 R +11/+12 1992 Ja 19 2s
-+12 R +12/+13 2010 Mar 28 2s
-+11 R +11/+12 2011 Mar 27 2s
- 12 - +12
- Z Europe/Belgrade 1:22 - LMT 1884
- 1 - CET 1941 Ap 18 23
--1 ( CE%sT 1945
-+1 c CE%sT 1945
- 1 - CET 1945 May 8 2s
- 1 1 CEST 1945 S 16 2s
- 1 - CET 1982 N 27
--1 O CE%sT
-+1 E CE%sT
- Li Europe/Belgrade Europe/Ljubljana
- Li Europe/Belgrade Europe/Podgorica
- Li Europe/Belgrade Europe/Sarajevo
- Li Europe/Belgrade Europe/Skopje
- Li Europe/Belgrade Europe/Zagreb
- Li Europe/Prague Europe/Bratislava
--R AB 1918 o - Ap 15 23 1 S
--R AB 1918 1919 - O 6 24s 0 -
--R AB 1919 o - Ap 6 23 1 S
--R AB 1924 o - Ap 16 23 1 S
--R AB 1924 o - O 4 24s 0 -
--R AB 1926 o - Ap 17 23 1 S
--R AB 1926 1929 - O Sat>=1 24s 0 -
--R AB 1927 o - Ap 9 23 1 S
--R AB 1928 o - Ap 15 0 1 S
--R AB 1929 o - Ap 20 23 1 S
--R AB 1937 o - Jun 16 23 1 S
--R AB 1937 o - O 2 24s 0 -
--R AB 1938 o - Ap 2 23 1 S
--R AB 1938 o - Ap 30 23 2 M
--R AB 1938 o - O 2 24 1 S
--R AB 1939 o - O 7 24s 0 -
--R AB 1942 o - May 2 23 1 S
--R AB 1942 o - S 1 1 0 -
--R AB 1943 1946 - Ap Sat>=13 23 1 S
--R AB 1943 1944 - O Sun>=1 1 0 -
--R AB 1945 1946 - S lastSun 1 0 -
--R AB 1949 o - Ap 30 23 1 S
--R AB 1949 o - O 2 1 0 -
--R AB 1974 1975 - Ap Sat>=12 23 1 S
--R AB 1974 1975 - O Sun>=1 1 0 -
--R AB 1976 o - Mar 27 23 1 S
--R AB 1976 1977 - S lastSun 1 0 -
--R AB 1977 o - Ap 2 23 1 S
--R AB 1978 o - Ap 2 2s 1 S
--R AB 1978 o - O 1 2s 0 -
--R AC 1967 o - Jun 3 12 1 S
--R AC 1967 o - O 1 0 0 -
--R AC 1974 o - Jun 24 0 1 S
--R AC 1974 o - S 1 0 0 -
--R AC 1976 1977 - May 1 0 1 S
--R AC 1976 o - Au 1 0 0 -
--R AC 1977 o - S 28 0 0 -
--R AC 1978 o - Jun 1 0 1 S
--R AC 1978 o - Au 4 0 0 -
-+R s 1918 o - Ap 15 23 1 S
-+R s 1918 1919 - O 6 24s 0 -
-+R s 1919 o - Ap 6 23 1 S
-+R s 1924 o - Ap 16 23 1 S
-+R s 1924 o - O 4 24s 0 -
-+R s 1926 o - Ap 17 23 1 S
-+R s 1926 1929 - O Sat>=1 24s 0 -
-+R s 1927 o - Ap 9 23 1 S
-+R s 1928 o - Ap 15 0 1 S
-+R s 1929 o - Ap 20 23 1 S
-+R s 1937 o - Jun 16 23 1 S
-+R s 1937 o - O 2 24s 0 -
-+R s 1938 o - Ap 2 23 1 S
-+R s 1938 o - Ap 30 23 2 M
-+R s 1938 o - O 2 24 1 S
-+R s 1939 o - O 7 24s 0 -
-+R s 1942 o - May 2 23 1 S
-+R s 1942 o - S 1 1 0 -
-+R s 1943 1946 - Ap Sat>=13 23 1 S
-+R s 1943 1944 - O Sun>=1 1 0 -
-+R s 1945 1946 - S lastSun 1 0 -
-+R s 1949 o - Ap 30 23 1 S
-+R s 1949 o - O 2 1 0 -
-+R s 1974 1975 - Ap Sat>=12 23 1 S
-+R s 1974 1975 - O Sun>=1 1 0 -
-+R s 1976 o - Mar 27 23 1 S
-+R s 1976 1977 - S lastSun 1 0 -
-+R s 1977 o - Ap 2 23 1 S
-+R s 1978 o - Ap 2 2s 1 S
-+R s 1978 o - O 1 2s 0 -
- Z Europe/Madrid -0:14:44 - LMT 1900 D 31 23:45:16
--0 AB WE%sT 1940 Mar 16 23
--1 AB CE%sT 1979
--1 O CE%sT
-+0 s WE%sT 1940 Mar 16 23
-+1 s CE%sT 1979
-+1 E CE%sT
- Z Africa/Ceuta -0:21:16 - LMT 1900 D 31 23:38:44
- 0 - WET 1918 May 6 23
- 0 1 WEST 1918 O 7 23
- 0 - WET 1924
--0 AB WE%sT 1929
--0 AC WE%sT 1984 Mar 16
-+0 s WE%sT 1929
-+0 - WET 1967
-+0 M WE%sT 1984 Mar 16
- 1 - CET 1986
--1 O CE%sT
-+1 E CE%sT
- Z Atlantic/Canary -1:1:36 - LMT 1922 Mar
- -1 - -01 1946 S 30 1
- 0 - WET 1980 Ap 6 0s
- 0 1 WEST 1980 S 28 1u
--0 O WE%sT
-+0 E WE%sT
- Z Europe/Stockholm 1:12:12 - LMT 1879
- 1:0:14 - SET 1900
- 1 - CET 1916 May 14 23
- 1 1 CEST 1916 O 1 1
- 1 - CET 1980
--1 O CE%sT
--R AD 1941 1942 - May M>=1 1 1 S
--R AD 1941 1942 - O M>=1 2 0 -
-+1 E CE%sT
-+R CH 1941 1942 - May M>=1 1 1 S
-+R CH 1941 1942 - O M>=1 2 0 -
- Z Europe/Zurich 0:34:8 - LMT 1853 Jul 16
- 0:29:46 - BMT 1894 Jun
--1 AD CE%sT 1981
--1 O CE%sT
--R AE 1916 o - May 1 0 1 S
--R AE 1916 o - O 1 0 0 -
--R AE 1920 o - Mar 28 0 1 S
--R AE 1920 o - O 25 0 0 -
--R AE 1921 o - Ap 3 0 1 S
--R AE 1921 o - O 3 0 0 -
--R AE 1922 o - Mar 26 0 1 S
--R AE 1922 o - O 8 0 0 -
--R AE 1924 o - May 13 0 1 S
--R AE 1924 1925 - O 1 0 0 -
--R AE 1925 o - May 1 0 1 S
--R AE 1940 o - Jun 30 0 1 S
--R AE 1940 o - O 5 0 0 -
--R AE 1940 o - D 1 0 1 S
--R AE 1941 o - S 21 0 0 -
--R AE 1942 o - Ap 1 0 1 S
--R AE 1942 o - N 1 0 0 -
--R AE 1945 o - Ap 2 0 1 S
--R AE 1945 o - O 8 0 0 -
--R AE 1946 o - Jun 1 0 1 S
--R AE 1946 o - O 1 0 0 -
--R AE 1947 1948 - Ap Sun>=16 0 1 S
--R AE 1947 1950 - O Sun>=2 0 0 -
--R AE 1949 o - Ap 10 0 1 S
--R AE 1950 o - Ap 19 0 1 S
--R AE 1951 o - Ap 22 0 1 S
--R AE 1951 o - O 8 0 0 -
--R AE 1962 o - Jul 15 0 1 S
--R AE 1962 o - O 8 0 0 -
--R AE 1964 o - May 15 0 1 S
--R AE 1964 o - O 1 0 0 -
--R AE 1970 1972 - May Sun>=2 0 1 S
--R AE 1970 1972 - O Sun>=2 0 0 -
--R AE 1973 o - Jun 3 1 1 S
--R AE 1973 o - N 4 3 0 -
--R AE 1974 o - Mar 31 2 1 S
--R AE 1974 o - N 3 5 0 -
--R AE 1975 o - Mar 30 0 1 S
--R AE 1975 1976 - O lastSun 0 0 -
--R AE 1976 o - Jun 1 0 1 S
--R AE 1977 1978 - Ap Sun>=1 0 1 S
--R AE 1977 o - O 16 0 0 -
--R AE 1979 1980 - Ap Sun>=1 3 1 S
--R AE 1979 1982 - O M>=11 0 0 -
--R AE 1981 1982 - Mar lastSun 3 1 S
--R AE 1983 o - Jul 31 0 1 S
--R AE 1983 o - O 2 0 0 -
--R AE 1985 o - Ap 20 0 1 S
--R AE 1985 o - S 28 0 0 -
--R AE 1986 1993 - Mar lastSun 1s 1 S
--R AE 1986 1995 - S lastSun 1s 0 -
--R AE 1994 o - Mar 20 1s 1 S
--R AE 1995 2006 - Mar lastSun 1s 1 S
--R AE 1996 2006 - O lastSun 1s 0 -
-+1 CH CE%sT 1981
-+1 E CE%sT
-+R T 1916 o - May 1 0 1 S
-+R T 1916 o - O 1 0 0 -
-+R T 1920 o - Mar 28 0 1 S
-+R T 1920 o - O 25 0 0 -
-+R T 1921 o - Ap 3 0 1 S
-+R T 1921 o - O 3 0 0 -
-+R T 1922 o - Mar 26 0 1 S
-+R T 1922 o - O 8 0 0 -
-+R T 1924 o - May 13 0 1 S
-+R T 1924 1925 - O 1 0 0 -
-+R T 1925 o - May 1 0 1 S
-+R T 1940 o - Jun 30 0 1 S
-+R T 1940 o - O 5 0 0 -
-+R T 1940 o - D 1 0 1 S
-+R T 1941 o - S 21 0 0 -
-+R T 1942 o - Ap 1 0 1 S
-+R T 1942 o - N 1 0 0 -
-+R T 1945 o - Ap 2 0 1 S
-+R T 1945 o - O 8 0 0 -
-+R T 1946 o - Jun 1 0 1 S
-+R T 1946 o - O 1 0 0 -
-+R T 1947 1948 - Ap Sun>=16 0 1 S
-+R T 1947 1950 - O Sun>=2 0 0 -
-+R T 1949 o - Ap 10 0 1 S
-+R T 1950 o - Ap 19 0 1 S
-+R T 1951 o - Ap 22 0 1 S
-+R T 1951 o - O 8 0 0 -
-+R T 1962 o - Jul 15 0 1 S
-+R T 1962 o - O 8 0 0 -
-+R T 1964 o - May 15 0 1 S
-+R T 1964 o - O 1 0 0 -
-+R T 1970 1972 - May Sun>=2 0 1 S
-+R T 1970 1972 - O Sun>=2 0 0 -
-+R T 1973 o - Jun 3 1 1 S
-+R T 1973 o - N 4 3 0 -
-+R T 1974 o - Mar 31 2 1 S
-+R T 1974 o - N 3 5 0 -
-+R T 1975 o - Mar 30 0 1 S
-+R T 1975 1976 - O lastSun 0 0 -
-+R T 1976 o - Jun 1 0 1 S
-+R T 1977 1978 - Ap Sun>=1 0 1 S
-+R T 1977 o - O 16 0 0 -
-+R T 1979 1980 - Ap Sun>=1 3 1 S
-+R T 1979 1982 - O M>=11 0 0 -
-+R T 1981 1982 - Mar lastSun 3 1 S
-+R T 1983 o - Jul 31 0 1 S
-+R T 1983 o - O 2 0 0 -
-+R T 1985 o - Ap 20 0 1 S
-+R T 1985 o - S 28 0 0 -
-+R T 1986 1993 - Mar lastSun 1s 1 S
-+R T 1986 1995 - S lastSun 1s 0 -
-+R T 1994 o - Mar 20 1s 1 S
-+R T 1995 2006 - Mar lastSun 1s 1 S
-+R T 1996 2006 - O lastSun 1s 0 -
- Z Europe/Istanbul 1:55:52 - LMT 1880
- 1:56:56 - IMT 1910 O
--2 AE EE%sT 1978 O 15
--3 AE +03/+04 1985 Ap 20
--2 AE EE%sT 2007
--2 O EE%sT 2011 Mar 27 1u
-+2 T EE%sT 1978 O 15
-+3 T +03/+04 1985 Ap 20
-+2 T EE%sT 2007
-+2 E EE%sT 2011 Mar 27 1u
- 2 - EET 2011 Mar 28 1u
--2 O EE%sT 2014 Mar 30 1u
-+2 E EE%sT 2014 Mar 30 1u
- 2 - EET 2014 Mar 31 1u
--2 O EE%sT 2015 O 25 1u
-+2 E EE%sT 2015 O 25 1u
- 2 1 EEST 2015 N 8 1u
--2 O EE%sT 2016 S 7
-+2 E EE%sT 2016 S 7
- 3 - +03
- Li Europe/Istanbul Asia/Istanbul
- Z Europe/Kiev 2:2:4 - LMT 1880
- 2:2:4 - KMT 1924 May 2
- 2 - EET 1930 Jun 21
- 3 - MSK 1941 S 20
--1 ( CE%sT 1943 N 6
--3 M MSK/MSD 1990 Jul 1 2
-+1 c CE%sT 1943 N 6
-+3 R MSK/MSD 1990 Jul 1 2
- 2 1 EEST 1991 S 29 3
--2 W EE%sT 1995
--2 O EE%sT
-+2 e EE%sT 1995
-+2 E EE%sT
- Z Europe/Uzhgorod 1:29:12 - LMT 1890 O
- 1 - CET 1940
--1 ( CE%sT 1944 O
-+1 c CE%sT 1944 O
- 1 1 CEST 1944 O 26
- 1 - CET 1945 Jun 29
--3 M MSK/MSD 1990
-+3 R MSK/MSD 1990
- 3 - MSK 1990 Jul 1 2
- 1 - CET 1991 Mar 31 3
- 2 - EET 1992
--2 W EE%sT 1995
--2 O EE%sT
-+2 e EE%sT 1995
-+2 E EE%sT
- Z Europe/Zaporozhye 2:20:40 - LMT 1880
- 2:20 - +0220 1924 May 2
- 2 - EET 1930 Jun 21
- 3 - MSK 1941 Au 25
--1 ( CE%sT 1943 O 25
--3 M MSK/MSD 1991 Mar 31 2
--2 W EE%sT 1995
--2 O EE%sT
--R AF 1918 1919 - Mar lastSun 2 1 D
--R AF 1918 1919 - O lastSun 2 0 S
--R AF 1942 o - F 9 2 1 W
--R AF 1945 o - Au 14 23u 1 P
--R AF 1945 o - S lastSun 2 0 S
--R AF 1967 2006 - O lastSun 2 0 S
--R AF 1967 1973 - Ap lastSun 2 1 D
--R AF 1974 o - Ja 6 2 1 D
--R AF 1975 o - F 23 2 1 D
--R AF 1976 1986 - Ap lastSun 2 1 D
--R AF 1987 2006 - Ap Sun>=1 2 1 D
--R AF 2007 ma - Mar Sun>=8 2 1 D
--R AF 2007 ma - N Sun>=1 2 0 S
-+1 c CE%sT 1943 O 25
-+3 R MSK/MSD 1991 Mar 31 2
-+2 e EE%sT 1995
-+2 E EE%sT
-+R u 1918 1919 - Mar lastSun 2 1 D
-+R u 1918 1919 - O lastSun 2 0 S
-+R u 1942 o - F 9 2 1 W
-+R u 1945 o - Au 14 23u 1 P
-+R u 1945 o - S lastSun 2 0 S
-+R u 1967 2006 - O lastSun 2 0 S
-+R u 1967 1973 - Ap lastSun 2 1 D
-+R u 1974 o - Ja 6 2 1 D
-+R u 1975 o - F 23 2 1 D
-+R u 1976 1986 - Ap lastSun 2 1 D
-+R u 1987 2006 - Ap Sun>=1 2 1 D
-+R u 2007 ma - Mar Sun>=8 2 1 D
-+R u 2007 ma - N Sun>=1 2 0 S
- Z EST -5 - EST
- Z MST -7 - MST
- Z HST -10 - HST
--Z EST5EDT -5 AF E%sT
--Z CST6CDT -6 AF C%sT
--Z MST7MDT -7 AF M%sT
--Z PST8PDT -8 AF P%sT
--R AG 1920 o - Mar lastSun 2 1 D
--R AG 1920 o - O lastSun 2 0 S
--R AG 1921 1966 - Ap lastSun 2 1 D
--R AG 1921 1954 - S lastSun 2 0 S
--R AG 1955 1966 - O lastSun 2 0 S
-+Z EST5EDT -5 u E%sT
-+Z CST6CDT -6 u C%sT
-+Z MST7MDT -7 u M%sT
-+Z PST8PDT -8 u P%sT
-+R NY 1920 o - Mar lastSun 2 1 D
-+R NY 1920 o - O lastSun 2 0 S
-+R NY 1921 1966 - Ap lastSun 2 1 D
-+R NY 1921 1954 - S lastSun 2 0 S
-+R NY 1955 1966 - O lastSun 2 0 S
- Z America/New_York -4:56:2 - LMT 1883 N 18 12:3:58
---5 AF E%sT 1920
---5 AG E%sT 1942
---5 AF E%sT 1946
---5 AG E%sT 1967
---5 AF E%sT
--R AH 1920 o - Jun 13 2 1 D
--R AH 1920 1921 - O lastSun 2 0 S
--R AH 1921 o - Mar lastSun 2 1 D
--R AH 1922 1966 - Ap lastSun 2 1 D
--R AH 1922 1954 - S lastSun 2 0 S
--R AH 1955 1966 - O lastSun 2 0 S
-+-5 u E%sT 1920
-+-5 NY E%sT 1942
-+-5 u E%sT 1946
-+-5 NY E%sT 1967
-+-5 u E%sT
-+R Ch 1920 o - Jun 13 2 1 D
-+R Ch 1920 1921 - O lastSun 2 0 S
-+R Ch 1921 o - Mar lastSun 2 1 D
-+R Ch 1922 1966 - Ap lastSun 2 1 D
-+R Ch 1922 1954 - S lastSun 2 0 S
-+R Ch 1955 1966 - O lastSun 2 0 S
- Z America/Chicago -5:50:36 - LMT 1883 N 18 12:9:24
---6 AF C%sT 1920
---6 AH C%sT 1936 Mar 1 2
-+-6 u C%sT 1920
-+-6 Ch C%sT 1936 Mar 1 2
- -5 - EST 1936 N 15 2
---6 AH C%sT 1942
---6 AF C%sT 1946
---6 AH C%sT 1967
---6 AF C%sT
-+-6 Ch C%sT 1942
-+-6 u C%sT 1946
-+-6 Ch C%sT 1967
-+-6 u C%sT
- Z America/North_Dakota/Center -6:45:12 - LMT 1883 N 18 12:14:48
---7 AF M%sT 1992 O 25 2
---6 AF C%sT
-+-7 u M%sT 1992 O 25 2
-+-6 u C%sT
- Z America/North_Dakota/New_Salem -6:45:39 - LMT 1883 N 18 12:14:21
---7 AF M%sT 2003 O 26 2
---6 AF C%sT
-+-7 u M%sT 2003 O 26 2
-+-6 u C%sT
- Z America/North_Dakota/Beulah -6:47:7 - LMT 1883 N 18 12:12:53
---7 AF M%sT 2010 N 7 2
---6 AF C%sT
--R AI 1920 1921 - Mar lastSun 2 1 D
--R AI 1920 o - O lastSun 2 0 S
--R AI 1921 o - May 22 2 0 S
--R AI 1965 1966 - Ap lastSun 2 1 D
--R AI 1965 1966 - O lastSun 2 0 S
-+-7 u M%sT 2010 N 7 2
-+-6 u C%sT
-+R De 1920 1921 - Mar lastSun 2 1 D
-+R De 1920 o - O lastSun 2 0 S
-+R De 1921 o - May 22 2 0 S
-+R De 1965 1966 - Ap lastSun 2 1 D
-+R De 1965 1966 - O lastSun 2 0 S
- Z America/Denver -6:59:56 - LMT 1883 N 18 12:0:4
---7 AF M%sT 1920
---7 AI M%sT 1942
---7 AF M%sT 1946
---7 AI M%sT 1967
---7 AF M%sT
--R AJ 1948 o - Mar 14 2:1 1 D
--R AJ 1949 o - Ja 1 2 0 S
--R AJ 1950 1966 - Ap lastSun 1 1 D
--R AJ 1950 1961 - S lastSun 2 0 S
--R AJ 1962 1966 - O lastSun 2 0 S
-+-7 u M%sT 1920
-+-7 De M%sT 1942
-+-7 u M%sT 1946
-+-7 De M%sT 1967
-+-7 u M%sT
-+R CA 1948 o - Mar 14 2:1 1 D
-+R CA 1949 o - Ja 1 2 0 S
-+R CA 1950 1966 - Ap lastSun 1 1 D
-+R CA 1950 1961 - S lastSun 2 0 S
-+R CA 1962 1966 - O lastSun 2 0 S
- Z America/Los_Angeles -7:52:58 - LMT 1883 N 18 12:7:2
---8 AF P%sT 1946
---8 AJ P%sT 1967
---8 AF P%sT
-+-8 u P%sT 1946
-+-8 CA P%sT 1967
-+-8 u P%sT
- Z America/Juneau 15:2:19 - LMT 1867 O 19 15:33:32
- -8:57:41 - LMT 1900 Au 20 12
- -8 - PST 1942
---8 AF P%sT 1946
-+-8 u P%sT 1946
- -8 - PST 1969
---8 AF P%sT 1980 Ap 27 2
---9 AF Y%sT 1980 O 26 2
---8 AF P%sT 1983 O 30 2
---9 AF Y%sT 1983 N 30
---9 AF AK%sT
-+-8 u P%sT 1980 Ap 27 2
-+-9 u Y%sT 1980 O 26 2
-+-8 u P%sT 1983 O 30 2
-+-9 u Y%sT 1983 N 30
-+-9 u AK%sT
- Z America/Sitka 14:58:47 - LMT 1867 O 19 15:30
- -9:1:13 - LMT 1900 Au 20 12
- -8 - PST 1942
---8 AF P%sT 1946
-+-8 u P%sT 1946
- -8 - PST 1969
---8 AF P%sT 1983 O 30 2
---9 AF Y%sT 1983 N 30
---9 AF AK%sT
-+-8 u P%sT 1983 O 30 2
-+-9 u Y%sT 1983 N 30
-+-9 u AK%sT
- Z America/Metlakatla 15:13:42 - LMT 1867 O 19 15:44:55
- -8:46:18 - LMT 1900 Au 20 12
- -8 - PST 1942
---8 AF P%sT 1946
-+-8 u P%sT 1946
- -8 - PST 1969
---8 AF P%sT 1983 O 30 2
-+-8 u P%sT 1983 O 30 2
- -8 - PST 2015 N 1 2
---9 AF AK%sT
-+-9 u AK%sT
- Z America/Yakutat 14:41:5 - LMT 1867 O 19 15:12:18
- -9:18:55 - LMT 1900 Au 20 12
- -9 - YST 1942
---9 AF Y%sT 1946
-+-9 u Y%sT 1946
- -9 - YST 1969
---9 AF Y%sT 1983 N 30
---9 AF AK%sT
-+-9 u Y%sT 1983 N 30
-+-9 u AK%sT
- Z America/Anchorage 14:0:24 - LMT 1867 O 19 14:31:37
- -9:59:36 - LMT 1900 Au 20 12
- -10 - AST 1942
---10 AF A%sT 1967 Ap
-+-10 u A%sT 1967 Ap
- -10 - AHST 1969
---10 AF AH%sT 1983 O 30 2
---9 AF Y%sT 1983 N 30
---9 AF AK%sT
-+-10 u AH%sT 1983 O 30 2
-+-9 u Y%sT 1983 N 30
-+-9 u AK%sT
- Z America/Nome 12:58:22 - LMT 1867 O 19 13:29:35
- -11:1:38 - LMT 1900 Au 20 12
- -11 - NST 1942
---11 AF N%sT 1946
-+-11 u N%sT 1946
- -11 - NST 1967 Ap
- -11 - BST 1969
---11 AF B%sT 1983 O 30 2
---9 AF Y%sT 1983 N 30
---9 AF AK%sT
-+-11 u B%sT 1983 O 30 2
-+-9 u Y%sT 1983 N 30
-+-9 u AK%sT
- Z America/Adak 12:13:22 - LMT 1867 O 19 12:44:35
- -11:46:38 - LMT 1900 Au 20 12
- -11 - NST 1942
---11 AF N%sT 1946
-+-11 u N%sT 1946
- -11 - NST 1967 Ap
- -11 - BST 1969
---11 AF B%sT 1983 O 30 2
---10 AF AH%sT 1983 N 30
---10 AF H%sT
-+-11 u B%sT 1983 O 30 2
-+-10 u AH%sT 1983 N 30
-+-10 u H%sT
- Z Pacific/Honolulu -10:31:26 - LMT 1896 Ja 13 12
- -10:30 - HST 1933 Ap 30 2
- -10:30 1 HDT 1933 May 21 12
-@@ -2683,531 +2700,531 @@ Z Pacific/Honolulu -10:31:26 - LMT 1896 Ja 13 12
- -10:30 - HST 1947 Jun 8 2
- -10 - HST
- Z America/Phoenix -7:28:18 - LMT 1883 N 18 11:31:42
---7 AF M%sT 1944 Ja 1 0:1
-+-7 u M%sT 1944 Ja 1 0:1
- -7 - MST 1944 Ap 1 0:1
---7 AF M%sT 1944 O 1 0:1
-+-7 u M%sT 1944 O 1 0:1
- -7 - MST 1967
---7 AF M%sT 1968 Mar 21
-+-7 u M%sT 1968 Mar 21
- -7 - MST
- Z America/Boise -7:44:49 - LMT 1883 N 18 12:15:11
---8 AF P%sT 1923 May 13 2
---7 AF M%sT 1974
-+-8 u P%sT 1923 May 13 2
-+-7 u M%sT 1974
- -7 - MST 1974 F 3 2
---7 AF M%sT
--R AK 1941 o - Jun 22 2 1 D
--R AK 1941 1954 - S lastSun 2 0 S
--R AK 1946 1954 - Ap lastSun 2 1 D
-+-7 u M%sT
-+R In 1941 o - Jun 22 2 1 D
-+R In 1941 1954 - S lastSun 2 0 S
-+R In 1946 1954 - Ap lastSun 2 1 D
- Z America/Indiana/Indianapolis -5:44:38 - LMT 1883 N 18 12:15:22
---6 AF C%sT 1920
---6 AK C%sT 1942
---6 AF C%sT 1946
---6 AK C%sT 1955 Ap 24 2
-+-6 u C%sT 1920
-+-6 In C%sT 1942
-+-6 u C%sT 1946
-+-6 In C%sT 1955 Ap 24 2
- -5 - EST 1957 S 29 2
- -6 - CST 1958 Ap 27 2
- -5 - EST 1969
---5 AF E%sT 1971
-+-5 u E%sT 1971
- -5 - EST 2006
---5 AF E%sT
--R AL 1951 o - Ap lastSun 2 1 D
--R AL 1951 o - S lastSun 2 0 S
--R AL 1954 1960 - Ap lastSun 2 1 D
--R AL 1954 1960 - S lastSun 2 0 S
-+-5 u E%sT
-+R Ma 1951 o - Ap lastSun 2 1 D
-+R Ma 1951 o - S lastSun 2 0 S
-+R Ma 1954 1960 - Ap lastSun 2 1 D
-+R Ma 1954 1960 - S lastSun 2 0 S
- Z America/Indiana/Marengo -5:45:23 - LMT 1883 N 18 12:14:37
---6 AF C%sT 1951
---6 AL C%sT 1961 Ap 30 2
-+-6 u C%sT 1951
-+-6 Ma C%sT 1961 Ap 30 2
- -5 - EST 1969
---5 AF E%sT 1974 Ja 6 2
-+-5 u E%sT 1974 Ja 6 2
- -6 1 CDT 1974 O 27 2
---5 AF E%sT 1976
-+-5 u E%sT 1976
- -5 - EST 2006
---5 AF E%sT
--R AM 1946 o - Ap lastSun 2 1 D
--R AM 1946 o - S lastSun 2 0 S
--R AM 1953 1954 - Ap lastSun 2 1 D
--R AM 1953 1959 - S lastSun 2 0 S
--R AM 1955 o - May 1 0 1 D
--R AM 1956 1963 - Ap lastSun 2 1 D
--R AM 1960 o - O lastSun 2 0 S
--R AM 1961 o - S lastSun 2 0 S
--R AM 1962 1963 - O lastSun 2 0 S
-+-5 u E%sT
-+R V 1946 o - Ap lastSun 2 1 D
-+R V 1946 o - S lastSun 2 0 S
-+R V 1953 1954 - Ap lastSun 2 1 D
-+R V 1953 1959 - S lastSun 2 0 S
-+R V 1955 o - May 1 0 1 D
-+R V 1956 1963 - Ap lastSun 2 1 D
-+R V 1960 o - O lastSun 2 0 S
-+R V 1961 o - S lastSun 2 0 S
-+R V 1962 1963 - O lastSun 2 0 S
- Z America/Indiana/Vincennes -5:50:7 - LMT 1883 N 18 12:9:53
---6 AF C%sT 1946
---6 AM C%sT 1964 Ap 26 2
-+-6 u C%sT 1946
-+-6 V C%sT 1964 Ap 26 2
- -5 - EST 1969
---5 AF E%sT 1971
-+-5 u E%sT 1971
- -5 - EST 2006 Ap 2 2
---6 AF C%sT 2007 N 4 2
---5 AF E%sT
--R AN 1946 o - Ap lastSun 2 1 D
--R AN 1946 o - S lastSun 2 0 S
--R AN 1953 1954 - Ap lastSun 2 1 D
--R AN 1953 1959 - S lastSun 2 0 S
--R AN 1955 o - May 1 0 1 D
--R AN 1956 1963 - Ap lastSun 2 1 D
--R AN 1960 o - O lastSun 2 0 S
--R AN 1961 o - S lastSun 2 0 S
--R AN 1962 1963 - O lastSun 2 0 S
-+-6 u C%sT 2007 N 4 2
-+-5 u E%sT
-+R Pe 1946 o - Ap lastSun 2 1 D
-+R Pe 1946 o - S lastSun 2 0 S
-+R Pe 1953 1954 - Ap lastSun 2 1 D
-+R Pe 1953 1959 - S lastSun 2 0 S
-+R Pe 1955 o - May 1 0 1 D
-+R Pe 1956 1963 - Ap lastSun 2 1 D
-+R Pe 1960 o - O lastSun 2 0 S
-+R Pe 1961 o - S lastSun 2 0 S
-+R Pe 1962 1963 - O lastSun 2 0 S
- Z America/Indiana/Tell_City -5:47:3 - LMT 1883 N 18 12:12:57
---6 AF C%sT 1946
---6 AN C%sT 1964 Ap 26 2
-+-6 u C%sT 1946
-+-6 Pe C%sT 1964 Ap 26 2
- -5 - EST 1969
---5 AF E%sT 1971
-+-5 u E%sT 1971
- -5 - EST 2006 Ap 2 2
---6 AF C%sT
--R AO 1955 o - May 1 0 1 D
--R AO 1955 1960 - S lastSun 2 0 S
--R AO 1956 1964 - Ap lastSun 2 1 D
--R AO 1961 1964 - O lastSun 2 0 S
-+-6 u C%sT
-+R Pi 1955 o - May 1 0 1 D
-+R Pi 1955 1960 - S lastSun 2 0 S
-+R Pi 1956 1964 - Ap lastSun 2 1 D
-+R Pi 1961 1964 - O lastSun 2 0 S
- Z America/Indiana/Petersburg -5:49:7 - LMT 1883 N 18 12:10:53
---6 AF C%sT 1955
---6 AO C%sT 1965 Ap 25 2
-+-6 u C%sT 1955
-+-6 Pi C%sT 1965 Ap 25 2
- -5 - EST 1966 O 30 2
---6 AF C%sT 1977 O 30 2
-+-6 u C%sT 1977 O 30 2
- -5 - EST 2006 Ap 2 2
---6 AF C%sT 2007 N 4 2
---5 AF E%sT
--R AP 1947 1961 - Ap lastSun 2 1 D
--R AP 1947 1954 - S lastSun 2 0 S
--R AP 1955 1956 - O lastSun 2 0 S
--R AP 1957 1958 - S lastSun 2 0 S
--R AP 1959 1961 - O lastSun 2 0 S
-+-6 u C%sT 2007 N 4 2
-+-5 u E%sT
-+R St 1947 1961 - Ap lastSun 2 1 D
-+R St 1947 1954 - S lastSun 2 0 S
-+R St 1955 1956 - O lastSun 2 0 S
-+R St 1957 1958 - S lastSun 2 0 S
-+R St 1959 1961 - O lastSun 2 0 S
- Z America/Indiana/Knox -5:46:30 - LMT 1883 N 18 12:13:30
---6 AF C%sT 1947
---6 AP C%sT 1962 Ap 29 2
-+-6 u C%sT 1947
-+-6 St C%sT 1962 Ap 29 2
- -5 - EST 1963 O 27 2
---6 AF C%sT 1991 O 27 2
-+-6 u C%sT 1991 O 27 2
- -5 - EST 2006 Ap 2 2
---6 AF C%sT
--R AQ 1946 1960 - Ap lastSun 2 1 D
--R AQ 1946 1954 - S lastSun 2 0 S
--R AQ 1955 1956 - O lastSun 2 0 S
--R AQ 1957 1960 - S lastSun 2 0 S
-+-6 u C%sT
-+R Pu 1946 1960 - Ap lastSun 2 1 D
-+R Pu 1946 1954 - S lastSun 2 0 S
-+R Pu 1955 1956 - O lastSun 2 0 S
-+R Pu 1957 1960 - S lastSun 2 0 S
- Z America/Indiana/Winamac -5:46:25 - LMT 1883 N 18 12:13:35
---6 AF C%sT 1946
---6 AQ C%sT 1961 Ap 30 2
-+-6 u C%sT 1946
-+-6 Pu C%sT 1961 Ap 30 2
- -5 - EST 1969
---5 AF E%sT 1971
-+-5 u E%sT 1971
- -5 - EST 2006 Ap 2 2
---6 AF C%sT 2007 Mar 11 2
---5 AF E%sT
-+-6 u C%sT 2007 Mar 11 2
-+-5 u E%sT
- Z America/Indiana/Vevay -5:40:16 - LMT 1883 N 18 12:19:44
---6 AF C%sT 1954 Ap 25 2
-+-6 u C%sT 1954 Ap 25 2
- -5 - EST 1969
---5 AF E%sT 1973
-+-5 u E%sT 1973
- -5 - EST 2006
---5 AF E%sT
--R AR 1921 o - May 1 2 1 D
--R AR 1921 o - S 1 2 0 S
--R AR 1941 1961 - Ap lastSun 2 1 D
--R AR 1941 o - S lastSun 2 0 S
--R AR 1946 o - Jun 2 2 0 S
--R AR 1950 1955 - S lastSun 2 0 S
--R AR 1956 1960 - O lastSun 2 0 S
-+-5 u E%sT
-+R v 1921 o - May 1 2 1 D
-+R v 1921 o - S 1 2 0 S
-+R v 1941 1961 - Ap lastSun 2 1 D
-+R v 1941 o - S lastSun 2 0 S
-+R v 1946 o - Jun 2 2 0 S
-+R v 1950 1955 - S lastSun 2 0 S
-+R v 1956 1960 - O lastSun 2 0 S
- Z America/Kentucky/Louisville -5:43:2 - LMT 1883 N 18 12:16:58
---6 AF C%sT 1921
---6 AR C%sT 1942
---6 AF C%sT 1946
---6 AR C%sT 1961 Jul 23 2
-+-6 u C%sT 1921
-+-6 v C%sT 1942
-+-6 u C%sT 1946
-+-6 v C%sT 1961 Jul 23 2
- -5 - EST 1968
---5 AF E%sT 1974 Ja 6 2
-+-5 u E%sT 1974 Ja 6 2
- -6 1 CDT 1974 O 27 2
---5 AF E%sT
-+-5 u E%sT
- Z America/Kentucky/Monticello -5:39:24 - LMT 1883 N 18 12:20:36
---6 AF C%sT 1946
-+-6 u C%sT 1946
- -6 - CST 1968
---6 AF C%sT 2000 O 29 2
---5 AF E%sT
--R AS 1948 o - Ap lastSun 2 1 D
--R AS 1948 o - S lastSun 2 0 S
-+-6 u C%sT 2000 O 29 2
-+-5 u E%sT
-+R Dt 1948 o - Ap lastSun 2 1 D
-+R Dt 1948 o - S lastSun 2 0 S
- Z America/Detroit -5:32:11 - LMT 1905
- -6 - CST 1915 May 15 2
- -5 - EST 1942
---5 AF E%sT 1946
---5 AS E%sT 1973
---5 AF E%sT 1975
-+-5 u E%sT 1946
-+-5 Dt E%sT 1973
-+-5 u E%sT 1975
- -5 - EST 1975 Ap 27 2
---5 AF E%sT
--R AT 1946 o - Ap lastSun 2 1 D
--R AT 1946 o - S lastSun 2 0 S
--R AT 1966 o - Ap lastSun 2 1 D
--R AT 1966 o - O lastSun 2 0 S
-+-5 u E%sT
-+R Me 1946 o - Ap lastSun 2 1 D
-+R Me 1946 o - S lastSun 2 0 S
-+R Me 1966 o - Ap lastSun 2 1 D
-+R Me 1966 o - O lastSun 2 0 S
- Z America/Menominee -5:50:27 - LMT 1885 S 18 12
---6 AF C%sT 1946
---6 AT C%sT 1969 Ap 27 2
-+-6 u C%sT 1946
-+-6 Me C%sT 1969 Ap 27 2
- -5 - EST 1973 Ap 29 2
---6 AF C%sT
--R AU 1918 o - Ap 14 2 1 D
--R AU 1918 o - O 27 2 0 S
--R AU 1942 o - F 9 2 1 W
--R AU 1945 o - Au 14 23u 1 P
--R AU 1945 o - S 30 2 0 S
--R AU 1974 1986 - Ap lastSun 2 1 D
--R AU 1974 2006 - O lastSun 2 0 S
--R AU 1987 2006 - Ap Sun>=1 2 1 D
--R AU 2007 ma - Mar Sun>=8 2 1 D
--R AU 2007 ma - N Sun>=1 2 0 S
--R AV 1917 o - Ap 8 2 1 D
--R AV 1917 o - S 17 2 0 S
--R AV 1919 o - May 5 23 1 D
--R AV 1919 o - Au 12 23 0 S
--R AV 1920 1935 - May Sun>=1 23 1 D
--R AV 1920 1935 - O lastSun 23 0 S
--R AV 1936 1941 - May M>=9 0 1 D
--R AV 1936 1941 - O M>=2 0 0 S
--R AV 1946 1950 - May Sun>=8 2 1 D
--R AV 1946 1950 - O Sun>=2 2 0 S
--R AV 1951 1986 - Ap lastSun 2 1 D
--R AV 1951 1959 - S lastSun 2 0 S
--R AV 1960 1986 - O lastSun 2 0 S
--R AV 1987 o - Ap Sun>=1 0:1 1 D
--R AV 1987 2006 - O lastSun 0:1 0 S
--R AV 1988 o - Ap Sun>=1 0:1 2 DD
--R AV 1989 2006 - Ap Sun>=1 0:1 1 D
--R AV 2007 2011 - Mar Sun>=8 0:1 1 D
--R AV 2007 2010 - N Sun>=1 0:1 0 S
-+-6 u C%sT
-+R C 1918 o - Ap 14 2 1 D
-+R C 1918 o - O 27 2 0 S
-+R C 1942 o - F 9 2 1 W
-+R C 1945 o - Au 14 23u 1 P
-+R C 1945 o - S 30 2 0 S
-+R C 1974 1986 - Ap lastSun 2 1 D
-+R C 1974 2006 - O lastSun 2 0 S
-+R C 1987 2006 - Ap Sun>=1 2 1 D
-+R C 2007 ma - Mar Sun>=8 2 1 D
-+R C 2007 ma - N Sun>=1 2 0 S
-+R j 1917 o - Ap 8 2 1 D
-+R j 1917 o - S 17 2 0 S
-+R j 1919 o - May 5 23 1 D
-+R j 1919 o - Au 12 23 0 S
-+R j 1920 1935 - May Sun>=1 23 1 D
-+R j 1920 1935 - O lastSun 23 0 S
-+R j 1936 1941 - May M>=9 0 1 D
-+R j 1936 1941 - O M>=2 0 0 S
-+R j 1946 1950 - May Sun>=8 2 1 D
-+R j 1946 1950 - O Sun>=2 2 0 S
-+R j 1951 1986 - Ap lastSun 2 1 D
-+R j 1951 1959 - S lastSun 2 0 S
-+R j 1960 1986 - O lastSun 2 0 S
-+R j 1987 o - Ap Sun>=1 0:1 1 D
-+R j 1987 2006 - O lastSun 0:1 0 S
-+R j 1988 o - Ap Sun>=1 0:1 2 DD
-+R j 1989 2006 - Ap Sun>=1 0:1 1 D
-+R j 2007 2011 - Mar Sun>=8 0:1 1 D
-+R j 2007 2010 - N Sun>=1 0:1 0 S
- Z America/St_Johns -3:30:52 - LMT 1884
---3:30:52 AV N%sT 1918
---3:30:52 AU N%sT 1919
---3:30:52 AV N%sT 1935 Mar 30
---3:30 AV N%sT 1942 May 11
---3:30 AU N%sT 1946
---3:30 AV N%sT 2011 N
---3:30 AU N%sT
-+-3:30:52 j N%sT 1918
-+-3:30:52 C N%sT 1919
-+-3:30:52 j N%sT 1935 Mar 30
-+-3:30 j N%sT 1942 May 11
-+-3:30 C N%sT 1946
-+-3:30 j N%sT 2011 N
-+-3:30 C N%sT
- Z America/Goose_Bay -4:1:40 - LMT 1884
- -3:30:52 - NST 1918
---3:30:52 AU N%sT 1919
-+-3:30:52 C N%sT 1919
- -3:30:52 - NST 1935 Mar 30
- -3:30 - NST 1936
---3:30 AV N%sT 1942 May 11
---3:30 AU N%sT 1946
---3:30 AV N%sT 1966 Mar 15 2
---4 AV A%sT 2011 N
---4 AU A%sT
--R AW 1916 o - Ap 1 0 1 D
--R AW 1916 o - O 1 0 0 S
--R AW 1920 o - May 9 0 1 D
--R AW 1920 o - Au 29 0 0 S
--R AW 1921 o - May 6 0 1 D
--R AW 1921 1922 - S 5 0 0 S
--R AW 1922 o - Ap 30 0 1 D
--R AW 1923 1925 - May Sun>=1 0 1 D
--R AW 1923 o - S 4 0 0 S
--R AW 1924 o - S 15 0 0 S
--R AW 1925 o - S 28 0 0 S
--R AW 1926 o - May 16 0 1 D
--R AW 1926 o - S 13 0 0 S
--R AW 1927 o - May 1 0 1 D
--R AW 1927 o - S 26 0 0 S
--R AW 1928 1931 - May Sun>=8 0 1 D
--R AW 1928 o - S 9 0 0 S
--R AW 1929 o - S 3 0 0 S
--R AW 1930 o - S 15 0 0 S
--R AW 1931 1932 - S M>=24 0 0 S
--R AW 1932 o - May 1 0 1 D
--R AW 1933 o - Ap 30 0 1 D
--R AW 1933 o - O 2 0 0 S
--R AW 1934 o - May 20 0 1 D
--R AW 1934 o - S 16 0 0 S
--R AW 1935 o - Jun 2 0 1 D
--R AW 1935 o - S 30 0 0 S
--R AW 1936 o - Jun 1 0 1 D
--R AW 1936 o - S 14 0 0 S
--R AW 1937 1938 - May Sun>=1 0 1 D
--R AW 1937 1941 - S M>=24 0 0 S
--R AW 1939 o - May 28 0 1 D
--R AW 1940 1941 - May Sun>=1 0 1 D
--R AW 1946 1949 - Ap lastSun 2 1 D
--R AW 1946 1949 - S lastSun 2 0 S
--R AW 1951 1954 - Ap lastSun 2 1 D
--R AW 1951 1954 - S lastSun 2 0 S
--R AW 1956 1959 - Ap lastSun 2 1 D
--R AW 1956 1959 - S lastSun 2 0 S
--R AW 1962 1973 - Ap lastSun 2 1 D
--R AW 1962 1973 - O lastSun 2 0 S
-+-3:30 j N%sT 1942 May 11
-+-3:30 C N%sT 1946
-+-3:30 j N%sT 1966 Mar 15 2
-+-4 j A%sT 2011 N
-+-4 C A%sT
-+R H 1916 o - Ap 1 0 1 D
-+R H 1916 o - O 1 0 0 S
-+R H 1920 o - May 9 0 1 D
-+R H 1920 o - Au 29 0 0 S
-+R H 1921 o - May 6 0 1 D
-+R H 1921 1922 - S 5 0 0 S
-+R H 1922 o - Ap 30 0 1 D
-+R H 1923 1925 - May Sun>=1 0 1 D
-+R H 1923 o - S 4 0 0 S
-+R H 1924 o - S 15 0 0 S
-+R H 1925 o - S 28 0 0 S
-+R H 1926 o - May 16 0 1 D
-+R H 1926 o - S 13 0 0 S
-+R H 1927 o - May 1 0 1 D
-+R H 1927 o - S 26 0 0 S
-+R H 1928 1931 - May Sun>=8 0 1 D
-+R H 1928 o - S 9 0 0 S
-+R H 1929 o - S 3 0 0 S
-+R H 1930 o - S 15 0 0 S
-+R H 1931 1932 - S M>=24 0 0 S
-+R H 1932 o - May 1 0 1 D
-+R H 1933 o - Ap 30 0 1 D
-+R H 1933 o - O 2 0 0 S
-+R H 1934 o - May 20 0 1 D
-+R H 1934 o - S 16 0 0 S
-+R H 1935 o - Jun 2 0 1 D
-+R H 1935 o - S 30 0 0 S
-+R H 1936 o - Jun 1 0 1 D
-+R H 1936 o - S 14 0 0 S
-+R H 1937 1938 - May Sun>=1 0 1 D
-+R H 1937 1941 - S M>=24 0 0 S
-+R H 1939 o - May 28 0 1 D
-+R H 1940 1941 - May Sun>=1 0 1 D
-+R H 1946 1949 - Ap lastSun 2 1 D
-+R H 1946 1949 - S lastSun 2 0 S
-+R H 1951 1954 - Ap lastSun 2 1 D
-+R H 1951 1954 - S lastSun 2 0 S
-+R H 1956 1959 - Ap lastSun 2 1 D
-+R H 1956 1959 - S lastSun 2 0 S
-+R H 1962 1973 - Ap lastSun 2 1 D
-+R H 1962 1973 - O lastSun 2 0 S
- Z America/Halifax -4:14:24 - LMT 1902 Jun 15
---4 AW A%sT 1918
---4 AU A%sT 1919
---4 AW A%sT 1942 F 9 2s
---4 AU A%sT 1946
---4 AW A%sT 1974
---4 AU A%sT
-+-4 H A%sT 1918
-+-4 C A%sT 1919
-+-4 H A%sT 1942 F 9 2s
-+-4 C A%sT 1946
-+-4 H A%sT 1974
-+-4 C A%sT
- Z America/Glace_Bay -3:59:48 - LMT 1902 Jun 15
---4 AU A%sT 1953
---4 AW A%sT 1954
-+-4 C A%sT 1953
-+-4 H A%sT 1954
- -4 - AST 1972
---4 AW A%sT 1974
---4 AU A%sT
--R AX 1933 1935 - Jun Sun>=8 1 1 D
--R AX 1933 1935 - S Sun>=8 1 0 S
--R AX 1936 1938 - Jun Sun>=1 1 1 D
--R AX 1936 1938 - S Sun>=1 1 0 S
--R AX 1939 o - May 27 1 1 D
--R AX 1939 1941 - S Sat>=21 1 0 S
--R AX 1940 o - May 19 1 1 D
--R AX 1941 o - May 4 1 1 D
--R AX 1946 1972 - Ap lastSun 2 1 D
--R AX 1946 1956 - S lastSun 2 0 S
--R AX 1957 1972 - O lastSun 2 0 S
--R AX 1993 2006 - Ap Sun>=1 0:1 1 D
--R AX 1993 2006 - O lastSun 0:1 0 S
-+-4 H A%sT 1974
-+-4 C A%sT
-+R o 1933 1935 - Jun Sun>=8 1 1 D
-+R o 1933 1935 - S Sun>=8 1 0 S
-+R o 1936 1938 - Jun Sun>=1 1 1 D
-+R o 1936 1938 - S Sun>=1 1 0 S
-+R o 1939 o - May 27 1 1 D
-+R o 1939 1941 - S Sat>=21 1 0 S
-+R o 1940 o - May 19 1 1 D
-+R o 1941 o - May 4 1 1 D
-+R o 1946 1972 - Ap lastSun 2 1 D
-+R o 1946 1956 - S lastSun 2 0 S
-+R o 1957 1972 - O lastSun 2 0 S
-+R o 1993 2006 - Ap Sun>=1 0:1 1 D
-+R o 1993 2006 - O lastSun 0:1 0 S
- Z America/Moncton -4:19:8 - LMT 1883 D 9
- -5 - EST 1902 Jun 15
---4 AU A%sT 1933
---4 AX A%sT 1942
---4 AU A%sT 1946
---4 AX A%sT 1973
---4 AU A%sT 1993
---4 AX A%sT 2007
---4 AU A%sT
-+-4 C A%sT 1933
-+-4 o A%sT 1942
-+-4 C A%sT 1946
-+-4 o A%sT 1973
-+-4 C A%sT 1993
-+-4 o A%sT 2007
-+-4 C A%sT
- Z America/Blanc-Sablon -3:48:28 - LMT 1884
---4 AU A%sT 1970
-+-4 C A%sT 1970
- -4 - AST
--R AY 1919 o - Mar 30 23:30 1 D
--R AY 1919 o - O 26 0 0 S
--R AY 1920 o - May 2 2 1 D
--R AY 1920 o - S 26 0 0 S
--R AY 1921 o - May 15 2 1 D
--R AY 1921 o - S 15 2 0 S
--R AY 1922 1923 - May Sun>=8 2 1 D
--R AY 1922 1926 - S Sun>=15 2 0 S
--R AY 1924 1927 - May Sun>=1 2 1 D
--R AY 1927 1932 - S lastSun 2 0 S
--R AY 1928 1931 - Ap lastSun 2 1 D
--R AY 1932 o - May 1 2 1 D
--R AY 1933 1940 - Ap lastSun 2 1 D
--R AY 1933 o - O 1 2 0 S
--R AY 1934 1939 - S lastSun 2 0 S
--R AY 1945 1946 - S lastSun 2 0 S
--R AY 1946 o - Ap lastSun 2 1 D
--R AY 1947 1949 - Ap lastSun 0 1 D
--R AY 1947 1948 - S lastSun 0 0 S
--R AY 1949 o - N lastSun 0 0 S
--R AY 1950 1973 - Ap lastSun 2 1 D
--R AY 1950 o - N lastSun 2 0 S
--R AY 1951 1956 - S lastSun 2 0 S
--R AY 1957 1973 - O lastSun 2 0 S
-+R t 1919 o - Mar 30 23:30 1 D
-+R t 1919 o - O 26 0 0 S
-+R t 1920 o - May 2 2 1 D
-+R t 1920 o - S 26 0 0 S
-+R t 1921 o - May 15 2 1 D
-+R t 1921 o - S 15 2 0 S
-+R t 1922 1923 - May Sun>=8 2 1 D
-+R t 1922 1926 - S Sun>=15 2 0 S
-+R t 1924 1927 - May Sun>=1 2 1 D
-+R t 1927 1932 - S lastSun 2 0 S
-+R t 1928 1931 - Ap lastSun 2 1 D
-+R t 1932 o - May 1 2 1 D
-+R t 1933 1940 - Ap lastSun 2 1 D
-+R t 1933 o - O 1 2 0 S
-+R t 1934 1939 - S lastSun 2 0 S
-+R t 1945 1946 - S lastSun 2 0 S
-+R t 1946 o - Ap lastSun 2 1 D
-+R t 1947 1949 - Ap lastSun 0 1 D
-+R t 1947 1948 - S lastSun 0 0 S
-+R t 1949 o - N lastSun 0 0 S
-+R t 1950 1973 - Ap lastSun 2 1 D
-+R t 1950 o - N lastSun 2 0 S
-+R t 1951 1956 - S lastSun 2 0 S
-+R t 1957 1973 - O lastSun 2 0 S
- Z America/Toronto -5:17:32 - LMT 1895
---5 AU E%sT 1919
---5 AY E%sT 1942 F 9 2s
---5 AU E%sT 1946
---5 AY E%sT 1974
---5 AU E%sT
-+-5 C E%sT 1919
-+-5 t E%sT 1942 F 9 2s
-+-5 C E%sT 1946
-+-5 t E%sT 1974
-+-5 C E%sT
- Z America/Thunder_Bay -5:57 - LMT 1895
- -6 - CST 1910
- -5 - EST 1942
---5 AU E%sT 1970
---5 AY E%sT 1973
-+-5 C E%sT 1970
-+-5 t E%sT 1973
- -5 - EST 1974
---5 AU E%sT
-+-5 C E%sT
- Z America/Nipigon -5:53:4 - LMT 1895
---5 AU E%sT 1940 S 29
-+-5 C E%sT 1940 S 29
- -5 1 EDT 1942 F 9 2s
---5 AU E%sT
-+-5 C E%sT
- Z America/Rainy_River -6:18:16 - LMT 1895
---6 AU C%sT 1940 S 29
-+-6 C C%sT 1940 S 29
- -6 1 CDT 1942 F 9 2s
---6 AU C%sT
-+-6 C C%sT
- Z America/Atikokan -6:6:28 - LMT 1895
---6 AU C%sT 1940 S 29
-+-6 C C%sT 1940 S 29
- -6 1 CDT 1942 F 9 2s
---6 AU C%sT 1945 S 30 2
-+-6 C C%sT 1945 S 30 2
- -5 - EST
--R AZ 1916 o - Ap 23 0 1 D
--R AZ 1916 o - S 17 0 0 S
--R AZ 1918 o - Ap 14 2 1 D
--R AZ 1918 o - O 27 2 0 S
--R AZ 1937 o - May 16 2 1 D
--R AZ 1937 o - S 26 2 0 S
--R AZ 1942 o - F 9 2 1 W
--R AZ 1945 o - Au 14 23u 1 P
--R AZ 1945 o - S lastSun 2 0 S
--R AZ 1946 o - May 12 2 1 D
--R AZ 1946 o - O 13 2 0 S
--R AZ 1947 1949 - Ap lastSun 2 1 D
--R AZ 1947 1949 - S lastSun 2 0 S
--R AZ 1950 o - May 1 2 1 D
--R AZ 1950 o - S 30 2 0 S
--R AZ 1951 1960 - Ap lastSun 2 1 D
--R AZ 1951 1958 - S lastSun 2 0 S
--R AZ 1959 o - O lastSun 2 0 S
--R AZ 1960 o - S lastSun 2 0 S
--R AZ 1963 o - Ap lastSun 2 1 D
--R AZ 1963 o - S 22 2 0 S
--R AZ 1966 1986 - Ap lastSun 2s 1 D
--R AZ 1966 2005 - O lastSun 2s 0 S
--R AZ 1987 2005 - Ap Sun>=1 2s 1 D
-+R W 1916 o - Ap 23 0 1 D
-+R W 1916 o - S 17 0 0 S
-+R W 1918 o - Ap 14 2 1 D
-+R W 1918 o - O 27 2 0 S
-+R W 1937 o - May 16 2 1 D
-+R W 1937 o - S 26 2 0 S
-+R W 1942 o - F 9 2 1 W
-+R W 1945 o - Au 14 23u 1 P
-+R W 1945 o - S lastSun 2 0 S
-+R W 1946 o - May 12 2 1 D
-+R W 1946 o - O 13 2 0 S
-+R W 1947 1949 - Ap lastSun 2 1 D
-+R W 1947 1949 - S lastSun 2 0 S
-+R W 1950 o - May 1 2 1 D
-+R W 1950 o - S 30 2 0 S
-+R W 1951 1960 - Ap lastSun 2 1 D
-+R W 1951 1958 - S lastSun 2 0 S
-+R W 1959 o - O lastSun 2 0 S
-+R W 1960 o - S lastSun 2 0 S
-+R W 1963 o - Ap lastSun 2 1 D
-+R W 1963 o - S 22 2 0 S
-+R W 1966 1986 - Ap lastSun 2s 1 D
-+R W 1966 2005 - O lastSun 2s 0 S
-+R W 1987 2005 - Ap Sun>=1 2s 1 D
- Z America/Winnipeg -6:28:36 - LMT 1887 Jul 16
---6 AZ C%sT 2006
---6 AU C%sT
--R Aa 1918 o - Ap 14 2 1 D
--R Aa 1918 o - O 27 2 0 S
--R Aa 1930 1934 - May Sun>=1 0 1 D
--R Aa 1930 1934 - O Sun>=1 0 0 S
--R Aa 1937 1941 - Ap Sun>=8 0 1 D
--R Aa 1937 o - O Sun>=8 0 0 S
--R Aa 1938 o - O Sun>=1 0 0 S
--R Aa 1939 1941 - O Sun>=8 0 0 S
--R Aa 1942 o - F 9 2 1 W
--R Aa 1945 o - Au 14 23u 1 P
--R Aa 1945 o - S lastSun 2 0 S
--R Aa 1946 o - Ap Sun>=8 2 1 D
--R Aa 1946 o - O Sun>=8 2 0 S
--R Aa 1947 1957 - Ap lastSun 2 1 D
--R Aa 1947 1957 - S lastSun 2 0 S
--R Aa 1959 o - Ap lastSun 2 1 D
--R Aa 1959 o - O lastSun 2 0 S
--R Ab 1957 o - Ap lastSun 2 1 D
--R Ab 1957 o - O lastSun 2 0 S
--R Ab 1959 1961 - Ap lastSun 2 1 D
--R Ab 1959 o - O lastSun 2 0 S
--R Ab 1960 1961 - S lastSun 2 0 S
-+-6 W C%sT 2006
-+-6 C C%sT
-+R r 1918 o - Ap 14 2 1 D
-+R r 1918 o - O 27 2 0 S
-+R r 1930 1934 - May Sun>=1 0 1 D
-+R r 1930 1934 - O Sun>=1 0 0 S
-+R r 1937 1941 - Ap Sun>=8 0 1 D
-+R r 1937 o - O Sun>=8 0 0 S
-+R r 1938 o - O Sun>=1 0 0 S
-+R r 1939 1941 - O Sun>=8 0 0 S
-+R r 1942 o - F 9 2 1 W
-+R r 1945 o - Au 14 23u 1 P
-+R r 1945 o - S lastSun 2 0 S
-+R r 1946 o - Ap Sun>=8 2 1 D
-+R r 1946 o - O Sun>=8 2 0 S
-+R r 1947 1957 - Ap lastSun 2 1 D
-+R r 1947 1957 - S lastSun 2 0 S
-+R r 1959 o - Ap lastSun 2 1 D
-+R r 1959 o - O lastSun 2 0 S
-+R Sw 1957 o - Ap lastSun 2 1 D
-+R Sw 1957 o - O lastSun 2 0 S
-+R Sw 1959 1961 - Ap lastSun 2 1 D
-+R Sw 1959 o - O lastSun 2 0 S
-+R Sw 1960 1961 - S lastSun 2 0 S
- Z America/Regina -6:58:36 - LMT 1905 S
---7 Aa M%sT 1960 Ap lastSun 2
-+-7 r M%sT 1960 Ap lastSun 2
- -6 - CST
- Z America/Swift_Current -7:11:20 - LMT 1905 S
---7 AU M%sT 1946 Ap lastSun 2
---7 Aa M%sT 1950
---7 Ab M%sT 1972 Ap lastSun 2
-+-7 C M%sT 1946 Ap lastSun 2
-+-7 r M%sT 1950
-+-7 Sw M%sT 1972 Ap lastSun 2
- -6 - CST
--R Ac 1918 1919 - Ap Sun>=8 2 1 D
--R Ac 1918 o - O 27 2 0 S
--R Ac 1919 o - May 27 2 0 S
--R Ac 1920 1923 - Ap lastSun 2 1 D
--R Ac 1920 o - O lastSun 2 0 S
--R Ac 1921 1923 - S lastSun 2 0 S
--R Ac 1942 o - F 9 2 1 W
--R Ac 1945 o - Au 14 23u 1 P
--R Ac 1945 o - S lastSun 2 0 S
--R Ac 1947 o - Ap lastSun 2 1 D
--R Ac 1947 o - S lastSun 2 0 S
--R Ac 1967 o - Ap lastSun 2 1 D
--R Ac 1967 o - O lastSun 2 0 S
--R Ac 1969 o - Ap lastSun 2 1 D
--R Ac 1969 o - O lastSun 2 0 S
--R Ac 1972 1986 - Ap lastSun 2 1 D
--R Ac 1972 2006 - O lastSun 2 0 S
-+R Ed 1918 1919 - Ap Sun>=8 2 1 D
-+R Ed 1918 o - O 27 2 0 S
-+R Ed 1919 o - May 27 2 0 S
-+R Ed 1920 1923 - Ap lastSun 2 1 D
-+R Ed 1920 o - O lastSun 2 0 S
-+R Ed 1921 1923 - S lastSun 2 0 S
-+R Ed 1942 o - F 9 2 1 W
-+R Ed 1945 o - Au 14 23u 1 P
-+R Ed 1945 o - S lastSun 2 0 S
-+R Ed 1947 o - Ap lastSun 2 1 D
-+R Ed 1947 o - S lastSun 2 0 S
-+R Ed 1967 o - Ap lastSun 2 1 D
-+R Ed 1967 o - O lastSun 2 0 S
-+R Ed 1969 o - Ap lastSun 2 1 D
-+R Ed 1969 o - O lastSun 2 0 S
-+R Ed 1972 1986 - Ap lastSun 2 1 D
-+R Ed 1972 2006 - O lastSun 2 0 S
- Z America/Edmonton -7:33:52 - LMT 1906 S
---7 Ac M%sT 1987
---7 AU M%sT
--R Ad 1918 o - Ap 14 2 1 D
--R Ad 1918 o - O 27 2 0 S
--R Ad 1942 o - F 9 2 1 W
--R Ad 1945 o - Au 14 23u 1 P
--R Ad 1945 o - S 30 2 0 S
--R Ad 1946 1986 - Ap lastSun 2 1 D
--R Ad 1946 o - O 13 2 0 S
--R Ad 1947 1961 - S lastSun 2 0 S
--R Ad 1962 2006 - O lastSun 2 0 S
-+-7 Ed M%sT 1987
-+-7 C M%sT
-+R Va 1918 o - Ap 14 2 1 D
-+R Va 1918 o - O 27 2 0 S
-+R Va 1942 o - F 9 2 1 W
-+R Va 1945 o - Au 14 23u 1 P
-+R Va 1945 o - S 30 2 0 S
-+R Va 1946 1986 - Ap lastSun 2 1 D
-+R Va 1946 o - O 13 2 0 S
-+R Va 1947 1961 - S lastSun 2 0 S
-+R Va 1962 2006 - O lastSun 2 0 S
- Z America/Vancouver -8:12:28 - LMT 1884
---8 Ad P%sT 1987
---8 AU P%sT
-+-8 Va P%sT 1987
-+-8 C P%sT
- Z America/Dawson_Creek -8:0:56 - LMT 1884
---8 AU P%sT 1947
---8 Ad P%sT 1972 Au 30 2
-+-8 C P%sT 1947
-+-8 Va P%sT 1972 Au 30 2
- -7 - MST
- Z America/Fort_Nelson -8:10:47 - LMT 1884
---8 Ad P%sT 1946
-+-8 Va P%sT 1946
- -8 - PST 1947
---8 Ad P%sT 1987
---8 AU P%sT 2015 Mar 8 2
-+-8 Va P%sT 1987
-+-8 C P%sT 2015 Mar 8 2
- -7 - MST
- Z America/Creston -7:46:4 - LMT 1884
- -7 - MST 1916 O
- -8 - PST 1918 Jun 2
- -7 - MST
--R Ae 1918 o - Ap 14 2 1 D
--R Ae 1918 o - O 27 2 0 S
--R Ae 1919 o - May 25 2 1 D
--R Ae 1919 o - N 1 0 0 S
--R Ae 1942 o - F 9 2 1 W
--R Ae 1945 o - Au 14 23u 1 P
--R Ae 1945 o - S 30 2 0 S
--R Ae 1965 o - Ap lastSun 0 2 DD
--R Ae 1965 o - O lastSun 2 0 S
--R Ae 1980 1986 - Ap lastSun 2 1 D
--R Ae 1980 2006 - O lastSun 2 0 S
--R Ae 1987 2006 - Ap Sun>=1 2 1 D
-+R Y 1918 o - Ap 14 2 1 D
-+R Y 1918 o - O 27 2 0 S
-+R Y 1919 o - May 25 2 1 D
-+R Y 1919 o - N 1 0 0 S
-+R Y 1942 o - F 9 2 1 W
-+R Y 1945 o - Au 14 23u 1 P
-+R Y 1945 o - S 30 2 0 S
-+R Y 1965 o - Ap lastSun 0 2 DD
-+R Y 1965 o - O lastSun 2 0 S
-+R Y 1980 1986 - Ap lastSun 2 1 D
-+R Y 1980 2006 - O lastSun 2 0 S
-+R Y 1987 2006 - Ap Sun>=1 2 1 D
- Z America/Pangnirtung 0 - -00 1921
---4 Ae A%sT 1995 Ap Sun>=1 2
---5 AU E%sT 1999 O 31 2
---6 AU C%sT 2000 O 29 2
---5 AU E%sT
-+-4 Y A%sT 1995 Ap Sun>=1 2
-+-5 C E%sT 1999 O 31 2
-+-6 C C%sT 2000 O 29 2
-+-5 C E%sT
- Z America/Iqaluit 0 - -00 1942 Au
---5 Ae E%sT 1999 O 31 2
---6 AU C%sT 2000 O 29 2
---5 AU E%sT
-+-5 Y E%sT 1999 O 31 2
-+-6 C C%sT 2000 O 29 2
-+-5 C E%sT
- Z America/Resolute 0 - -00 1947 Au 31
---6 Ae C%sT 2000 O 29 2
-+-6 Y C%sT 2000 O 29 2
- -5 - EST 2001 Ap 1 3
---6 AU C%sT 2006 O 29 2
-+-6 C C%sT 2006 O 29 2
- -5 - EST 2007 Mar 11 3
---6 AU C%sT
-+-6 C C%sT
- Z America/Rankin_Inlet 0 - -00 1957
---6 Ae C%sT 2000 O 29 2
-+-6 Y C%sT 2000 O 29 2
- -5 - EST 2001 Ap 1 3
---6 AU C%sT
-+-6 C C%sT
- Z America/Cambridge_Bay 0 - -00 1920
---7 Ae M%sT 1999 O 31 2
---6 AU C%sT 2000 O 29 2
-+-7 Y M%sT 1999 O 31 2
-+-6 C C%sT 2000 O 29 2
- -5 - EST 2000 N 5
- -6 - CST 2001 Ap 1 3
---7 AU M%sT
-+-7 C M%sT
- Z America/Yellowknife 0 - -00 1935
---7 Ae M%sT 1980
---7 AU M%sT
-+-7 Y M%sT 1980
-+-7 C M%sT
- Z America/Inuvik 0 - -00 1953
---8 Ae P%sT 1979 Ap lastSun 2
---7 Ae M%sT 1980
---7 AU M%sT
-+-8 Y P%sT 1979 Ap lastSun 2
-+-7 Y M%sT 1980
-+-7 C M%sT
- Z America/Whitehorse -9:0:12 - LMT 1900 Au 20
---9 Ae Y%sT 1967 May 28
---8 Ae P%sT 1980
---8 AU P%sT
-+-9 Y Y%sT 1967 May 28
-+-8 Y P%sT 1980
-+-8 C P%sT
- Z America/Dawson -9:17:40 - LMT 1900 Au 20
---9 Ae Y%sT 1973 O 28
---8 Ae P%sT 1980
---8 AU P%sT
--R Af 1939 o - F 5 0 1 D
--R Af 1939 o - Jun 25 0 0 S
--R Af 1940 o - D 9 0 1 D
--R Af 1941 o - Ap 1 0 0 S
--R Af 1943 o - D 16 0 1 W
--R Af 1944 o - May 1 0 0 S
--R Af 1950 o - F 12 0 1 D
--R Af 1950 o - Jul 30 0 0 S
--R Af 1996 2000 - Ap Sun>=1 2 1 D
--R Af 1996 2000 - O lastSun 2 0 S
--R Af 2001 o - May Sun>=1 2 1 D
--R Af 2001 o - S lastSun 2 0 S
--R Af 2002 ma - Ap Sun>=1 2 1 D
--R Af 2002 ma - O lastSun 2 0 S
-+-9 Y Y%sT 1973 O 28
-+-8 Y P%sT 1980
-+-8 C P%sT
-+R m 1939 o - F 5 0 1 D
-+R m 1939 o - Jun 25 0 0 S
-+R m 1940 o - D 9 0 1 D
-+R m 1941 o - Ap 1 0 0 S
-+R m 1943 o - D 16 0 1 W
-+R m 1944 o - May 1 0 0 S
-+R m 1950 o - F 12 0 1 D
-+R m 1950 o - Jul 30 0 0 S
-+R m 1996 2000 - Ap Sun>=1 2 1 D
-+R m 1996 2000 - O lastSun 2 0 S
-+R m 2001 o - May Sun>=1 2 1 D
-+R m 2001 o - S lastSun 2 0 S
-+R m 2002 ma - Ap Sun>=1 2 1 D
-+R m 2002 ma - O lastSun 2 0 S
- Z America/Cancun -5:47:4 - LMT 1922 Ja 1 0:12:56
- -6 - CST 1981 D 23
---5 Af E%sT 1998 Au 2 2
---6 Af C%sT 2015 F 1 2
-+-5 m E%sT 1998 Au 2 2
-+-6 m C%sT 2015 F 1 2
- -5 - EST
- Z America/Merida -5:58:28 - LMT 1922 Ja 1 0:1:32
- -6 - CST 1981 D 23
- -5 - EST 1982 D 2
---6 Af C%sT
-+-6 m C%sT
- Z America/Matamoros -6:40 - LMT 1921 D 31 23:20
- -6 - CST 1988
---6 AF C%sT 1989
---6 Af C%sT 2010
---6 AF C%sT
-+-6 u C%sT 1989
-+-6 m C%sT 2010
-+-6 u C%sT
- Z America/Monterrey -6:41:16 - LMT 1921 D 31 23:18:44
- -6 - CST 1988
---6 AF C%sT 1989
---6 Af C%sT
-+-6 u C%sT 1989
-+-6 m C%sT
- Z America/Mexico_City -6:36:36 - LMT 1922 Ja 1 0:23:24
- -7 - MST 1927 Jun 10 23
- -6 - CST 1930 N 15
- -7 - MST 1931 May 1 23
- -6 - CST 1931 O
- -7 - MST 1932 Ap
---6 Af C%sT 2001 S 30 2
-+-6 m C%sT 2001 S 30 2
- -6 - CST 2002 F 20
---6 Af C%sT
-+-6 m C%sT
- Z America/Ojinaga -6:57:40 - LMT 1922 Ja 1 0:2:20
- -7 - MST 1927 Jun 10 23
- -6 - CST 1930 N 15
-@@ -3215,10 +3232,10 @@ Z America/Ojinaga -6:57:40 - LMT 1922 Ja 1 0:2:20
- -6 - CST 1931 O
- -7 - MST 1932 Ap
- -6 - CST 1996
---6 Af C%sT 1998
-+-6 m C%sT 1998
- -6 - CST 1998 Ap Sun>=1 3
---7 Af M%sT 2010
---7 AF M%sT
-+-7 m M%sT 2010
-+-7 u M%sT
- Z America/Chihuahua -7:4:20 - LMT 1921 D 31 23:55:40
- -7 - MST 1927 Jun 10 23
- -6 - CST 1930 N 15
-@@ -3226,9 +3243,9 @@ Z America/Chihuahua -7:4:20 - LMT 1921 D 31 23:55:40
- -6 - CST 1931 O
- -7 - MST 1932 Ap
- -6 - CST 1996
---6 Af C%sT 1998
-+-6 m C%sT 1998
- -6 - CST 1998 Ap Sun>=1 3
---7 Af M%sT
-+-7 m M%sT
- Z America/Hermosillo -7:23:52 - LMT 1921 D 31 23:36:8
- -7 - MST 1927 Jun 10 23
- -6 - CST 1930 N 15
-@@ -3238,7 +3255,7 @@ Z America/Hermosillo -7:23:52 - LMT 1921 D 31 23:36:8
- -6 - CST 1942 Ap 24
- -7 - MST 1949 Ja 14
- -8 - PST 1970
---7 Af M%sT 1999
-+-7 m M%sT 1999
- -7 - MST
- Z America/Mazatlan -7:5:40 - LMT 1921 D 31 23:54:20
- -7 - MST 1927 Jun 10 23
-@@ -3249,7 +3266,7 @@ Z America/Mazatlan -7:5:40 - LMT 1921 D 31 23:54:20
- -6 - CST 1942 Ap 24
- -7 - MST 1949 Ja 14
- -8 - PST 1970
---7 Af M%sT
-+-7 m M%sT
- Z America/Bahia_Banderas -7:1 - LMT 1921 D 31 23:59
- -7 - MST 1927 Jun 10 23
- -6 - CST 1930 N 15
-@@ -3259,8 +3276,8 @@ Z America/Bahia_Banderas -7:1 - LMT 1921 D 31 23:59
- -6 - CST 1942 Ap 24
- -7 - MST 1949 Ja 14
- -8 - PST 1970
---7 Af M%sT 2010 Ap 4 2
---6 Af C%sT
-+-7 m M%sT 2010 Ap 4 2
-+-6 m C%sT
- Z America/Tijuana -7:48:4 - LMT 1922 Ja 1 0:11:56
- -7 - MST 1924
- -8 - PST 1927 Jun 10 23
-@@ -3273,315 +3290,315 @@ Z America/Tijuana -7:48:4 - LMT 1922 Ja 1 0:11:56
- -8 - PST 1948 Ap 5
- -8 1 PDT 1949 Ja 14
- -8 - PST 1954
---8 AJ P%sT 1961
-+-8 CA P%sT 1961
- -8 - PST 1976
---8 AF P%sT 1996
---8 Af P%sT 2001
---8 AF P%sT 2002 F 20
---8 Af P%sT 2010
---8 AF P%sT
--R Ag 1964 1975 - O lastSun 2 0 S
--R Ag 1964 1975 - Ap lastSun 2 1 D
-+-8 u P%sT 1996
-+-8 m P%sT 2001
-+-8 u P%sT 2002 F 20
-+-8 m P%sT 2010
-+-8 u P%sT
-+R BS 1964 1975 - O lastSun 2 0 S
-+R BS 1964 1975 - Ap lastSun 2 1 D
- Z America/Nassau -5:9:30 - LMT 1912 Mar 2
---5 Ag E%sT 1976
---5 AF E%sT
--R Ah 1977 o - Jun 12 2 1 D
--R Ah 1977 1978 - O Sun>=1 2 0 S
--R Ah 1978 1980 - Ap Sun>=15 2 1 D
--R Ah 1979 o - S 30 2 0 S
--R Ah 1980 o - S 25 2 0 S
-+-5 BS E%sT 1976
-+-5 u E%sT
-+R BB 1977 o - Jun 12 2 1 D
-+R BB 1977 1978 - O Sun>=1 2 0 S
-+R BB 1978 1980 - Ap Sun>=15 2 1 D
-+R BB 1979 o - S 30 2 0 S
-+R BB 1980 o - S 25 2 0 S
- Z America/Barbados -3:58:29 - LMT 1924
- -3:58:29 - BMT 1932
---4 Ah A%sT
--R Ai 1918 1942 - O Sun>=2 0 0:30 -0530
--R Ai 1919 1943 - F Sun>=9 0 0 CST
--R Ai 1973 o - D 5 0 1 CDT
--R Ai 1974 o - F 9 0 0 CST
--R Ai 1982 o - D 18 0 1 CDT
--R Ai 1983 o - F 12 0 0 CST
-+-4 BB A%sT
-+R BZ 1918 1942 - O Sun>=2 0 0:30 -0530
-+R BZ 1919 1943 - F Sun>=9 0 0 CST
-+R BZ 1973 o - D 5 0 1 CDT
-+R BZ 1974 o - F 9 0 0 CST
-+R BZ 1982 o - D 18 0 1 CDT
-+R BZ 1983 o - F 12 0 0 CST
- Z America/Belize -5:52:48 - LMT 1912 Ap
---6 Ai %s
-+-6 BZ %s
- Z Atlantic/Bermuda -4:19:18 - LMT 1930 Ja 1 2
- -4 - AST 1974 Ap 28 2
---4 AU A%sT 1976
---4 AF A%sT
--R Aj 1979 1980 - F lastSun 0 1 D
--R Aj 1979 1980 - Jun Sun>=1 0 0 S
--R Aj 1991 1992 - Ja Sat>=15 0 1 D
--R Aj 1991 o - Jul 1 0 0 S
--R Aj 1992 o - Mar 15 0 0 S
-+-4 C A%sT 1976
-+-4 u A%sT
-+R CR 1979 1980 - F lastSun 0 1 D
-+R CR 1979 1980 - Jun Sun>=1 0 0 S
-+R CR 1991 1992 - Ja Sat>=15 0 1 D
-+R CR 1991 o - Jul 1 0 0 S
-+R CR 1992 o - Mar 15 0 0 S
- Z America/Costa_Rica -5:36:13 - LMT 1890
- -5:36:13 - SJMT 1921 Ja 15
---6 Aj C%sT
--R Ak 1928 o - Jun 10 0 1 D
--R Ak 1928 o - O 10 0 0 S
--R Ak 1940 1942 - Jun Sun>=1 0 1 D
--R Ak 1940 1942 - S Sun>=1 0 0 S
--R Ak 1945 1946 - Jun Sun>=1 0 1 D
--R Ak 1945 1946 - S Sun>=1 0 0 S
--R Ak 1965 o - Jun 1 0 1 D
--R Ak 1965 o - S 30 0 0 S
--R Ak 1966 o - May 29 0 1 D
--R Ak 1966 o - O 2 0 0 S
--R Ak 1967 o - Ap 8 0 1 D
--R Ak 1967 1968 - S Sun>=8 0 0 S
--R Ak 1968 o - Ap 14 0 1 D
--R Ak 1969 1977 - Ap lastSun 0 1 D
--R Ak 1969 1971 - O lastSun 0 0 S
--R Ak 1972 1974 - O 8 0 0 S
--R Ak 1975 1977 - O lastSun 0 0 S
--R Ak 1978 o - May 7 0 1 D
--R Ak 1978 1990 - O Sun>=8 0 0 S
--R Ak 1979 1980 - Mar Sun>=15 0 1 D
--R Ak 1981 1985 - May Sun>=5 0 1 D
--R Ak 1986 1989 - Mar Sun>=14 0 1 D
--R Ak 1990 1997 - Ap Sun>=1 0 1 D
--R Ak 1991 1995 - O Sun>=8 0s 0 S
--R Ak 1996 o - O 6 0s 0 S
--R Ak 1997 o - O 12 0s 0 S
--R Ak 1998 1999 - Mar lastSun 0s 1 D
--R Ak 1998 2003 - O lastSun 0s 0 S
--R Ak 2000 2003 - Ap Sun>=1 0s 1 D
--R Ak 2004 o - Mar lastSun 0s 1 D
--R Ak 2006 2010 - O lastSun 0s 0 S
--R Ak 2007 o - Mar Sun>=8 0s 1 D
--R Ak 2008 o - Mar Sun>=15 0s 1 D
--R Ak 2009 2010 - Mar Sun>=8 0s 1 D
--R Ak 2011 o - Mar Sun>=15 0s 1 D
--R Ak 2011 o - N 13 0s 0 S
--R Ak 2012 o - Ap 1 0s 1 D
--R Ak 2012 ma - N Sun>=1 0s 0 S
--R Ak 2013 ma - Mar Sun>=8 0s 1 D
-+-6 CR C%sT
-+R Q 1928 o - Jun 10 0 1 D
-+R Q 1928 o - O 10 0 0 S
-+R Q 1940 1942 - Jun Sun>=1 0 1 D
-+R Q 1940 1942 - S Sun>=1 0 0 S
-+R Q 1945 1946 - Jun Sun>=1 0 1 D
-+R Q 1945 1946 - S Sun>=1 0 0 S
-+R Q 1965 o - Jun 1 0 1 D
-+R Q 1965 o - S 30 0 0 S
-+R Q 1966 o - May 29 0 1 D
-+R Q 1966 o - O 2 0 0 S
-+R Q 1967 o - Ap 8 0 1 D
-+R Q 1967 1968 - S Sun>=8 0 0 S
-+R Q 1968 o - Ap 14 0 1 D
-+R Q 1969 1977 - Ap lastSun 0 1 D
-+R Q 1969 1971 - O lastSun 0 0 S
-+R Q 1972 1974 - O 8 0 0 S
-+R Q 1975 1977 - O lastSun 0 0 S
-+R Q 1978 o - May 7 0 1 D
-+R Q 1978 1990 - O Sun>=8 0 0 S
-+R Q 1979 1980 - Mar Sun>=15 0 1 D
-+R Q 1981 1985 - May Sun>=5 0 1 D
-+R Q 1986 1989 - Mar Sun>=14 0 1 D
-+R Q 1990 1997 - Ap Sun>=1 0 1 D
-+R Q 1991 1995 - O Sun>=8 0s 0 S
-+R Q 1996 o - O 6 0s 0 S
-+R Q 1997 o - O 12 0s 0 S
-+R Q 1998 1999 - Mar lastSun 0s 1 D
-+R Q 1998 2003 - O lastSun 0s 0 S
-+R Q 2000 2003 - Ap Sun>=1 0s 1 D
-+R Q 2004 o - Mar lastSun 0s 1 D
-+R Q 2006 2010 - O lastSun 0s 0 S
-+R Q 2007 o - Mar Sun>=8 0s 1 D
-+R Q 2008 o - Mar Sun>=15 0s 1 D
-+R Q 2009 2010 - Mar Sun>=8 0s 1 D
-+R Q 2011 o - Mar Sun>=15 0s 1 D
-+R Q 2011 o - N 13 0s 0 S
-+R Q 2012 o - Ap 1 0s 1 D
-+R Q 2012 ma - N Sun>=1 0s 0 S
-+R Q 2013 ma - Mar Sun>=8 0s 1 D
- Z America/Havana -5:29:28 - LMT 1890
- -5:29:36 - HMT 1925 Jul 19 12
---5 Ak C%sT
--R Al 1966 o - O 30 0 1 EDT
--R Al 1967 o - F 28 0 0 EST
--R Al 1969 1973 - O lastSun 0 0:30 -0430
--R Al 1970 o - F 21 0 0 EST
--R Al 1971 o - Ja 20 0 0 EST
--R Al 1972 1974 - Ja 21 0 0 EST
-+-5 Q C%sT
-+R DO 1966 o - O 30 0 1 EDT
-+R DO 1967 o - F 28 0 0 EST
-+R DO 1969 1973 - O lastSun 0 0:30 -0430
-+R DO 1970 o - F 21 0 0 EST
-+R DO 1971 o - Ja 20 0 0 EST
-+R DO 1972 1974 - Ja 21 0 0 EST
- Z America/Santo_Domingo -4:39:36 - LMT 1890
- -4:40 - SDMT 1933 Ap 1 12
---5 Al %s 1974 O 27
-+-5 DO %s 1974 O 27
- -4 - AST 2000 O 29 2
---5 AF E%sT 2000 D 3 1
-+-5 u E%sT 2000 D 3 1
- -4 - AST
--R Am 1987 1988 - May Sun>=1 0 1 D
--R Am 1987 1988 - S lastSun 0 0 S
-+R SV 1987 1988 - May Sun>=1 0 1 D
-+R SV 1987 1988 - S lastSun 0 0 S
- Z America/El_Salvador -5:56:48 - LMT 1921
---6 Am C%sT
--R An 1973 o - N 25 0 1 D
--R An 1974 o - F 24 0 0 S
--R An 1983 o - May 21 0 1 D
--R An 1983 o - S 22 0 0 S
--R An 1991 o - Mar 23 0 1 D
--R An 1991 o - S 7 0 0 S
--R An 2006 o - Ap 30 0 1 D
--R An 2006 o - O 1 0 0 S
-+-6 SV C%sT
-+R GT 1973 o - N 25 0 1 D
-+R GT 1974 o - F 24 0 0 S
-+R GT 1983 o - May 21 0 1 D
-+R GT 1983 o - S 22 0 0 S
-+R GT 1991 o - Mar 23 0 1 D
-+R GT 1991 o - S 7 0 0 S
-+R GT 2006 o - Ap 30 0 1 D
-+R GT 2006 o - O 1 0 0 S
- Z America/Guatemala -6:2:4 - LMT 1918 O 5
---6 An C%sT
--R Ao 1983 o - May 8 0 1 D
--R Ao 1984 1987 - Ap lastSun 0 1 D
--R Ao 1983 1987 - O lastSun 0 0 S
--R Ao 1988 1997 - Ap Sun>=1 1s 1 D
--R Ao 1988 1997 - O lastSun 1s 0 S
--R Ao 2005 2006 - Ap Sun>=1 0 1 D
--R Ao 2005 2006 - O lastSun 0 0 S
--R Ao 2012 2015 - Mar Sun>=8 2 1 D
--R Ao 2012 2015 - N Sun>=1 2 0 S
--R Ao 2017 ma - Mar Sun>=8 2 1 D
--R Ao 2017 ma - N Sun>=1 2 0 S
-+-6 GT C%sT
-+R HT 1983 o - May 8 0 1 D
-+R HT 1984 1987 - Ap lastSun 0 1 D
-+R HT 1983 1987 - O lastSun 0 0 S
-+R HT 1988 1997 - Ap Sun>=1 1s 1 D
-+R HT 1988 1997 - O lastSun 1s 0 S
-+R HT 2005 2006 - Ap Sun>=1 0 1 D
-+R HT 2005 2006 - O lastSun 0 0 S
-+R HT 2012 2015 - Mar Sun>=8 2 1 D
-+R HT 2012 2015 - N Sun>=1 2 0 S
-+R HT 2017 ma - Mar Sun>=8 2 1 D
-+R HT 2017 ma - N Sun>=1 2 0 S
- Z America/Port-au-Prince -4:49:20 - LMT 1890
- -4:49 - PPMT 1917 Ja 24 12
---5 Ao E%sT
--R Ap 1987 1988 - May Sun>=1 0 1 D
--R Ap 1987 1988 - S lastSun 0 0 S
--R Ap 2006 o - May Sun>=1 0 1 D
--R Ap 2006 o - Au M>=1 0 0 S
-+-5 HT E%sT
-+R HN 1987 1988 - May Sun>=1 0 1 D
-+R HN 1987 1988 - S lastSun 0 0 S
-+R HN 2006 o - May Sun>=1 0 1 D
-+R HN 2006 o - Au M>=1 0 0 S
- Z America/Tegucigalpa -5:48:52 - LMT 1921 Ap
---6 Ap C%sT
-+-6 HN C%sT
- Z America/Jamaica -5:7:10 - LMT 1890
- -5:7:10 - KMT 1912 F
- -5 - EST 1974
---5 AF E%sT 1984
-+-5 u E%sT 1984
- -5 - EST
- Z America/Martinique -4:4:20 - LMT 1890
- -4:4:20 - FFMT 1911 May
- -4 - AST 1980 Ap 6
- -4 1 ADT 1980 S 28
- -4 - AST
--R Aq 1979 1980 - Mar Sun>=16 0 1 D
--R Aq 1979 1980 - Jun M>=23 0 0 S
--R Aq 2005 o - Ap 10 0 1 D
--R Aq 2005 o - O Sun>=1 0 0 S
--R Aq 2006 o - Ap 30 2 1 D
--R Aq 2006 o - O Sun>=1 1 0 S
-+R NI 1979 1980 - Mar Sun>=16 0 1 D
-+R NI 1979 1980 - Jun M>=23 0 0 S
-+R NI 2005 o - Ap 10 0 1 D
-+R NI 2005 o - O Sun>=1 0 0 S
-+R NI 2006 o - Ap 30 2 1 D
-+R NI 2006 o - O Sun>=1 1 0 S
- Z America/Managua -5:45:8 - LMT 1890
- -5:45:12 - MMT 1934 Jun 23
- -6 - CST 1973 May
- -5 - EST 1975 F 16
---6 Aq C%sT 1992 Ja 1 4
-+-6 NI C%sT 1992 Ja 1 4
- -5 - EST 1992 S 24
- -6 - CST 1993
- -5 - EST 1997
---6 Aq C%sT
-+-6 NI C%sT
- Z America/Panama -5:18:8 - LMT 1890
- -5:19:36 - CMT 1908 Ap 22
- -5 - EST
- Li America/Panama America/Cayman
- Z America/Puerto_Rico -4:24:25 - LMT 1899 Mar 28 12
- -4 - AST 1942 May 3
---4 AF A%sT 1946
-+-4 u A%sT 1946
- -4 - AST
- Z America/Miquelon -3:44:40 - LMT 1911 May 15
- -4 - AST 1980 May
- -3 - -03 1987
---3 AU -03/-02
-+-3 C -03/-02
- Z America/Grand_Turk -4:44:32 - LMT 1890
- -5:7:10 - KMT 1912 F
- -5 - EST 1979
---5 AF E%sT 2015 N Sun>=1 2
-+-5 u E%sT 2015 N Sun>=1 2
- -4 - AST 2018 Mar 11 3
---5 AF E%sT
--R Ar 1930 o - D 1 0 1 -
--R Ar 1931 o - Ap 1 0 0 -
--R Ar 1931 o - O 15 0 1 -
--R Ar 1932 1940 - Mar 1 0 0 -
--R Ar 1932 1939 - N 1 0 1 -
--R Ar 1940 o - Jul 1 0 1 -
--R Ar 1941 o - Jun 15 0 0 -
--R Ar 1941 o - O 15 0 1 -
--R Ar 1943 o - Au 1 0 0 -
--R Ar 1943 o - O 15 0 1 -
--R Ar 1946 o - Mar 1 0 0 -
--R Ar 1946 o - O 1 0 1 -
--R Ar 1963 o - O 1 0 0 -
--R Ar 1963 o - D 15 0 1 -
--R Ar 1964 1966 - Mar 1 0 0 -
--R Ar 1964 1966 - O 15 0 1 -
--R Ar 1967 o - Ap 2 0 0 -
--R Ar 1967 1968 - O Sun>=1 0 1 -
--R Ar 1968 1969 - Ap Sun>=1 0 0 -
--R Ar 1974 o - Ja 23 0 1 -
--R Ar 1974 o - May 1 0 0 -
--R Ar 1988 o - D 1 0 1 -
--R Ar 1989 1993 - Mar Sun>=1 0 0 -
--R Ar 1989 1992 - O Sun>=15 0 1 -
--R Ar 1999 o - O Sun>=1 0 1 -
--R Ar 2000 o - Mar 3 0 0 -
--R Ar 2007 o - D 30 0 1 -
--R Ar 2008 2009 - Mar Sun>=15 0 0 -
--R Ar 2008 o - O Sun>=15 0 1 -
-+-5 u E%sT
-+R A 1930 o - D 1 0 1 -
-+R A 1931 o - Ap 1 0 0 -
-+R A 1931 o - O 15 0 1 -
-+R A 1932 1940 - Mar 1 0 0 -
-+R A 1932 1939 - N 1 0 1 -
-+R A 1940 o - Jul 1 0 1 -
-+R A 1941 o - Jun 15 0 0 -
-+R A 1941 o - O 15 0 1 -
-+R A 1943 o - Au 1 0 0 -
-+R A 1943 o - O 15 0 1 -
-+R A 1946 o - Mar 1 0 0 -
-+R A 1946 o - O 1 0 1 -
-+R A 1963 o - O 1 0 0 -
-+R A 1963 o - D 15 0 1 -
-+R A 1964 1966 - Mar 1 0 0 -
-+R A 1964 1966 - O 15 0 1 -
-+R A 1967 o - Ap 2 0 0 -
-+R A 1967 1968 - O Sun>=1 0 1 -
-+R A 1968 1969 - Ap Sun>=1 0 0 -
-+R A 1974 o - Ja 23 0 1 -
-+R A 1974 o - May 1 0 0 -
-+R A 1988 o - D 1 0 1 -
-+R A 1989 1993 - Mar Sun>=1 0 0 -
-+R A 1989 1992 - O Sun>=15 0 1 -
-+R A 1999 o - O Sun>=1 0 1 -
-+R A 2000 o - Mar 3 0 0 -
-+R A 2007 o - D 30 0 1 -
-+R A 2008 2009 - Mar Sun>=15 0 0 -
-+R A 2008 o - O Sun>=15 0 1 -
- Z America/Argentina/Buenos_Aires -3:53:48 - LMT 1894 O 31
- -4:16:48 - CMT 1920 May
- -4 - -04 1930 D
---4 Ar -04/-03 1969 O 5
---3 Ar -03/-02 1999 O 3
---4 Ar -04/-03 2000 Mar 3
---3 Ar -03/-02
-+-4 A -04/-03 1969 O 5
-+-3 A -03/-02 1999 O 3
-+-4 A -04/-03 2000 Mar 3
-+-3 A -03/-02
- Z America/Argentina/Cordoba -4:16:48 - LMT 1894 O 31
- -4:16:48 - CMT 1920 May
- -4 - -04 1930 D
---4 Ar -04/-03 1969 O 5
---3 Ar -03/-02 1991 Mar 3
-+-4 A -04/-03 1969 O 5
-+-3 A -03/-02 1991 Mar 3
- -4 - -04 1991 O 20
---3 Ar -03/-02 1999 O 3
---4 Ar -04/-03 2000 Mar 3
---3 Ar -03/-02
-+-3 A -03/-02 1999 O 3
-+-4 A -04/-03 2000 Mar 3
-+-3 A -03/-02
- Z America/Argentina/Salta -4:21:40 - LMT 1894 O 31
- -4:16:48 - CMT 1920 May
- -4 - -04 1930 D
---4 Ar -04/-03 1969 O 5
---3 Ar -03/-02 1991 Mar 3
-+-4 A -04/-03 1969 O 5
-+-3 A -03/-02 1991 Mar 3
- -4 - -04 1991 O 20
---3 Ar -03/-02 1999 O 3
---4 Ar -04/-03 2000 Mar 3
---3 Ar -03/-02 2008 O 18
-+-3 A -03/-02 1999 O 3
-+-4 A -04/-03 2000 Mar 3
-+-3 A -03/-02 2008 O 18
- -3 - -03
- Z America/Argentina/Tucuman -4:20:52 - LMT 1894 O 31
- -4:16:48 - CMT 1920 May
- -4 - -04 1930 D
---4 Ar -04/-03 1969 O 5
---3 Ar -03/-02 1991 Mar 3
-+-4 A -04/-03 1969 O 5
-+-3 A -03/-02 1991 Mar 3
- -4 - -04 1991 O 20
---3 Ar -03/-02 1999 O 3
---4 Ar -04/-03 2000 Mar 3
-+-3 A -03/-02 1999 O 3
-+-4 A -04/-03 2000 Mar 3
- -3 - -03 2004 Jun
- -4 - -04 2004 Jun 13
---3 Ar -03/-02
-+-3 A -03/-02
- Z America/Argentina/La_Rioja -4:27:24 - LMT 1894 O 31
- -4:16:48 - CMT 1920 May
- -4 - -04 1930 D
---4 Ar -04/-03 1969 O 5
---3 Ar -03/-02 1991 Mar
-+-4 A -04/-03 1969 O 5
-+-3 A -03/-02 1991 Mar
- -4 - -04 1991 May 7
---3 Ar -03/-02 1999 O 3
---4 Ar -04/-03 2000 Mar 3
-+-3 A -03/-02 1999 O 3
-+-4 A -04/-03 2000 Mar 3
- -3 - -03 2004 Jun
- -4 - -04 2004 Jun 20
---3 Ar -03/-02 2008 O 18
-+-3 A -03/-02 2008 O 18
- -3 - -03
- Z America/Argentina/San_Juan -4:34:4 - LMT 1894 O 31
- -4:16:48 - CMT 1920 May
- -4 - -04 1930 D
---4 Ar -04/-03 1969 O 5
---3 Ar -03/-02 1991 Mar
-+-4 A -04/-03 1969 O 5
-+-3 A -03/-02 1991 Mar
- -4 - -04 1991 May 7
---3 Ar -03/-02 1999 O 3
---4 Ar -04/-03 2000 Mar 3
-+-3 A -03/-02 1999 O 3
-+-4 A -04/-03 2000 Mar 3
- -3 - -03 2004 May 31
- -4 - -04 2004 Jul 25
---3 Ar -03/-02 2008 O 18
-+-3 A -03/-02 2008 O 18
- -3 - -03
- Z America/Argentina/Jujuy -4:21:12 - LMT 1894 O 31
- -4:16:48 - CMT 1920 May
- -4 - -04 1930 D
---4 Ar -04/-03 1969 O 5
---3 Ar -03/-02 1990 Mar 4
-+-4 A -04/-03 1969 O 5
-+-3 A -03/-02 1990 Mar 4
- -4 - -04 1990 O 28
- -4 1 -03 1991 Mar 17
- -4 - -04 1991 O 6
- -3 1 -02 1992
---3 Ar -03/-02 1999 O 3
---4 Ar -04/-03 2000 Mar 3
---3 Ar -03/-02 2008 O 18
-+-3 A -03/-02 1999 O 3
-+-4 A -04/-03 2000 Mar 3
-+-3 A -03/-02 2008 O 18
- -3 - -03
- Z America/Argentina/Catamarca -4:23:8 - LMT 1894 O 31
- -4:16:48 - CMT 1920 May
- -4 - -04 1930 D
---4 Ar -04/-03 1969 O 5
---3 Ar -03/-02 1991 Mar 3
-+-4 A -04/-03 1969 O 5
-+-3 A -03/-02 1991 Mar 3
- -4 - -04 1991 O 20
---3 Ar -03/-02 1999 O 3
---4 Ar -04/-03 2000 Mar 3
-+-3 A -03/-02 1999 O 3
-+-4 A -04/-03 2000 Mar 3
- -3 - -03 2004 Jun
- -4 - -04 2004 Jun 20
---3 Ar -03/-02 2008 O 18
-+-3 A -03/-02 2008 O 18
- -3 - -03
- Z America/Argentina/Mendoza -4:35:16 - LMT 1894 O 31
- -4:16:48 - CMT 1920 May
- -4 - -04 1930 D
---4 Ar -04/-03 1969 O 5
---3 Ar -03/-02 1990 Mar 4
-+-4 A -04/-03 1969 O 5
-+-3 A -03/-02 1990 Mar 4
- -4 - -04 1990 O 15
- -4 1 -03 1991 Mar
- -4 - -04 1991 O 15
- -4 1 -03 1992 Mar
- -4 - -04 1992 O 18
---3 Ar -03/-02 1999 O 3
---4 Ar -04/-03 2000 Mar 3
-+-3 A -03/-02 1999 O 3
-+-4 A -04/-03 2000 Mar 3
- -3 - -03 2004 May 23
- -4 - -04 2004 S 26
---3 Ar -03/-02 2008 O 18
-+-3 A -03/-02 2008 O 18
- -3 - -03
--R As 2008 2009 - Mar Sun>=8 0 0 -
--R As 2007 2008 - O Sun>=8 0 1 -
-+R Sa 2008 2009 - Mar Sun>=8 0 0 -
-+R Sa 2007 2008 - O Sun>=8 0 1 -
- Z America/Argentina/San_Luis -4:25:24 - LMT 1894 O 31
- -4:16:48 - CMT 1920 May
- -4 - -04 1930 D
---4 Ar -04/-03 1969 O 5
---3 Ar -03/-02 1990
-+-4 A -04/-03 1969 O 5
-+-3 A -03/-02 1990
- -3 1 -02 1990 Mar 14
- -4 - -04 1990 O 15
- -4 1 -03 1991 Mar
-@@ -3590,286 +3607,288 @@ Z America/Argentina/San_Luis -4:25:24 - LMT 1894 O 31
- -4 1 -03 2000 Mar 3
- -3 - -03 2004 May 31
- -4 - -04 2004 Jul 25
---3 Ar -03/-02 2008 Ja 21
---4 As -04/-03 2009 O 11
-+-3 A -03/-02 2008 Ja 21
-+-4 Sa -04/-03 2009 O 11
- -3 - -03
- Z America/Argentina/Rio_Gallegos -4:36:52 - LMT 1894 O 31
- -4:16:48 - CMT 1920 May
- -4 - -04 1930 D
---4 Ar -04/-03 1969 O 5
---3 Ar -03/-02 1999 O 3
---4 Ar -04/-03 2000 Mar 3
-+-4 A -04/-03 1969 O 5
-+-3 A -03/-02 1999 O 3
-+-4 A -04/-03 2000 Mar 3
- -3 - -03 2004 Jun
- -4 - -04 2004 Jun 20
---3 Ar -03/-02 2008 O 18
-+-3 A -03/-02 2008 O 18
- -3 - -03
- Z America/Argentina/Ushuaia -4:33:12 - LMT 1894 O 31
- -4:16:48 - CMT 1920 May
- -4 - -04 1930 D
---4 Ar -04/-03 1969 O 5
---3 Ar -03/-02 1999 O 3
---4 Ar -04/-03 2000 Mar 3
-+-4 A -04/-03 1969 O 5
-+-3 A -03/-02 1999 O 3
-+-4 A -04/-03 2000 Mar 3
- -3 - -03 2004 May 30
- -4 - -04 2004 Jun 20
---3 Ar -03/-02 2008 O 18
-+-3 A -03/-02 2008 O 18
- -3 - -03
- Li America/Curacao America/Aruba
- Z America/La_Paz -4:32:36 - LMT 1890
- -4:32:36 - CMT 1931 O 15
- -4:32:36 1 BST 1932 Mar 21
- -4 - -04
--R At 1931 o - O 3 11 1 -
--R At 1932 1933 - Ap 1 0 0 -
--R At 1932 o - O 3 0 1 -
--R At 1949 1952 - D 1 0 1 -
--R At 1950 o - Ap 16 1 0 -
--R At 1951 1952 - Ap 1 0 0 -
--R At 1953 o - Mar 1 0 0 -
--R At 1963 o - D 9 0 1 -
--R At 1964 o - Mar 1 0 0 -
--R At 1965 o - Ja 31 0 1 -
--R At 1965 o - Mar 31 0 0 -
--R At 1965 o - D 1 0 1 -
--R At 1966 1968 - Mar 1 0 0 -
--R At 1966 1967 - N 1 0 1 -
--R At 1985 o - N 2 0 1 -
--R At 1986 o - Mar 15 0 0 -
--R At 1986 o - O 25 0 1 -
--R At 1987 o - F 14 0 0 -
--R At 1987 o - O 25 0 1 -
--R At 1988 o - F 7 0 0 -
--R At 1988 o - O 16 0 1 -
--R At 1989 o - Ja 29 0 0 -
--R At 1989 o - O 15 0 1 -
--R At 1990 o - F 11 0 0 -
--R At 1990 o - O 21 0 1 -
--R At 1991 o - F 17 0 0 -
--R At 1991 o - O 20 0 1 -
--R At 1992 o - F 9 0 0 -
--R At 1992 o - O 25 0 1 -
--R At 1993 o - Ja 31 0 0 -
--R At 1993 1995 - O Sun>=11 0 1 -
--R At 1994 1995 - F Sun>=15 0 0 -
--R At 1996 o - F 11 0 0 -
--R At 1996 o - O 6 0 1 -
--R At 1997 o - F 16 0 0 -
--R At 1997 o - O 6 0 1 -
--R At 1998 o - Mar 1 0 0 -
--R At 1998 o - O 11 0 1 -
--R At 1999 o - F 21 0 0 -
--R At 1999 o - O 3 0 1 -
--R At 2000 o - F 27 0 0 -
--R At 2000 2001 - O Sun>=8 0 1 -
--R At 2001 2006 - F Sun>=15 0 0 -
--R At 2002 o - N 3 0 1 -
--R At 2003 o - O 19 0 1 -
--R At 2004 o - N 2 0 1 -
--R At 2005 o - O 16 0 1 -
--R At 2006 o - N 5 0 1 -
--R At 2007 o - F 25 0 0 -
--R At 2007 o - O Sun>=8 0 1 -
--R At 2008 2017 - O Sun>=15 0 1 -
--R At 2008 2011 - F Sun>=15 0 0 -
--R At 2012 o - F Sun>=22 0 0 -
--R At 2013 2014 - F Sun>=15 0 0 -
--R At 2015 o - F Sun>=22 0 0 -
--R At 2016 2022 - F Sun>=15 0 0 -
--R At 2018 ma - N Sun>=1 0 1 -
--R At 2023 o - F Sun>=22 0 0 -
--R At 2024 2025 - F Sun>=15 0 0 -
--R At 2026 o - F Sun>=22 0 0 -
--R At 2027 2033 - F Sun>=15 0 0 -
--R At 2034 o - F Sun>=22 0 0 -
--R At 2035 2036 - F Sun>=15 0 0 -
--R At 2037 o - F Sun>=22 0 0 -
--R At 2038 ma - F Sun>=15 0 0 -
-+R B 1931 o - O 3 11 1 -
-+R B 1932 1933 - Ap 1 0 0 -
-+R B 1932 o - O 3 0 1 -
-+R B 1949 1952 - D 1 0 1 -
-+R B 1950 o - Ap 16 1 0 -
-+R B 1951 1952 - Ap 1 0 0 -
-+R B 1953 o - Mar 1 0 0 -
-+R B 1963 o - D 9 0 1 -
-+R B 1964 o - Mar 1 0 0 -
-+R B 1965 o - Ja 31 0 1 -
-+R B 1965 o - Mar 31 0 0 -
-+R B 1965 o - D 1 0 1 -
-+R B 1966 1968 - Mar 1 0 0 -
-+R B 1966 1967 - N 1 0 1 -
-+R B 1985 o - N 2 0 1 -
-+R B 1986 o - Mar 15 0 0 -
-+R B 1986 o - O 25 0 1 -
-+R B 1987 o - F 14 0 0 -
-+R B 1987 o - O 25 0 1 -
-+R B 1988 o - F 7 0 0 -
-+R B 1988 o - O 16 0 1 -
-+R B 1989 o - Ja 29 0 0 -
-+R B 1989 o - O 15 0 1 -
-+R B 1990 o - F 11 0 0 -
-+R B 1990 o - O 21 0 1 -
-+R B 1991 o - F 17 0 0 -
-+R B 1991 o - O 20 0 1 -
-+R B 1992 o - F 9 0 0 -
-+R B 1992 o - O 25 0 1 -
-+R B 1993 o - Ja 31 0 0 -
-+R B 1993 1995 - O Sun>=11 0 1 -
-+R B 1994 1995 - F Sun>=15 0 0 -
-+R B 1996 o - F 11 0 0 -
-+R B 1996 o - O 6 0 1 -
-+R B 1997 o - F 16 0 0 -
-+R B 1997 o - O 6 0 1 -
-+R B 1998 o - Mar 1 0 0 -
-+R B 1998 o - O 11 0 1 -
-+R B 1999 o - F 21 0 0 -
-+R B 1999 o - O 3 0 1 -
-+R B 2000 o - F 27 0 0 -
-+R B 2000 2001 - O Sun>=8 0 1 -
-+R B 2001 2006 - F Sun>=15 0 0 -
-+R B 2002 o - N 3 0 1 -
-+R B 2003 o - O 19 0 1 -
-+R B 2004 o - N 2 0 1 -
-+R B 2005 o - O 16 0 1 -
-+R B 2006 o - N 5 0 1 -
-+R B 2007 o - F 25 0 0 -
-+R B 2007 o - O Sun>=8 0 1 -
-+R B 2008 2017 - O Sun>=15 0 1 -
-+R B 2008 2011 - F Sun>=15 0 0 -
-+R B 2012 o - F Sun>=22 0 0 -
-+R B 2013 2014 - F Sun>=15 0 0 -
-+R B 2015 o - F Sun>=22 0 0 -
-+R B 2016 2022 - F Sun>=15 0 0 -
-+R B 2018 ma - N Sun>=1 0 1 -
-+R B 2023 o - F Sun>=22 0 0 -
-+R B 2024 2025 - F Sun>=15 0 0 -
-+R B 2026 o - F Sun>=22 0 0 -
-+R B 2027 2033 - F Sun>=15 0 0 -
-+R B 2034 o - F Sun>=22 0 0 -
-+R B 2035 2036 - F Sun>=15 0 0 -
-+R B 2037 o - F Sun>=22 0 0 -
-+R B 2038 ma - F Sun>=15 0 0 -
- Z America/Noronha -2:9:40 - LMT 1914
---2 At -02/-01 1990 S 17
-+-2 B -02/-01 1990 S 17
- -2 - -02 1999 S 30
---2 At -02/-01 2000 O 15
-+-2 B -02/-01 2000 O 15
- -2 - -02 2001 S 13
---2 At -02/-01 2002 O
-+-2 B -02/-01 2002 O
- -2 - -02
- Z America/Belem -3:13:56 - LMT 1914
---3 At -03/-02 1988 S 12
-+-3 B -03/-02 1988 S 12
- -3 - -03
- Z America/Santarem -3:38:48 - LMT 1914
---4 At -04/-03 1988 S 12
-+-4 B -04/-03 1988 S 12
- -4 - -04 2008 Jun 24
- -3 - -03
- Z America/Fortaleza -2:34 - LMT 1914
---3 At -03/-02 1990 S 17
-+-3 B -03/-02 1990 S 17
- -3 - -03 1999 S 30
---3 At -03/-02 2000 O 22
-+-3 B -03/-02 2000 O 22
- -3 - -03 2001 S 13
---3 At -03/-02 2002 O
-+-3 B -03/-02 2002 O
- -3 - -03
- Z America/Recife -2:19:36 - LMT 1914
---3 At -03/-02 1990 S 17
-+-3 B -03/-02 1990 S 17
- -3 - -03 1999 S 30
---3 At -03/-02 2000 O 15
-+-3 B -03/-02 2000 O 15
- -3 - -03 2001 S 13
---3 At -03/-02 2002 O
-+-3 B -03/-02 2002 O
- -3 - -03
- Z America/Araguaina -3:12:48 - LMT 1914
---3 At -03/-02 1990 S 17
-+-3 B -03/-02 1990 S 17
- -3 - -03 1995 S 14
---3 At -03/-02 2003 S 24
-+-3 B -03/-02 2003 S 24
- -3 - -03 2012 O 21
---3 At -03/-02 2013 S
-+-3 B -03/-02 2013 S
- -3 - -03
- Z America/Maceio -2:22:52 - LMT 1914
---3 At -03/-02 1990 S 17
-+-3 B -03/-02 1990 S 17
- -3 - -03 1995 O 13
---3 At -03/-02 1996 S 4
-+-3 B -03/-02 1996 S 4
- -3 - -03 1999 S 30
---3 At -03/-02 2000 O 22
-+-3 B -03/-02 2000 O 22
- -3 - -03 2001 S 13
---3 At -03/-02 2002 O
-+-3 B -03/-02 2002 O
- -3 - -03
- Z America/Bahia -2:34:4 - LMT 1914
---3 At -03/-02 2003 S 24
-+-3 B -03/-02 2003 S 24
- -3 - -03 2011 O 16
---3 At -03/-02 2012 O 21
-+-3 B -03/-02 2012 O 21
- -3 - -03
- Z America/Sao_Paulo -3:6:28 - LMT 1914
---3 At -03/-02 1963 O 23
-+-3 B -03/-02 1963 O 23
- -3 1 -02 1964
---3 At -03/-02
-+-3 B -03/-02
- Z America/Campo_Grande -3:38:28 - LMT 1914
---4 At -04/-03
-+-4 B -04/-03
- Z America/Cuiaba -3:44:20 - LMT 1914
---4 At -04/-03 2003 S 24
-+-4 B -04/-03 2003 S 24
- -4 - -04 2004 O
---4 At -04/-03
-+-4 B -04/-03
- Z America/Porto_Velho -4:15:36 - LMT 1914
---4 At -04/-03 1988 S 12
-+-4 B -04/-03 1988 S 12
- -4 - -04
- Z America/Boa_Vista -4:2:40 - LMT 1914
---4 At -04/-03 1988 S 12
-+-4 B -04/-03 1988 S 12
- -4 - -04 1999 S 30
---4 At -04/-03 2000 O 15
-+-4 B -04/-03 2000 O 15
- -4 - -04
- Z America/Manaus -4:0:4 - LMT 1914
---4 At -04/-03 1988 S 12
-+-4 B -04/-03 1988 S 12
- -4 - -04 1993 S 28
---4 At -04/-03 1994 S 22
-+-4 B -04/-03 1994 S 22
- -4 - -04
- Z America/Eirunepe -4:39:28 - LMT 1914
---5 At -05/-04 1988 S 12
-+-5 B -05/-04 1988 S 12
- -5 - -05 1993 S 28
---5 At -05/-04 1994 S 22
-+-5 B -05/-04 1994 S 22
- -5 - -05 2008 Jun 24
- -4 - -04 2013 N 10
- -5 - -05
- Z America/Rio_Branco -4:31:12 - LMT 1914
---5 At -05/-04 1988 S 12
-+-5 B -05/-04 1988 S 12
- -5 - -05 2008 Jun 24
- -4 - -04 2013 N 10
- -5 - -05
--R Au 1927 1931 - S 1 0 1 -
--R Au 1928 1932 - Ap 1 0 0 -
--R Au 1968 o - N 3 4u 1 -
--R Au 1969 o - Mar 30 3u 0 -
--R Au 1969 o - N 23 4u 1 -
--R Au 1970 o - Mar 29 3u 0 -
--R Au 1971 o - Mar 14 3u 0 -
--R Au 1970 1972 - O Sun>=9 4u 1 -
--R Au 1972 1986 - Mar Sun>=9 3u 0 -
--R Au 1973 o - S 30 4u 1 -
--R Au 1974 1987 - O Sun>=9 4u 1 -
--R Au 1987 o - Ap 12 3u 0 -
--R Au 1988 1990 - Mar Sun>=9 3u 0 -
--R Au 1988 1989 - O Sun>=9 4u 1 -
--R Au 1990 o - S 16 4u 1 -
--R Au 1991 1996 - Mar Sun>=9 3u 0 -
--R Au 1991 1997 - O Sun>=9 4u 1 -
--R Au 1997 o - Mar 30 3u 0 -
--R Au 1998 o - Mar Sun>=9 3u 0 -
--R Au 1998 o - S 27 4u 1 -
--R Au 1999 o - Ap 4 3u 0 -
--R Au 1999 2010 - O Sun>=9 4u 1 -
--R Au 2000 2007 - Mar Sun>=9 3u 0 -
--R Au 2008 o - Mar 30 3u 0 -
--R Au 2009 o - Mar Sun>=9 3u 0 -
--R Au 2010 o - Ap Sun>=1 3u 0 -
--R Au 2011 o - May Sun>=2 3u 0 -
--R Au 2011 o - Au Sun>=16 4u 1 -
--R Au 2012 2014 - Ap Sun>=23 3u 0 -
--R Au 2012 2014 - S Sun>=2 4u 1 -
--R Au 2016 ma - May Sun>=9 3u 0 -
--R Au 2016 ma - Au Sun>=9 4u 1 -
-+R x 1927 1931 - S 1 0 1 -
-+R x 1928 1932 - Ap 1 0 0 -
-+R x 1968 o - N 3 4u 1 -
-+R x 1969 o - Mar 30 3u 0 -
-+R x 1969 o - N 23 4u 1 -
-+R x 1970 o - Mar 29 3u 0 -
-+R x 1971 o - Mar 14 3u 0 -
-+R x 1970 1972 - O Sun>=9 4u 1 -
-+R x 1972 1986 - Mar Sun>=9 3u 0 -
-+R x 1973 o - S 30 4u 1 -
-+R x 1974 1987 - O Sun>=9 4u 1 -
-+R x 1987 o - Ap 12 3u 0 -
-+R x 1988 1990 - Mar Sun>=9 3u 0 -
-+R x 1988 1989 - O Sun>=9 4u 1 -
-+R x 1990 o - S 16 4u 1 -
-+R x 1991 1996 - Mar Sun>=9 3u 0 -
-+R x 1991 1997 - O Sun>=9 4u 1 -
-+R x 1997 o - Mar 30 3u 0 -
-+R x 1998 o - Mar Sun>=9 3u 0 -
-+R x 1998 o - S 27 4u 1 -
-+R x 1999 o - Ap 4 3u 0 -
-+R x 1999 2010 - O Sun>=9 4u 1 -
-+R x 2000 2007 - Mar Sun>=9 3u 0 -
-+R x 2008 o - Mar 30 3u 0 -
-+R x 2009 o - Mar Sun>=9 3u 0 -
-+R x 2010 o - Ap Sun>=1 3u 0 -
-+R x 2011 o - May Sun>=2 3u 0 -
-+R x 2011 o - Au Sun>=16 4u 1 -
-+R x 2012 2014 - Ap Sun>=23 3u 0 -
-+R x 2012 2014 - S Sun>=2 4u 1 -
-+R x 2016 2018 - May Sun>=9 3u 0 -
-+R x 2016 2018 - Au Sun>=9 4u 1 -
-+R x 2019 ma - Ap Sun>=2 3u 0 -
-+R x 2019 ma - S Sun>=2 4u 1 -
- Z America/Santiago -4:42:46 - LMT 1890
- -4:42:46 - SMT 1910 Ja 10
- -5 - -05 1916 Jul
- -4:42:46 - SMT 1918 S 10
- -4 - -04 1919 Jul
- -4:42:46 - SMT 1927 S
---5 Au -05/-04 1932 S
-+-5 x -05/-04 1932 S
- -4 - -04 1942 Jun
- -5 - -05 1942 Au
- -4 - -04 1946 Jul 15
- -4 1 -03 1946 S
- -4 - -04 1947 Ap
- -5 - -05 1947 May 21 23
---4 Au -04/-03
-+-4 x -04/-03
- Z America/Punta_Arenas -4:43:40 - LMT 1890
- -4:42:46 - SMT 1910 Ja 10
- -5 - -05 1916 Jul
- -4:42:46 - SMT 1918 S 10
- -4 - -04 1919 Jul
- -4:42:46 - SMT 1927 S
---5 Au -05/-04 1932 S
-+-5 x -05/-04 1932 S
- -4 - -04 1942 Jun
- -5 - -05 1942 Au
- -4 - -04 1947 Ap
- -5 - -05 1947 May 21 23
---4 Au -04/-03 2016 D 4
-+-4 x -04/-03 2016 D 4
- -3 - -03
- Z Pacific/Easter -7:17:28 - LMT 1890
- -7:17:28 - EMT 1932 S
---7 Au -07/-06 1982 Mar 14 3u
---6 Au -06/-05
-+-7 x -07/-06 1982 Mar 14 3u
-+-6 x -06/-05
- Z Antarctica/Palmer 0 - -00 1965
---4 Ar -04/-03 1969 O 5
---3 Ar -03/-02 1982 May
---4 Au -04/-03 2016 D 4
-+-4 A -04/-03 1969 O 5
-+-3 A -03/-02 1982 May
-+-4 x -04/-03 2016 D 4
- -3 - -03
--R Av 1992 o - May 3 0 1 -
--R Av 1993 o - Ap 4 0 0 -
-+R CO 1992 o - May 3 0 1 -
-+R CO 1993 o - Ap 4 0 0 -
- Z America/Bogota -4:56:16 - LMT 1884 Mar 13
- -4:56:16 - BMT 1914 N 23
---5 Av -05/-04
-+-5 CO -05/-04
- Z America/Curacao -4:35:47 - LMT 1912 F 12
- -4:30 - -0430 1965
- -4 - AST
- Li America/Curacao America/Lower_Princes
- Li America/Curacao America/Kralendijk
--R Aw 1992 o - N 28 0 1 -
--R Aw 1993 o - F 5 0 0 -
-+R EC 1992 o - N 28 0 1 -
-+R EC 1993 o - F 5 0 0 -
- Z America/Guayaquil -5:19:20 - LMT 1890
- -5:14 - QMT 1931
---5 Aw -05/-04
-+-5 EC -05/-04
- Z Pacific/Galapagos -5:58:24 - LMT 1931
- -5 - -05 1986
---6 Aw -06/-05
--R Ax 1937 1938 - S lastSun 0 1 -
--R Ax 1938 1942 - Mar Sun>=19 0 0 -
--R Ax 1939 o - O 1 0 1 -
--R Ax 1940 1942 - S lastSun 0 1 -
--R Ax 1943 o - Ja 1 0 0 -
--R Ax 1983 o - S lastSun 0 1 -
--R Ax 1984 1985 - Ap lastSun 0 0 -
--R Ax 1984 o - S 16 0 1 -
--R Ax 1985 2000 - S Sun>=9 0 1 -
--R Ax 1986 2000 - Ap Sun>=16 0 0 -
--R Ax 2001 2010 - Ap Sun>=15 2 0 -
--R Ax 2001 2010 - S Sun>=1 2 1 -
-+-6 EC -06/-05
-+R FK 1937 1938 - S lastSun 0 1 -
-+R FK 1938 1942 - Mar Sun>=19 0 0 -
-+R FK 1939 o - O 1 0 1 -
-+R FK 1940 1942 - S lastSun 0 1 -
-+R FK 1943 o - Ja 1 0 0 -
-+R FK 1983 o - S lastSun 0 1 -
-+R FK 1984 1985 - Ap lastSun 0 0 -
-+R FK 1984 o - S 16 0 1 -
-+R FK 1985 2000 - S Sun>=9 0 1 -
-+R FK 1986 2000 - Ap Sun>=16 0 0 -
-+R FK 2001 2010 - Ap Sun>=15 2 0 -
-+R FK 2001 2010 - S Sun>=1 2 1 -
- Z Atlantic/Stanley -3:51:24 - LMT 1890
- -3:51:24 - SMT 1912 Mar 12
---4 Ax -04/-03 1983 May
---3 Ax -03/-02 1985 S 15
---4 Ax -04/-03 2010 S 5 2
-+-4 FK -04/-03 1983 May
-+-3 FK -03/-02 1985 S 15
-+-4 FK -04/-03 2010 S 5 2
- -3 - -03
- Z America/Cayenne -3:29:20 - LMT 1911 Jul
- -4 - -04 1967 O
-@@ -3878,46 +3897,46 @@ Z America/Guyana -3:52:40 - LMT 1915 Mar
- -3:45 - -0345 1975 Jul 31
- -3 - -03 1991
- -4 - -04
--R Ay 1975 1988 - O 1 0 1 -
--R Ay 1975 1978 - Mar 1 0 0 -
--R Ay 1979 1991 - Ap 1 0 0 -
--R Ay 1989 o - O 22 0 1 -
--R Ay 1990 o - O 1 0 1 -
--R Ay 1991 o - O 6 0 1 -
--R Ay 1992 o - Mar 1 0 0 -
--R Ay 1992 o - O 5 0 1 -
--R Ay 1993 o - Mar 31 0 0 -
--R Ay 1993 1995 - O 1 0 1 -
--R Ay 1994 1995 - F lastSun 0 0 -
--R Ay 1996 o - Mar 1 0 0 -
--R Ay 1996 2001 - O Sun>=1 0 1 -
--R Ay 1997 o - F lastSun 0 0 -
--R Ay 1998 2001 - Mar Sun>=1 0 0 -
--R Ay 2002 2004 - Ap Sun>=1 0 0 -
--R Ay 2002 2003 - S Sun>=1 0 1 -
--R Ay 2004 2009 - O Sun>=15 0 1 -
--R Ay 2005 2009 - Mar Sun>=8 0 0 -
--R Ay 2010 ma - O Sun>=1 0 1 -
--R Ay 2010 2012 - Ap Sun>=8 0 0 -
--R Ay 2013 ma - Mar Sun>=22 0 0 -
-+R y 1975 1988 - O 1 0 1 -
-+R y 1975 1978 - Mar 1 0 0 -
-+R y 1979 1991 - Ap 1 0 0 -
-+R y 1989 o - O 22 0 1 -
-+R y 1990 o - O 1 0 1 -
-+R y 1991 o - O 6 0 1 -
-+R y 1992 o - Mar 1 0 0 -
-+R y 1992 o - O 5 0 1 -
-+R y 1993 o - Mar 31 0 0 -
-+R y 1993 1995 - O 1 0 1 -
-+R y 1994 1995 - F lastSun 0 0 -
-+R y 1996 o - Mar 1 0 0 -
-+R y 1996 2001 - O Sun>=1 0 1 -
-+R y 1997 o - F lastSun 0 0 -
-+R y 1998 2001 - Mar Sun>=1 0 0 -
-+R y 2002 2004 - Ap Sun>=1 0 0 -
-+R y 2002 2003 - S Sun>=1 0 1 -
-+R y 2004 2009 - O Sun>=15 0 1 -
-+R y 2005 2009 - Mar Sun>=8 0 0 -
-+R y 2010 ma - O Sun>=1 0 1 -
-+R y 2010 2012 - Ap Sun>=8 0 0 -
-+R y 2013 ma - Mar Sun>=22 0 0 -
- Z America/Asuncion -3:50:40 - LMT 1890
- -3:50:40 - AMT 1931 O 10
- -4 - -04 1972 O
- -3 - -03 1974 Ap
---4 Ay -04/-03
--R Az 1938 o - Ja 1 0 1 -
--R Az 1938 o - Ap 1 0 0 -
--R Az 1938 1939 - S lastSun 0 1 -
--R Az 1939 1940 - Mar Sun>=24 0 0 -
--R Az 1986 1987 - Ja 1 0 1 -
--R Az 1986 1987 - Ap 1 0 0 -
--R Az 1990 o - Ja 1 0 1 -
--R Az 1990 o - Ap 1 0 0 -
--R Az 1994 o - Ja 1 0 1 -
--R Az 1994 o - Ap 1 0 0 -
-+-4 y -04/-03
-+R PE 1938 o - Ja 1 0 1 -
-+R PE 1938 o - Ap 1 0 0 -
-+R PE 1938 1939 - S lastSun 0 1 -
-+R PE 1939 1940 - Mar Sun>=24 0 0 -
-+R PE 1986 1987 - Ja 1 0 1 -
-+R PE 1986 1987 - Ap 1 0 0 -
-+R PE 1990 o - Ja 1 0 1 -
-+R PE 1990 o - Ap 1 0 0 -
-+R PE 1994 o - Ja 1 0 1 -
-+R PE 1994 o - Ap 1 0 0 -
- Z America/Lima -5:8:12 - LMT 1890
- -5:8:36 - LMT 1908 Jul 28
---5 Az -05/-04
-+-5 PE -05/-04
- Z Atlantic/South_Georgia -2:26:8 - LMT 1890
- -2 - -02
- Z America/Paramaribo -3:40:40 - LMT 1911
-@@ -3940,65 +3959,65 @@ Li America/Port_of_Spain America/St_Lucia
- Li America/Port_of_Spain America/St_Thomas
- Li America/Port_of_Spain America/St_Vincent
- Li America/Port_of_Spain America/Tortola
--R A! 1923 1925 - O 1 0 0:30 -
--R A! 1924 1926 - Ap 1 0 0 -
--R A! 1933 1938 - O lastSun 0 0:30 -
--R A! 1934 1941 - Mar lastSat 24 0 -
--R A! 1939 o - O 1 0 0:30 -
--R A! 1940 o - O 27 0 0:30 -
--R A! 1941 o - Au 1 0 0:30 -
--R A! 1942 o - D 14 0 0:30 -
--R A! 1943 o - Mar 14 0 0 -
--R A! 1959 o - May 24 0 0:30 -
--R A! 1959 o - N 15 0 0 -
--R A! 1960 o - Ja 17 0 1 -
--R A! 1960 o - Mar 6 0 0 -
--R A! 1965 o - Ap 4 0 1 -
--R A! 1965 o - S 26 0 0 -
--R A! 1968 o - May 27 0 0:30 -
--R A! 1968 o - D 1 0 0 -
--R A! 1970 o - Ap 25 0 1 -
--R A! 1970 o - Jun 14 0 0 -
--R A! 1972 o - Ap 23 0 1 -
--R A! 1972 o - Jul 16 0 0 -
--R A! 1974 o - Ja 13 0 1:30 -
--R A! 1974 o - Mar 10 0 0:30 -
--R A! 1974 o - S 1 0 0 -
--R A! 1974 o - D 22 0 1 -
--R A! 1975 o - Mar 30 0 0 -
--R A! 1976 o - D 19 0 1 -
--R A! 1977 o - Mar 6 0 0 -
--R A! 1977 o - D 4 0 1 -
--R A! 1978 1979 - Mar Sun>=1 0 0 -
--R A! 1978 o - D 17 0 1 -
--R A! 1979 o - Ap 29 0 1 -
--R A! 1980 o - Mar 16 0 0 -
--R A! 1987 o - D 14 0 1 -
--R A! 1988 o - F 28 0 0 -
--R A! 1988 o - D 11 0 1 -
--R A! 1989 o - Mar 5 0 0 -
--R A! 1989 o - O 29 0 1 -
--R A! 1990 o - F 25 0 0 -
--R A! 1990 1991 - O Sun>=21 0 1 -
--R A! 1991 1992 - Mar Sun>=1 0 0 -
--R A! 1992 o - O 18 0 1 -
--R A! 1993 o - F 28 0 0 -
--R A! 2004 o - S 19 0 1 -
--R A! 2005 o - Mar 27 2 0 -
--R A! 2005 o - O 9 2 1 -
--R A! 2006 2015 - Mar Sun>=8 2 0 -
--R A! 2006 2014 - O Sun>=1 2 1 -
-+R U 1923 1925 - O 1 0 0:30 -
-+R U 1924 1926 - Ap 1 0 0 -
-+R U 1933 1938 - O lastSun 0 0:30 -
-+R U 1934 1941 - Mar lastSat 24 0 -
-+R U 1939 o - O 1 0 0:30 -
-+R U 1940 o - O 27 0 0:30 -
-+R U 1941 o - Au 1 0 0:30 -
-+R U 1942 o - D 14 0 0:30 -
-+R U 1943 o - Mar 14 0 0 -
-+R U 1959 o - May 24 0 0:30 -
-+R U 1959 o - N 15 0 0 -
-+R U 1960 o - Ja 17 0 1 -
-+R U 1960 o - Mar 6 0 0 -
-+R U 1965 o - Ap 4 0 1 -
-+R U 1965 o - S 26 0 0 -
-+R U 1968 o - May 27 0 0:30 -
-+R U 1968 o - D 1 0 0 -
-+R U 1970 o - Ap 25 0 1 -
-+R U 1970 o - Jun 14 0 0 -
-+R U 1972 o - Ap 23 0 1 -
-+R U 1972 o - Jul 16 0 0 -
-+R U 1974 o - Ja 13 0 1:30 -
-+R U 1974 o - Mar 10 0 0:30 -
-+R U 1974 o - S 1 0 0 -
-+R U 1974 o - D 22 0 1 -
-+R U 1975 o - Mar 30 0 0 -
-+R U 1976 o - D 19 0 1 -
-+R U 1977 o - Mar 6 0 0 -
-+R U 1977 o - D 4 0 1 -
-+R U 1978 1979 - Mar Sun>=1 0 0 -
-+R U 1978 o - D 17 0 1 -
-+R U 1979 o - Ap 29 0 1 -
-+R U 1980 o - Mar 16 0 0 -
-+R U 1987 o - D 14 0 1 -
-+R U 1988 o - F 28 0 0 -
-+R U 1988 o - D 11 0 1 -
-+R U 1989 o - Mar 5 0 0 -
-+R U 1989 o - O 29 0 1 -
-+R U 1990 o - F 25 0 0 -
-+R U 1990 1991 - O Sun>=21 0 1 -
-+R U 1991 1992 - Mar Sun>=1 0 0 -
-+R U 1992 o - O 18 0 1 -
-+R U 1993 o - F 28 0 0 -
-+R U 2004 o - S 19 0 1 -
-+R U 2005 o - Mar 27 2 0 -
-+R U 2005 o - O 9 2 1 -
-+R U 2006 2015 - Mar Sun>=8 2 0 -
-+R U 2006 2014 - O Sun>=1 2 1 -
- Z America/Montevideo -3:44:51 - LMT 1908 Jun 10
- -3:44:51 - MMT 1920 May
- -4 - -04 1923 O
---3:30 A! -0330/-03 1942 D 14
---3 A! -03/-0230 1960
---3 A! -03/-02 1968
---3 A! -03/-0230 1970
---3 A! -03/-02 1974
---3 A! -03/-0130 1974 Mar 10
---3 A! -03/-0230 1974 D 22
---3 A! -03/-02
-+-3:30 U -0330/-03 1942 D 14
-+-3 U -03/-0230 1960
-+-3 U -03/-02 1968
-+-3 U -03/-0230 1970
-+-3 U -03/-02 1974
-+-3 U -03/-0130 1974 Mar 10
-+-3 U -03/-0230 1974 D 22
-+-3 U -03/-02
- Z America/Caracas -4:27:44 - LMT 1890
- -4:27:40 - CMT 1912 F 12
- -4:30 - -0430 1965
-diff --git a/src/timezone/known_abbrevs.txt b/src/timezone/known_abbrevs.txt
-index 67d2f0b..2ae443a 100644
---- a/src/timezone/known_abbrevs.txt
-+++ b/src/timezone/known_abbrevs.txt
-@@ -92,6 +92,7 @@ NZST 43200
- PDT -25200 D
- PKT 18000
- PST -28800
-+PST 28800
- SAST 7200
- SST -39600
- UCT 0
-diff --git a/src/timezone/tznames/America.txt b/src/timezone/tznames/America.txt
-index 1c5eb1f..2594c37 100644
---- a/src/timezone/tznames/America.txt
-+++ b/src/timezone/tznames/America.txt
-@@ -237,6 +237,9 @@ PDT -25200 D # Pacific Daylight Time
- PET -18000 # Peru Time (obsolete)
- PMDT -7200 D # Pierre & Miquelon Daylight Time (obsolete)
- PMST -10800 # Pierre & Miquelon Standard Time (obsolete)
-+# CONFLICT! PST is not unique
-+# Other timezones:
-+# - PST: Philippine Standard Time
- PST -28800 # Pacific Standard Time
- # (America/Dawson)
- # (America/Los_Angeles)
-diff --git a/src/timezone/tznames/Asia.txt b/src/timezone/tznames/Asia.txt
-index e1fa931..1133339 100644
---- a/src/timezone/tznames/Asia.txt
-+++ b/src/timezone/tznames/Asia.txt
-@@ -158,6 +158,10 @@ PKT 18000 # Pakistan Time
- # (Asia/Karachi)
- PKST 21600 D # Pakistan Summer Time
- # (Asia/Karachi)
-+# CONFLICT! PST is not unique
-+# Other timezones:
-+# - PST: Pacific Standard Time (America)
-+PST 28800 # Philippine Standard Time
- QYZT 21600 # Kizilorda Time (obsolete)
- SAKST Asia/Sakhalin # Sakhalin Summer Time (obsolete)
- SAKT Asia/Sakhalin # Sakhalin Time (obsolete)
-diff --git a/src/timezone/tznames/Default b/src/timezone/tznames/Default
-index 3826096..1532413 100644
---- a/src/timezone/tznames/Default
-+++ b/src/timezone/tznames/Default
-@@ -181,6 +181,9 @@ PDT -25200 D # Pacific Daylight Time
- # (America/Whitehorse)
- PMDT -7200 D # Pierre & Miquelon Daylight Time (obsolete)
- PMST -10800 # Pierre & Miquelon Standard Time (obsolete)
-+# CONFLICT! PST is not unique
-+# Other timezones:
-+# - PST: Philippine Standard Time
- PST -28800 # Pacific Standard Time
- # (America/Dawson)
- # (America/Los_Angeles)
-diff --git a/src/timezone/tznames/Pacific.txt b/src/timezone/tznames/Pacific.txt
-index c86248b..c30008c 100644
---- a/src/timezone/tznames/Pacific.txt
-+++ b/src/timezone/tznames/Pacific.txt
-@@ -52,6 +52,9 @@ NZST 43200 # New Zealand Standard Time
- PGT 36000 # Papua New Guinea Time (obsolete)
- PHOT Pacific/Enderbury # Phoenix Islands Time (Kiribati) (obsolete)
- PONT 39600 # Ponape Time (Micronesia) (obsolete)
-+# CONFLICT! PST is not unique
-+# Other timezones:
-+# - PST: Philippine Standard Time
- PST -28800 # Pacific Standard Time
- # (America/Dawson)
- # (America/Los_Angeles)
---
-2.7.4
-
diff --git a/meta-oe/recipes-dbs/postgresql/files/postgresql-bashprofile b/meta-oe/recipes-dbs/postgresql/files/postgresql-profile
index 1c931f37fd..1c931f37fd 100644
--- a/meta-oe/recipes-dbs/postgresql/files/postgresql-bashprofile
+++ b/meta-oe/recipes-dbs/postgresql/files/postgresql-profile
diff --git a/meta-oe/recipes-dbs/postgresql/postgresql.inc b/meta-oe/recipes-dbs/postgresql/postgresql.inc
index 3bf71f02e9..dc85224543 100644
--- a/meta-oe/recipes-dbs/postgresql/postgresql.inc
+++ b/meta-oe/recipes-dbs/postgresql/postgresql.inc
@@ -25,7 +25,7 @@ ARM_INSTRUCTION_SET = "arm"
SRC_URI = "http://ftp.postgresql.org/pub/source/v${PV}/${BP}.tar.bz2 \
file://postgresql.init \
- file://postgresql-bashprofile \
+ file://postgresql-profile \
file://postgresql.pam \
file://postgresql-setup \
file://postgresql.service \
@@ -155,7 +155,7 @@ usernum = "28"
groupnum = "28"
USERADD_PACKAGES = "${PN}"
USERADD_PARAM_${PN} = "-M -g postgres -o -r -d ${localstatedir}/lib/${BPN} \
- -s /bin/bash -c 'PostgreSQL Server' -u ${usernum} postgres"
+ -s /bin/sh -c 'PostgreSQL Server' -u ${usernum} postgres"
GROUPADD_PARAM_${PN} = "-g ${groupnum} -o -r postgres"
INITSCRIPT_PACKAGES = "${PN}"
@@ -182,7 +182,7 @@ do_install_append() {
install -m 0755 ${WORKDIR}/${BPN}-setup ${D}${bindir}/${BPN}-setup
install -d -m 700 ${D}${localstatedir}/lib/${BPN}/data
install -d -m 700 ${D}${localstatedir}/lib/${BPN}/backups
- install -m 644 ${WORKDIR}/${BPN}-bashprofile ${D}${localstatedir}/lib/${BPN}/.bash_profile
+ install -m 644 ${WORKDIR}/${BPN}-profile ${D}${localstatedir}/lib/${BPN}/.profile
chown -R postgres:postgres ${D}${localstatedir}/lib/${BPN}
# multiple server config directory
install -d -m 700 ${D}${sysconfdir}/default/${BPN}
@@ -222,7 +222,7 @@ RPROVIDES_${PN}-dbg += "libecpg-compat-dbg \
FILES_${PN} += "${sysconfdir}/init.d/${BPN}-server \
${localstatedir}/lib/${BPN}/data ${localstatedir}/lib/${BPN}/backups \
- ${localstatedir}/lib/${BPN}/.bash_profile ${sysconfdir}/default/${BPN} \
+ ${localstatedir}/lib/${BPN}/.profile ${sysconfdir}/default/${BPN} \
${libdir}/${BPN}/dict_snowball.so ${libdir}/${BPN}/plpgsql.so \
${libdir}/${BPN}/euc2004_sjis2004.so \
${libdir}/${BPN}/libpqwalreceiver.so \
diff --git a/meta-oe/recipes-dbs/postgresql/postgresql_10.10.bb b/meta-oe/recipes-dbs/postgresql/postgresql_10.10.bb
new file mode 100644
index 0000000000..8be794c369
--- /dev/null
+++ b/meta-oe/recipes-dbs/postgresql/postgresql_10.10.bb
@@ -0,0 +1,10 @@
+require postgresql.inc
+
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=87da2b84884860b71f5f24ab37e7da78"
+
+SRC_URI += "\
+ file://not-check-libperl.patch \
+"
+
+SRC_URI[md5sum] = "3dac8187636fa8237802bef85be78023"
+SRC_URI[sha256sum] = "ad4f9b8575f98ed6091bf9bb2cb16f0e52795a5f66546c1f499ca5c69b21f253"
diff --git a/meta-oe/recipes-dbs/postgresql/postgresql_10.5.bb b/meta-oe/recipes-dbs/postgresql/postgresql_10.5.bb
deleted file mode 100644
index 1a02f154c5..0000000000
--- a/meta-oe/recipes-dbs/postgresql/postgresql_10.5.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require postgresql.inc
-
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=6dc95e63aa4d72502ff8193dfe2ddd38"
-
-SRC_URI += "\
- file://not-check-libperl.patch \
- file://0001-Update-time-zone-data-files-to-tzdata-release-2018f.patch \
- file://0001-Sync-our-copy-of-the-timezone-library-with-IANA-rele.patch \
-"
-
-SRC_URI[md5sum] = "a5fe5fdff2d6c28f65601398be0950df"
-SRC_URI[sha256sum] = "6c8e616c91a45142b85c0aeb1f29ebba4a361309e86469e0fb4617b6a73c4011"
diff --git a/meta-oe/recipes-devtools/libedit/libedit_20180525-3.1.bb b/meta-oe/recipes-devtools/libedit/libedit_20180525-3.1.bb
index 8cc0e959e0..60f4f5a22b 100644
--- a/meta-oe/recipes-devtools/libedit/libedit_20180525-3.1.bb
+++ b/meta-oe/recipes-devtools/libedit/libedit_20180525-3.1.bb
@@ -19,3 +19,5 @@ SRC_URI[md5sum] = "97679319742f45d6cdcd6075511b14ac"
SRC_URI[sha256sum] = "c41bea8fd140fb57ba67a98ec1d8ae0b8ffa82f4aba9c35a87e5a9499e653116"
S = "${WORKDIR}/${BPN}-${PV}"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/lua/lua/CVE-2019-6706.patch b/meta-oe/recipes-devtools/lua/lua/CVE-2019-6706.patch
new file mode 100644
index 0000000000..cfe48af5a4
--- /dev/null
+++ b/meta-oe/recipes-devtools/lua/lua/CVE-2019-6706.patch
@@ -0,0 +1,32 @@
+CVE-2019-6706: use-after-free in lua_upvaluejoin function
+
+Upstream-Status: Backport
+http://lua.2524044.n2.nabble.com/CVE-2019-6706-use-after-free-in-lua-upvaluejoin-function-tc7685575.html
+CVE: CVE-2019-6706
+Affects < 5.3.5
+Signed-off-by: Armin Kuster <akuster@mvista.com>
+
+Index: lua-5.3.4/src/lapi.c
+===================================================================
+--- lua-5.3.4.orig/src/lapi.c
++++ lua-5.3.4/src/lapi.c
+@@ -1285,14 +1285,14 @@ LUA_API void *lua_upvalueid (lua_State *
+
+ LUA_API void lua_upvaluejoin (lua_State *L, int fidx1, int n1,
+ int fidx2, int n2) {
+- LClosure *f1;
+- UpVal **up1 = getupvalref(L, fidx1, n1, &f1);
++ UpVal **up1 = getupvalref(L, fidx1, n1, NULL); /* the last parameter not needed */
+ UpVal **up2 = getupvalref(L, fidx2, n2, NULL);
++ if (*up1 == *up2) return; /* Already joined */
++ (*up2)->refcount++;
++ if (upisopen(*up2)) (*up2)->u.open.touched = 1;
++ luaC_upvalbarrier(L, *up2);
+ luaC_upvdeccount(L, *up1);
+ *up1 = *up2;
+- (*up1)->refcount++;
+- if (upisopen(*up1)) (*up1)->u.open.touched = 1;
+- luaC_upvalbarrier(L, *up1);
+ }
+
+
diff --git a/meta-oe/recipes-devtools/lua/lua_5.3.4.bb b/meta-oe/recipes-devtools/lua/lua_5.3.4.bb
index 8f4e8fe68c..978c2033ef 100644
--- a/meta-oe/recipes-devtools/lua/lua_5.3.4.bb
+++ b/meta-oe/recipes-devtools/lua/lua_5.3.4.bb
@@ -7,6 +7,7 @@ HOMEPAGE = "http://www.lua.org/"
DEPENDS = "readline"
SRC_URI = "http://www.lua.org/ftp/lua-${PV}.tar.gz;name=tarballsrc \
file://lua.pc.in \
+ file://CVE-2019-6706.patch \
"
SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', \
'http://www.lua.org/tests/lua-${PV}-tests.tar.gz;name=tarballtest \
diff --git a/meta-oe/recipes-devtools/luajit/luajit_2.0.5.bb b/meta-oe/recipes-devtools/luajit/luajit_2.0.5.bb
index 3052eb0484..f3a0f70ee2 100644
--- a/meta-oe/recipes-devtools/luajit/luajit_2.0.5.bb
+++ b/meta-oe/recipes-devtools/luajit/luajit_2.0.5.bb
@@ -90,5 +90,7 @@ FILES_${PN}-dev += "${libdir}/libluajit-5.1.a \
"
FILES_luajit-common = "${datadir}/${BPN}-${PV}"
-# Aarch64 is not supported in this release
-COMPATIBLE_HOST = "^(?!aarch64).*"
+# Aarch64/mips64 is not supported in this release
+COMPATIBLE_HOST_aarch64 = "null"
+COMPATIBLE_HOST_mipsarchn32 = "null"
+COMPATIBLE_HOST_mipsarchn64 = "null"
diff --git a/meta-oe/recipes-devtools/protobuf/protobuf-c/0001-avoid-race-condition.patch b/meta-oe/recipes-devtools/protobuf/protobuf-c/0001-avoid-race-condition.patch
new file mode 100644
index 0000000000..4fc7703d81
--- /dev/null
+++ b/meta-oe/recipes-devtools/protobuf/protobuf-c/0001-avoid-race-condition.patch
@@ -0,0 +1,36 @@
+From 216e31260b618ec73862f9f5336597f391444dac Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Sun, 29 Sep 2019 17:20:42 +0800
+Subject: [PATCH] avoid race condition
+
+It's possible that the cxx-generate-packed-data.cc is compiled
+while the t/test-full.pb.h is being generated. This will result
+the following error.
+
+ DEBUG: ./t/test-full.pb.h:4:0: error: unterminated #ifndef
+ ./t/test-full.pb.h:4:0: error: unterminated #ifndef
+
+Add a dependency to avoid such problem.
+
+Upstream-Status: Pending
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Makefile.am b/Makefile.am
+index b0cb065..1608ae0 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -156,6 +156,7 @@ noinst_PROGRAMS += \
+ t_generated_code2_cxx_generate_packed_data_SOURCES = \
+ t/generated-code2/cxx-generate-packed-data.cc \
+ t/test-full.pb.cc
++t/generated-code2/cxx-generate-packed-data.cc: t/test-full.pb.h
+ $(t_generated_code2_cxx_generate_packed_data_OBJECTS): t/test-full.pb.h
+ t_generated_code2_cxx_generate_packed_data_CXXFLAGS = \
+ $(AM_CXXFLAGS) \
+--
+2.17.1
+
diff --git a/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.1.bb b/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.1.bb
index 7ef0300925..17f92f04bb 100644
--- a/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.1.bb
+++ b/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.1.bb
@@ -15,7 +15,8 @@ DEPENDS = "protobuf-native protobuf"
PV .= "+git${SRCPV}"
SRCREV = "269771b4b45d3aba04e59569f53600003db8d9ff"
-SRC_URI = "git://github.com/protobuf-c/protobuf-c.git"
+SRC_URI = "git://github.com/protobuf-c/protobuf-c.git \
+ file://0001-avoid-race-condition.patch"
S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-devtools/python/python-pygobject/0001-configure.ac-add-sysroot-path-to-GI_DATADIR-don-t-se.patch b/meta-oe/recipes-devtools/python/python-pygobject/0001-configure.ac-add-sysroot-path-to-GI_DATADIR-don-t-se.patch
deleted file mode 100644
index 9a11442f1c..0000000000
--- a/meta-oe/recipes-devtools/python/python-pygobject/0001-configure.ac-add-sysroot-path-to-GI_DATADIR-don-t-se.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 5e5350d730f85957a42c6d846d347d080e7dd996 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Fri, 23 Oct 2015 12:40:34 +0300
-Subject: [PATCH] configure.ac: add sysroot path to GI_DATADIR; don't set
- introspection scanner and compiler paths
-
-Upstream-Status: Pending [review on oe-core maillist]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- configure.ac | 8 +-------
- 1 file changed, 1 insertion(+), 7 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 2c0cfbd..cfcb3bf 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -155,7 +155,7 @@ PKG_CHECK_MODULES(GI,
-
- GOBJECT_INTROSPECTION_CHECK(introspection_required_version)
-
--GI_DATADIR=$($PKG_CONFIG --variable=gidatadir gobject-introspection-1.0)
-+GI_DATADIR=$PKG_CONFIG_SYSROOT_DIR$($PKG_CONFIG --variable=gidatadir gobject-introspection-1.0)
- AC_SUBST(GI_DATADIR)
-
- if test "$enable_cairo" != no; then
---
-2.1.4
-
diff --git a/meta-oe/recipes-devtools/python/python-pygobject_3.28.3.bb b/meta-oe/recipes-devtools/python/python-pygobject_3.28.3.bb
index c444fbf05f..348a0398f3 100644
--- a/meta-oe/recipes-devtools/python/python-pygobject_3.28.3.bb
+++ b/meta-oe/recipes-devtools/python/python-pygobject_3.28.3.bb
@@ -4,17 +4,13 @@ SECTION = "devel/python"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7"
-inherit autotools pkgconfig gnomebase distutils-base gobject-introspection
+inherit gnomebase gobject-introspection distutils-base upstream-version-is-even
-PYTHON_BASEVERSION = "2.7"
-PYTHON_PN = "python"
+DEPENDS += "python glib-2.0"
-DEPENDS += "gnome-common-native python glib-2.0"
-
-SRCNAME="pygobject"
+SRCNAME = "pygobject"
SRC_URI = " \
http://ftp.gnome.org/pub/GNOME/sources/${SRCNAME}/${@gnome_verdir("${PV}")}/${SRCNAME}-${PV}.tar.xz \
- file://0001-configure.ac-add-sysroot-path-to-GI_DATADIR-don-t-se.patch \
"
SRC_URI[md5sum] = "3bac63c86bb963aa401f97859464aa90"
@@ -24,12 +20,12 @@ S = "${WORKDIR}/${SRCNAME}-${PV}"
BBCLASSEXTEND = "native"
-EXTRA_OECONF = "--disable-cairo --with-python=${PYTHON}"
+EXTRA_OECONF = "--disable-cairo"
RDEPENDS_${PN} += "python-setuptools"
RDEPENDS_${PN}_class-native = ""
do_install_append() {
# Remove files that clash with python3-pygobject; their content is same
- rm -rf ${D}${includedir}/pygobject-3.0//pygobject.h ${D}${libdir}/pkgconfig
+ rm -r ${D}${includedir}/pygobject-3.0/pygobject.h ${D}${libdir}/pkgconfig
}
diff --git a/meta-oe/recipes-extended/mozjs/mozjs/JS_PUBLIC_API.patch b/meta-oe/recipes-extended/mozjs/mozjs/JS_PUBLIC_API.patch
new file mode 100644
index 0000000000..6c87ff2a4c
--- /dev/null
+++ b/meta-oe/recipes-extended/mozjs/mozjs/JS_PUBLIC_API.patch
@@ -0,0 +1,37 @@
+Patch from https://bugzilla.mozilla.org/show_bug.cgi?id=1426865
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Submitted [https://bugzilla.mozilla.org/show_bug.cgi?id=1426865]
+--- a/js/public/TypeDecls.h
++++ b/js/public/TypeDecls.h
+@@ -21,22 +21,23 @@
+ #include <stdint.h>
+
+ #include "js-config.h"
++#include "jstypes.h"
+
+ struct JSContext;
+-class JSFunction;
++class JS_PUBLIC_API(JSFunction);
+ class JSObject;
+-class JSScript;
+-class JSString;
+-class JSAddonId;
++class JS_PUBLIC_API(JSScript);
++class JS_PUBLIC_API(JSString);
++class JS_PUBLIC_API(JSAddonId);
+
+-struct jsid;
++struct JS_PUBLIC_API(jsid);
+
+ namespace JS {
+
+ typedef unsigned char Latin1Char;
+
+-class Symbol;
+-class Value;
++class JS_PUBLIC_API(Symbol);
++class JS_PUBLIC_API(Value);
+ template <typename T> class Handle;
+ template <typename T> class MutableHandle;
+ template <typename T> class Rooted;
diff --git a/meta-oe/recipes-extended/mozjs/mozjs_52.9.1.bb b/meta-oe/recipes-extended/mozjs/mozjs_52.9.1.bb
index 0dfe2f8484..7c8a7aee10 100644
--- a/meta-oe/recipes-extended/mozjs/mozjs_52.9.1.bb
+++ b/meta-oe/recipes-extended/mozjs/mozjs_52.9.1.bb
@@ -14,6 +14,7 @@ SRC_URI = "http://archive.ubuntu.com/ubuntu/pool/main/m/mozjs52/mozjs52_52.9.1.o
file://disable-mozglue-in-stand-alone-builds.patch \
file://add-riscv-support.patch \
file://0001-mozjs-fix-coredump-caused-by-getenv.patch \
+ file://JS_PUBLIC_API.patch \
"
SRC_URI_append_libc-musl = " \
file://0006-support-musl.patch \
@@ -49,7 +50,7 @@ EXTRA_OECONF = " \
"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
-PACKAGECONFIG[x11] = "--x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},,virtual/libx11"
+PACKAGECONFIG[x11] = "--x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--x-includes=no --x-libraries=no,virtual/libx11"
EXTRA_OEMAKE_task-compile += "OS_LDFLAGS='-Wl,-latomic ${LDFLAGS}'"
EXTRA_OEMAKE_task-install += "STATIC_LIBRARY_NAME=js_static"
diff --git a/meta-oe/recipes-extended/mraa/mraa_git.bb b/meta-oe/recipes-extended/mraa/mraa_git.bb
index 930c041233..737c13427a 100644
--- a/meta-oe/recipes-extended/mraa/mraa_git.bb
+++ b/meta-oe/recipes-extended/mraa/mraa_git.bb
@@ -20,7 +20,9 @@ inherit cmake distutils3-base
DEPENDS += "json-c"
-EXTRA_OECMAKE_append = " -DINSTALLTOOLS:BOOL=ON -DFIRMATA=ON -DCMAKE_SKIP_RPATH=ON"
+EXTRA_OECMAKE_append = " -DINSTALLTOOLS:BOOL=ON -DFIRMATA=ON -DCMAKE_SKIP_RPATH=ON \
+ -DPYTHON3_PACKAGES_PATH:PATH=${baselib}/python${PYTHON_BASEVERSION}/site-packages \
+ "
# Prepend mraa-utils to make sure bindir ends up in there
PACKAGES =+ "${PN}-utils"
diff --git a/meta-oe/recipes-extended/polkit/polkit/CVE-2018-19788_p1.patch b/meta-oe/recipes-extended/polkit/polkit/CVE-2018-19788_p1.patch
new file mode 100644
index 0000000000..32ea0bacc9
--- /dev/null
+++ b/meta-oe/recipes-extended/polkit/polkit/CVE-2018-19788_p1.patch
@@ -0,0 +1,194 @@
+From cd80aa29c85745ca073cf0581ccdcf2f80aa30db Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
+Date: Mon, 3 Dec 2018 10:28:58 +0100
+Subject: [PATCH 1/3] Allow negative uids/gids in PolkitUnixUser and Group
+ objects
+
+(uid_t) -1 is still used as placeholder to mean "unset". This is OK, since
+there should be no users with such number, see
+https://systemd.io/UIDS-GIDS#special-linux-uids.
+
+(uid_t) -1 is used as the default value in class initialization.
+
+When a user or group above INT32_MAX is created, the numeric uid or
+gid wraps around to negative when the value is assigned to gint, and
+polkit gets confused. Let's accept such gids, except for -1.
+
+A nicer fix would be to change the underlying type to e.g. uint32 to
+not have negative values. But this cannot be done without breaking the
+API, so likely new functions will have to be added (a
+polkit_unix_user_new variant that takes a unsigned, and the same for
+_group_new, _set_uid, _get_uid, _set_gid, _get_gid, etc.). This will
+require a bigger patch.
+
+Fixes https://gitlab.freedesktop.org/polkit/polkit/issues/74.
+
+CVE: CVE-2018-19788
+Upstream-Status: Backport
+[https://gitlab.freedesktop.org/polkit/polkit/commit/2cb40c4d5feeaa09325522bd7d97910f1b59e379]
+
+Signed-off-by: Dan Tran <dantran@microsoft.com>
+---
+ src/polkit/polkitunixgroup.c | 15 +++++++++++----
+ src/polkit/polkitunixprocess.c | 12 ++++++++----
+ src/polkit/polkitunixuser.c | 13 ++++++++++---
+ 3 files changed, 29 insertions(+), 11 deletions(-)
+
+diff --git a/src/polkit/polkitunixgroup.c b/src/polkit/polkitunixgroup.c
+index c57a1aa..309f689 100644
+--- a/src/polkit/polkitunixgroup.c
++++ b/src/polkit/polkitunixgroup.c
+@@ -71,6 +71,7 @@ G_DEFINE_TYPE_WITH_CODE (PolkitUnixGroup, polkit_unix_group, G_TYPE_OBJECT,
+ static void
+ polkit_unix_group_init (PolkitUnixGroup *unix_group)
+ {
++ unix_group->gid = -1; /* (git_t) -1 is not a valid GID under Linux */
+ }
+
+ static void
+@@ -100,11 +101,14 @@ polkit_unix_group_set_property (GObject *object,
+ GParamSpec *pspec)
+ {
+ PolkitUnixGroup *unix_group = POLKIT_UNIX_GROUP (object);
++ gint val;
+
+ switch (prop_id)
+ {
+ case PROP_GID:
+- unix_group->gid = g_value_get_int (value);
++ val = g_value_get_int (value);
++ g_return_if_fail (val != -1);
++ unix_group->gid = val;
+ break;
+
+ default:
+@@ -131,9 +135,9 @@ polkit_unix_group_class_init (PolkitUnixGroupClass *klass)
+ g_param_spec_int ("gid",
+ "Group ID",
+ "The UNIX group ID",
+- 0,
++ G_MININT,
+ G_MAXINT,
+- 0,
++ -1,
+ G_PARAM_CONSTRUCT |
+ G_PARAM_READWRITE |
+ G_PARAM_STATIC_NAME |
+@@ -166,9 +170,10 @@ polkit_unix_group_get_gid (PolkitUnixGroup *group)
+ */
+ void
+ polkit_unix_group_set_gid (PolkitUnixGroup *group,
+- gint gid)
++ gint gid)
+ {
+ g_return_if_fail (POLKIT_IS_UNIX_GROUP (group));
++ g_return_if_fail (gid != -1);
+ group->gid = gid;
+ }
+
+@@ -183,6 +188,8 @@ polkit_unix_group_set_gid (PolkitUnixGroup *group,
+ PolkitIdentity *
+ polkit_unix_group_new (gint gid)
+ {
++ g_return_val_if_fail (gid != -1, NULL);
++
+ return POLKIT_IDENTITY (g_object_new (POLKIT_TYPE_UNIX_GROUP,
+ "gid", gid,
+ NULL));
+diff --git a/src/polkit/polkitunixprocess.c b/src/polkit/polkitunixprocess.c
+index 972b777..b02b258 100644
+--- a/src/polkit/polkitunixprocess.c
++++ b/src/polkit/polkitunixprocess.c
+@@ -159,9 +159,14 @@ polkit_unix_process_set_property (GObject *object,
+ polkit_unix_process_set_pid (unix_process, g_value_get_int (value));
+ break;
+
+- case PROP_UID:
+- polkit_unix_process_set_uid (unix_process, g_value_get_int (value));
++ case PROP_UID: {
++ gint val;
++
++ val = g_value_get_int (value);
++ g_return_if_fail (val != -1);
++ polkit_unix_process_set_uid (unix_process, val);
+ break;
++ }
+
+ case PROP_START_TIME:
+ polkit_unix_process_set_start_time (unix_process, g_value_get_uint64 (value));
+@@ -239,7 +244,7 @@ polkit_unix_process_class_init (PolkitUnixProcessClass *klass)
+ g_param_spec_int ("uid",
+ "User ID",
+ "The UNIX user ID",
+- -1,
++ G_MININT,
+ G_MAXINT,
+ -1,
+ G_PARAM_CONSTRUCT |
+@@ -303,7 +308,6 @@ polkit_unix_process_set_uid (PolkitUnixProcess *process,
+ gint uid)
+ {
+ g_return_if_fail (POLKIT_IS_UNIX_PROCESS (process));
+- g_return_if_fail (uid >= -1);
+ process->uid = uid;
+ }
+
+diff --git a/src/polkit/polkitunixuser.c b/src/polkit/polkitunixuser.c
+index 8bfd3a1..234a697 100644
+--- a/src/polkit/polkitunixuser.c
++++ b/src/polkit/polkitunixuser.c
+@@ -72,6 +72,7 @@ G_DEFINE_TYPE_WITH_CODE (PolkitUnixUser, polkit_unix_user, G_TYPE_OBJECT,
+ static void
+ polkit_unix_user_init (PolkitUnixUser *unix_user)
+ {
++ unix_user->uid = -1; /* (uid_t) -1 is not a valid UID under Linux */
+ unix_user->name = NULL;
+ }
+
+@@ -112,11 +113,14 @@ polkit_unix_user_set_property (GObject *object,
+ GParamSpec *pspec)
+ {
+ PolkitUnixUser *unix_user = POLKIT_UNIX_USER (object);
++ gint val;
+
+ switch (prop_id)
+ {
+ case PROP_UID:
+- unix_user->uid = g_value_get_int (value);
++ val = g_value_get_int (value);
++ g_return_if_fail (val != -1);
++ unix_user->uid = val;
+ break;
+
+ default:
+@@ -144,9 +148,9 @@ polkit_unix_user_class_init (PolkitUnixUserClass *klass)
+ g_param_spec_int ("uid",
+ "User ID",
+ "The UNIX user ID",
+- 0,
++ G_MININT,
+ G_MAXINT,
+- 0,
++ -1,
+ G_PARAM_CONSTRUCT |
+ G_PARAM_READWRITE |
+ G_PARAM_STATIC_NAME |
+@@ -182,6 +186,7 @@ polkit_unix_user_set_uid (PolkitUnixUser *user,
+ gint uid)
+ {
+ g_return_if_fail (POLKIT_IS_UNIX_USER (user));
++ g_return_if_fail (uid != -1);
+ user->uid = uid;
+ }
+
+@@ -196,6 +201,8 @@ polkit_unix_user_set_uid (PolkitUnixUser *user,
+ PolkitIdentity *
+ polkit_unix_user_new (gint uid)
+ {
++ g_return_val_if_fail (uid != -1, NULL);
++
+ return POLKIT_IDENTITY (g_object_new (POLKIT_TYPE_UNIX_USER,
+ "uid", uid,
+ NULL));
+--
+2.22.0.vfs.1.1.57.gbaf16c8
diff --git a/meta-oe/recipes-extended/polkit/polkit/CVE-2018-19788_p2.patch b/meta-oe/recipes-extended/polkit/polkit/CVE-2018-19788_p2.patch
new file mode 100644
index 0000000000..097dfd921f
--- /dev/null
+++ b/meta-oe/recipes-extended/polkit/polkit/CVE-2018-19788_p2.patch
@@ -0,0 +1,153 @@
+From 17f18d9f81d99b014c680e7e50198d7f190b804e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
+Date: Mon, 3 Dec 2018 11:20:34 +0100
+Subject: [PATCH 2/3] tests: add tests for high uids
+
+CVE: CVE-2018-19788
+Upstream-Status: Backport
+[https://gitlab.freedesktop.org/polkit/polkit/commit/b534a10727455409acd54018a9c91000e7626126]
+
+Signed-off-by: Dan Tran <dantran@microsoft.com>
+---
+ test/data/etc/group | 1 +
+ test/data/etc/passwd | 2 +
+ .../etc/polkit-1/rules.d/10-testing.rules | 21 ++++++
+ .../test-polkitbackendjsauthority.c | 72 +++++++++++++++++++
+ 4 files changed, 96 insertions(+)
+
+diff --git a/test/data/etc/group b/test/data/etc/group
+index 12ef328..b9acab9 100644
+--- a/test/data/etc/group
++++ b/test/data/etc/group
+@@ -5,3 +5,4 @@ john:x:500:
+ jane:x:501:
+ sally:x:502:
+ henry:x:503:
++highuid2:x:4000000000:
+diff --git a/test/data/etc/passwd b/test/data/etc/passwd
+index 8544feb..5cf14a5 100644
+--- a/test/data/etc/passwd
++++ b/test/data/etc/passwd
+@@ -3,3 +3,5 @@ john:x:500:500:John Done:/home/john:/bin/bash
+ jane:x:501:501:Jane Smith:/home/jane:/bin/bash
+ sally:x:502:502:Sally Derp:/home/sally:/bin/bash
+ henry:x:503:503:Henry Herp:/home/henry:/bin/bash
++highuid1:x:2147483648:2147483648:The first high uid:/home/highuid1:/sbin/nologin
++highuid2:x:4000000000:4000000000:An example high uid:/home/example:/sbin/nologin
+diff --git a/test/data/etc/polkit-1/rules.d/10-testing.rules b/test/data/etc/polkit-1/rules.d/10-testing.rules
+index 446e622..98bf062 100644
+--- a/test/data/etc/polkit-1/rules.d/10-testing.rules
++++ b/test/data/etc/polkit-1/rules.d/10-testing.rules
+@@ -53,6 +53,27 @@ polkit.addRule(function(action, subject) {
+ }
+ });
+
++polkit.addRule(function(action, subject) {
++ if (action.id == "net.company.john_action") {
++ if (subject.user == "john") {
++ return polkit.Result.YES;
++ } else {
++ return polkit.Result.NO;
++ }
++ }
++});
++
++polkit.addRule(function(action, subject) {
++ if (action.id == "net.company.highuid2_action") {
++ if (subject.user == "highuid2") {
++ return polkit.Result.YES;
++ } else {
++ return polkit.Result.NO;
++ }
++ }
++});
++
++
+ // ---------------------------------------------------------------------
+ // variables
+
+diff --git a/test/polkitbackend/test-polkitbackendjsauthority.c b/test/polkitbackend/test-polkitbackendjsauthority.c
+index b484a26..71aad23 100644
+--- a/test/polkitbackend/test-polkitbackendjsauthority.c
++++ b/test/polkitbackend/test-polkitbackendjsauthority.c
+@@ -330,6 +330,78 @@ static const RulesTestCase rules_test_cases[] = {
+ NULL,
+ POLKIT_IMPLICIT_AUTHORIZATION_AUTHORIZED,
+ },
++
++ {
++ /* highuid1 is not a member of group 'users', see test/data/etc/group */
++ "group_membership_with_non_member(highuid22)",
++ "net.company.group.only_group_users",
++ "unix-user:highuid2",
++ NULL,
++ POLKIT_IMPLICIT_AUTHORIZATION_NOT_AUTHORIZED,
++ },
++
++ {
++ /* highuid2 is not a member of group 'users', see test/data/etc/group */
++ "group_membership_with_non_member(highuid21)",
++ "net.company.group.only_group_users",
++ "unix-user:highuid2",
++ NULL,
++ POLKIT_IMPLICIT_AUTHORIZATION_NOT_AUTHORIZED,
++ },
++
++ {
++ /* highuid1 is not a member of group 'users', see test/data/etc/group */
++ "group_membership_with_non_member(highuid24)",
++ "net.company.group.only_group_users",
++ "unix-user:2147483648",
++ NULL,
++ POLKIT_IMPLICIT_AUTHORIZATION_NOT_AUTHORIZED,
++ },
++
++ {
++ /* highuid2 is not a member of group 'users', see test/data/etc/group */
++ "group_membership_with_non_member(highuid23)",
++ "net.company.group.only_group_users",
++ "unix-user:4000000000",
++ NULL,
++ POLKIT_IMPLICIT_AUTHORIZATION_NOT_AUTHORIZED,
++ },
++
++ {
++ /* john is authorized to do this, see 10-testing.rules */
++ "john_action",
++ "net.company.john_action",
++ "unix-user:john",
++ NULL,
++ POLKIT_IMPLICIT_AUTHORIZATION_AUTHORIZED,
++ },
++
++ {
++ /* only john is authorized to do this, see 10-testing.rules */
++ "jane_action",
++ "net.company.john_action",
++ "unix-user:jane",
++ NULL,
++ POLKIT_IMPLICIT_AUTHORIZATION_NOT_AUTHORIZED,
++ },
++
++ {
++ /* highuid2 is authorized to do this, see 10-testing.rules */
++ "highuid2_action",
++ "net.company.highuid2_action",
++ "unix-user:highuid2",
++ NULL,
++ POLKIT_IMPLICIT_AUTHORIZATION_AUTHORIZED,
++ },
++
++ {
++ /* only highuid2 is authorized to do this, see 10-testing.rules */
++ "highuid1_action",
++ "net.company.highuid2_action",
++ "unix-user:highuid1",
++ NULL,
++ POLKIT_IMPLICIT_AUTHORIZATION_NOT_AUTHORIZED,
++ },
+ };
+
+ /* ---------------------------------------------------------------------------------------------------- */
+--
+2.22.0.vfs.1.1.57.gbaf16c8
diff --git a/meta-oe/recipes-extended/polkit/polkit/CVE-2018-19788_p3.patch b/meta-oe/recipes-extended/polkit/polkit/CVE-2018-19788_p3.patch
new file mode 100644
index 0000000000..b97a6b06db
--- /dev/null
+++ b/meta-oe/recipes-extended/polkit/polkit/CVE-2018-19788_p3.patch
@@ -0,0 +1,53 @@
+From 0fd5884a943a92aa076fa3276bd83f502dcb934e Mon Sep 17 00:00:00 2001
+From: Matthew Leeds <matthew.leeds@endlessm.com>
+Date: Tue, 11 Dec 2018 12:04:26 -0800
+Subject: [PATCH 3/3] Allow uid of -1 for a PolkitUnixProcess
+
+Commit 2cb40c4d5 changed PolkitUnixUser, PolkitUnixGroup, and
+PolkitUnixProcess to allow negative values for their uid/gid properties,
+since these are values above INT_MAX which wrap around but are still
+valid, with the exception of -1 which is not valid. However,
+PolkitUnixProcess allows a uid of -1 to be passed to
+polkit_unix_process_new_for_owner() which means polkit is expected to
+figure out the uid on its own (this happens in the _constructed
+function). So this commit removes the check in
+polkit_unix_process_set_property() so that new_for_owner() can be used
+as documented without producing a critical error message.
+
+This does not affect the protection against CVE-2018-19788 which is
+based on creating a user with a UID up to but not including 4294967295
+(-1).
+
+CVE: CVE-2018-19788
+Upstream-Status: Backport
+[https://gitlab.freedesktop.org/polkit/polkit/commit/c05472b86222a72505adc5eec460493980224ef8]
+
+Signed-off-by: Dan Tran <dantran@microsoft.com>
+---
+ src/polkit/polkitunixprocess.c | 9 ++-------
+ 1 file changed, 2 insertions(+), 7 deletions(-)
+
+diff --git a/src/polkit/polkitunixprocess.c b/src/polkit/polkitunixprocess.c
+index b02b258..e2a3c03 100644
+--- a/src/polkit/polkitunixprocess.c
++++ b/src/polkit/polkitunixprocess.c
+@@ -159,14 +159,9 @@ polkit_unix_process_set_property (GObject *object,
+ polkit_unix_process_set_pid (unix_process, g_value_get_int (value));
+ break;
+
+- case PROP_UID: {
+- gint val;
+-
+- val = g_value_get_int (value);
+- g_return_if_fail (val != -1);
+- polkit_unix_process_set_uid (unix_process, val);
++ case PROP_UID:
++ polkit_unix_process_set_uid (unix_process, g_value_get_int (value));
+ break;
+- }
+
+ case PROP_START_TIME:
+ polkit_unix_process_set_start_time (unix_process, g_value_get_uint64 (value));
+--
+2.22.0.vfs.1.1.57.gbaf16c8
+
diff --git a/meta-oe/recipes-extended/polkit/polkit/CVE-2019-6133.patch b/meta-oe/recipes-extended/polkit/polkit/CVE-2019-6133.patch
new file mode 100644
index 0000000000..6fd20dc75e
--- /dev/null
+++ b/meta-oe/recipes-extended/polkit/polkit/CVE-2019-6133.patch
@@ -0,0 +1,190 @@
+From 6cc6aafee135ba44ea748250d7d29b562ca190e3 Mon Sep 17 00:00:00 2001
+From: Colin Walters <walters@verbum.org>
+Date: Fri, 4 Jan 2019 14:24:48 -0500
+Subject: [PATCH] backend: Compare PolkitUnixProcess uids for temporary
+ authorizations
+
+It turns out that the combination of `(pid, start time)` is not
+enough to be unique. For temporary authorizations, we can avoid
+separate users racing on pid reuse by simply comparing the uid.
+
+https://bugs.chromium.org/p/project-zero/issues/detail?id=1692
+
+And the above original email report is included in full in a new comment.
+
+Reported-by: Jann Horn <jannh@google.com>
+
+Closes: https://gitlab.freedesktop.org/polkit/polkit/issues/75
+
+CVE: CVE-2019-6133
+Upstream-Status: Backport [https://gitlab.freedesktop.org/polkit/polkit.git]
+
+Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
+---
+ src/polkit/polkitsubject.c | 2 +
+ src/polkit/polkitunixprocess.c | 71 ++++++++++++++++++-
+ .../polkitbackendinteractiveauthority.c | 39 +++++++++-
+ 3 files changed, 110 insertions(+), 2 deletions(-)
+
+diff --git a/src/polkit/polkitsubject.c b/src/polkit/polkitsubject.c
+index d4c1182..ccabd0a 100644
+--- a/src/polkit/polkitsubject.c
++++ b/src/polkit/polkitsubject.c
+@@ -99,6 +99,8 @@ polkit_subject_hash (PolkitSubject *subject)
+ * @b: A #PolkitSubject.
+ *
+ * Checks if @a and @b are equal, ie. represent the same subject.
++ * However, avoid calling polkit_subject_equal() to compare two processes;
++ * for more information see the `PolkitUnixProcess` documentation.
+ *
+ * This function can be used in e.g. g_hash_table_new().
+ *
+diff --git a/src/polkit/polkitunixprocess.c b/src/polkit/polkitunixprocess.c
+index b02b258..78d7251 100644
+--- a/src/polkit/polkitunixprocess.c
++++ b/src/polkit/polkitunixprocess.c
+@@ -51,7 +51,10 @@
+ * @title: PolkitUnixProcess
+ * @short_description: Unix processs
+ *
+- * An object for representing a UNIX process.
++ * An object for representing a UNIX process. NOTE: This object as
++ * designed is now known broken; a mechanism to exploit a delay in
++ * start time in the Linux kernel was identified. Avoid
++ * calling polkit_subject_equal() to compare two processes.
+ *
+ * To uniquely identify processes, both the process id and the start
+ * time of the process (a monotonic increasing value representing the
+@@ -66,6 +69,72 @@
+ * polkit_unix_process_new_for_owner() with trusted data.
+ */
+
++/* See https://gitlab.freedesktop.org/polkit/polkit/issues/75
++
++ But quoting the original email in full here to ensure it's preserved:
++
++ From: Jann Horn <jannh@google.com>
++ Subject: [SECURITY] polkit: temporary auth hijacking via PID reuse and non-atomic fork
++ Date: Wednesday, October 10, 2018 5:34 PM
++
++When a (non-root) user attempts to e.g. control systemd units in the system
++instance from an active session over DBus, the access is gated by a polkit
++policy that requires "auth_admin_keep" auth. This results in an auth prompt
++being shown to the user, asking the user to confirm the action by entering the
++password of an administrator account.
++
++After the action has been confirmed, the auth decision for "auth_admin_keep" is
++cached for up to five minutes. Subject to some restrictions, similar actions can
++then be performed in this timespan without requiring re-auth:
++
++ - The PID of the DBus client requesting the new action must match the PID of
++ the DBus client requesting the old action (based on SO_PEERCRED information
++ forwarded by the DBus daemon).
++ - The "start time" of the client's PID (as seen in /proc/$pid/stat, field 22)
++ must not have changed. The granularity of this timestamp is in the
++ millisecond range.
++ - polkit polls every two seconds whether a process with the expected start time
++ still exists. If not, the temporary auth entry is purged.
++
++Without the start time check, this would obviously be buggy because an attacker
++could simply wait for the legitimate client to disappear, then create a new
++client with the same PID.
++
++Unfortunately, the start time check is bypassable because fork() is not atomic.
++Looking at the source code of copy_process() in the kernel:
++
++ p->start_time = ktime_get_ns();
++ p->real_start_time = ktime_get_boot_ns();
++ [...]
++ retval = copy_thread_tls(clone_flags, stack_start, stack_size, p, tls);
++ if (retval)
++ goto bad_fork_cleanup_io;
++
++ if (pid != &init_struct_pid) {
++ pid = alloc_pid(p->nsproxy->pid_ns_for_children);
++ if (IS_ERR(pid)) {
++ retval = PTR_ERR(pid);
++ goto bad_fork_cleanup_thread;
++ }
++ }
++
++The ktime_get_boot_ns() call is where the "start time" of the process is
++recorded. The alloc_pid() call is where a free PID is allocated. In between
++these, some time passes; and because the copy_thread_tls() call between them can
++access userspace memory when sys_clone() is invoked through the 32-bit syscall
++entry point, an attacker can even stall the kernel arbitrarily long at this
++point (by supplying a pointer into userspace memory that is associated with a
++userfaultfd or is backed by a custom FUSE filesystem).
++
++This means that an attacker can immediately call sys_clone() when the victim
++process is created, often resulting in a process that has the exact same start
++time reported in procfs; and then the attacker can delay the alloc_pid() call
++until after the victim process has died and the PID assignment has cycled
++around. This results in an attacker process that polkit can't distinguish from
++the victim process.
++*/
++
++
+ /**
+ * PolkitUnixProcess:
+ *
+diff --git a/src/polkitbackend/polkitbackendinteractiveauthority.c b/src/polkitbackend/polkitbackendinteractiveauthority.c
+index a1630b9..80e8141 100644
+--- a/src/polkitbackend/polkitbackendinteractiveauthority.c
++++ b/src/polkitbackend/polkitbackendinteractiveauthority.c
+@@ -3031,6 +3031,43 @@ temporary_authorization_store_free (TemporaryAuthorizationStore *store)
+ g_free (store);
+ }
+
++/* See the comment at the top of polkitunixprocess.c */
++static gboolean
++subject_equal_for_authz (PolkitSubject *a,
++ PolkitSubject *b)
++{
++ if (!polkit_subject_equal (a, b))
++ return FALSE;
++
++ /* Now special case unix processes, as we want to protect against
++ * pid reuse by including the UID.
++ */
++ if (POLKIT_IS_UNIX_PROCESS (a) && POLKIT_IS_UNIX_PROCESS (b)) {
++ PolkitUnixProcess *ap = (PolkitUnixProcess*)a;
++ int uid_a = polkit_unix_process_get_uid ((PolkitUnixProcess*)a);
++ PolkitUnixProcess *bp = (PolkitUnixProcess*)b;
++ int uid_b = polkit_unix_process_get_uid ((PolkitUnixProcess*)b);
++
++ if (uid_a != -1 && uid_b != -1)
++ {
++ if (uid_a == uid_b)
++ {
++ return TRUE;
++ }
++ else
++ {
++ g_printerr ("denying slowfork; pid %d uid %d != %d!\n",
++ polkit_unix_process_get_pid (ap),
++ uid_a, uid_b);
++ return FALSE;
++ }
++ }
++ /* Fall through; one of the uids is unset so we can't reliably compare */
++ }
++
++ return TRUE;
++}
++
+ static gboolean
+ temporary_authorization_store_has_authorization (TemporaryAuthorizationStore *store,
+ PolkitSubject *subject,
+@@ -3073,7 +3110,7 @@ temporary_authorization_store_has_authorization (TemporaryAuthorizationStore *st
+ TemporaryAuthorization *authorization = l->data;
+
+ if (strcmp (action_id, authorization->action_id) == 0 &&
+- polkit_subject_equal (subject_to_use, authorization->subject))
++ subject_equal_for_authz (subject_to_use, authorization->subject))
+ {
+ ret = TRUE;
+ if (out_tmp_authz_id != NULL)
+--
+2.20.1
+
diff --git a/meta-oe/recipes-extended/polkit/polkit_0.115.bb b/meta-oe/recipes-extended/polkit/polkit_0.115.bb
index ad0f66a5e1..1587cc0ecb 100644
--- a/meta-oe/recipes-extended/polkit/polkit_0.115.bb
+++ b/meta-oe/recipes-extended/polkit/polkit_0.115.bb
@@ -23,6 +23,10 @@ PAM_SRC_URI = "file://polkit-1_pam.patch"
SRC_URI = "http://www.freedesktop.org/software/polkit/releases/polkit-${PV}.tar.gz \
file://0001-make-netgroup-support-configurable.patch \
${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
+ file://CVE-2019-6133.patch \
+ file://CVE-2018-19788_p1.patch \
+ file://CVE-2018-19788_p2.patch \
+ file://CVE-2018-19788_p3.patch \
"
SRC_URI[md5sum] = "f03b055d6ae5fc8eac76838c7d83d082"
SRC_URI[sha256sum] = "2f87ecdabfbd415c6306673ceadc59846f059b18ef2fce42bac63fe283f12131"
diff --git a/meta-oe/recipes-extended/redis/redis/Fixed-stack-trace-generation-on-aarch64.patch b/meta-oe/recipes-extended/redis/redis/Fixed-stack-trace-generation-on-aarch64.patch
new file mode 100644
index 0000000000..82ca307391
--- /dev/null
+++ b/meta-oe/recipes-extended/redis/redis/Fixed-stack-trace-generation-on-aarch64.patch
@@ -0,0 +1,45 @@
+From c8ca71d40bc51e255457cd4374dd45ec9ebf8ae1 Mon Sep 17 00:00:00 2001
+From: Jun He <jun.he@arm.com>
+Date: Mon, 3 Jul 2017 07:18:32 +0000
+Subject: [PATCH] Fixed stack trace generation on aarch64
+
+Change-Id: I9801239c98cb7362ed07e8b9ec2ba7e45749dba7
+Signed-off-by: Jun He <jun.he@arm.com>
+
+* fixes also this error when building with -Werror=return-type:
+ debug.c:698:1: error: no return statement in function returning non-void [-Werror=return-type]
+
+Upstream-Status: Backport [https://github.com/antirez/redis/commit/c8ca71d40bc51e255457cd4374dd45ec9ebf8ae1]
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ src/Makefile | 2 +-
+ src/debug.c | 2 ++
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index 24e960593eb..a1ff4258a9d 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -40,7 +40,7 @@
+ endif
+
+ # To get ARM stack traces if Redis crashes we need a special C flag.
+-ifneq (,$(findstring armv,$(uname_M)))
++ifneq (,$(filter aarch64 armv,$(uname_M)))
+ CFLAGS+=-funwind-tables
+ endif
+
+diff --git a/src/debug.c b/src/debug.c
+index a4caa49f285..c976d0ed919 100644
+--- a/src/debug.c
++++ b/src/debug.c
+@@ -691,6 +691,8 @@
+ return (void*) uc->uc_mcontext.sc_ip;
+ #elif defined(__arm__) /* Linux ARM */
+ return (void*) uc->uc_mcontext.arm_pc;
++ #elif defined(__aarch64__) /* Linux AArch64 */
++ return (void*) uc->uc_mcontext.pc;
+ #endif
+ #else
+ return NULL;
diff --git a/meta-oe/recipes-extended/redis/redis_4.0.8.bb b/meta-oe/recipes-extended/redis/redis_4.0.8.bb
index 80d36d2ba1..d69295f049 100644
--- a/meta-oe/recipes-extended/redis/redis_4.0.8.bb
+++ b/meta-oe/recipes-extended/redis/redis_4.0.8.bb
@@ -10,6 +10,7 @@ SRC_URI = "http://download.redis.io/releases/${BP}.tar.gz \
file://hiredis-use-default-CC-if-it-is-set.patch \
file://lua-update-Makefile-to-use-environment-build-setting.patch \
file://oe-use-libc-malloc.patch \
+ file://Fixed-stack-trace-generation-on-aarch64.patch \
file://redis.conf \
file://init-redis-server \
file://redis.service \
diff --git a/meta-oe/recipes-extended/sedutil/files/0001-Fix-build-on-big-endian-architectures.patch b/meta-oe/recipes-extended/sedutil/files/0001-Fix-build-on-big-endian-architectures.patch
new file mode 100644
index 0000000000..7351197e4f
--- /dev/null
+++ b/meta-oe/recipes-extended/sedutil/files/0001-Fix-build-on-big-endian-architectures.patch
@@ -0,0 +1,41 @@
+From ff98a326d5faa585f0e15e51a558cc2c49aa8099 Mon Sep 17 00:00:00 2001
+From: Primoz Fiser <primoz.fiser@norik.com>
+Date: Fri, 23 Nov 2018 08:31:29 +0100
+Subject: [PATCH] Fix build on big endian architectures
+
+Signed-off-by: Primoz Fiser <primoz.fiser@norik.com>
+---
+ Common/DtaEndianFixup.h | 13 +++++++------
+ 1 file changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/Common/DtaEndianFixup.h b/Common/DtaEndianFixup.h
+index 58eb3ff..184fce0 100644
+--- a/Common/DtaEndianFixup.h
++++ b/Common/DtaEndianFixup.h
+@@ -31,12 +31,11 @@ along with sedutil. If not, see <http://www.gnu.org/licenses/>.
+ //TODO: add a test on the endianess of the system and define
+ // empty macros if the system is big endian
+ #pragma once
+-#ifdef __gnu_linux__
+-#include <endian.h>
+-#if __BYTE_ORDER != __LITTLE_ENDIAN
+-#error This code does not support big endian architectures
+-#endif
+-#endif
++#if defined(__BYTE_ORDER__)&&(__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
++#define SWAP16(x) x
++#define SWAP32(x) x
++#define SWAP64(x) x
++#else
+ /** change the "endianess" of a 16bit field */
+ #define SWAP16(x) ((uint16_t) ((x & 0x00ff) << 8) | ((x & 0xff00) >> 8))
+ /** change the "endianess" of a 32bit field */
+@@ -47,3 +46,5 @@ along with sedutil. If not, see <http://www.gnu.org/licenses/>.
+ ((uint64_t) (SWAP32((x & 0x00000000ffffffff)) << 32) | \
+ ((uint64_t) (SWAP32((x >> 32))) ) \
+ )
++
++#endif
+--
+2.7.4
+
diff --git a/meta-oe/recipes-extended/sedutil/sedutil_git.bb b/meta-oe/recipes-extended/sedutil/sedutil_git.bb
index cec569f624..765618433b 100644
--- a/meta-oe/recipes-extended/sedutil/sedutil_git.bb
+++ b/meta-oe/recipes-extended/sedutil/sedutil_git.bb
@@ -10,7 +10,9 @@ LIC_FILES_CHKSUM = "file://Common/LICENSE.txt;md5=d32239bcb673463ab874e80d47fae5
BASEPV = "1.15.1"
PV = "${BASEPV}+git${SRCPV}"
SRCREV = "358cc758948be788284d5faba46ccf4cc1813796"
-SRC_URI = "git://github.com/Drive-Trust-Alliance/sedutil.git"
+SRC_URI = "git://github.com/Drive-Trust-Alliance/sedutil.git \
+ file://0001-Fix-build-on-big-endian-architectures.patch \
+"
S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-graphics/xscreensaver/xscreensaver_5.39.bb b/meta-oe/recipes-graphics/xscreensaver/xscreensaver_5.39.bb
index 6ebf3c798c..3a88f12ec8 100644
--- a/meta-oe/recipes-graphics/xscreensaver/xscreensaver_5.39.bb
+++ b/meta-oe/recipes-graphics/xscreensaver/xscreensaver_5.39.bb
@@ -19,6 +19,8 @@ RDEPENDS_${PN} += "xserver-nodm-init liberation-fonts"
inherit systemd perlnative pkgconfig gettext autotools-brokensep distro_features_check
+EXTRA_OECONF += "--with-x-app-defaults=${datadir}/X11/app-defaults"
+
REQUIRED_DISTRO_FEATURES = "x11"
do_install_append() {
@@ -27,3 +29,5 @@ do_install_append() {
FILES_${PN} += "${datadir}/X11/app-defaults/XScreenSaver"
SYSTEMD_SERVICE_${PN} = "xscreensaver.service"
+
+CLEANBROKEN = "1"
diff --git a/meta-oe/recipes-kernel/bpftool/bpftool.bb b/meta-oe/recipes-kernel/bpftool/bpftool.bb
index fd0653ab87..dd7eaa2aa6 100644
--- a/meta-oe/recipes-kernel/bpftool/bpftool.bb
+++ b/meta-oe/recipes-kernel/bpftool/bpftool.bb
@@ -14,6 +14,8 @@ EXTRA_OEMAKE = "-C ${S}/tools/bpf/bpftool O=${B} CROSS=${TARGET_PREFIX} CC="${CC
do_configure[depends] += "virtual/kernel:do_shared_workdir"
+COMPATIBLE_HOST_libc-musl = 'null'
+
do_compile() {
oe_runmake
}
diff --git a/meta-oe/recipes-kernel/cpupower/cpupower.bb b/meta-oe/recipes-kernel/cpupower/cpupower.bb
index 4544f5b2ef..dd4650363d 100644
--- a/meta-oe/recipes-kernel/cpupower/cpupower.bb
+++ b/meta-oe/recipes-kernel/cpupower/cpupower.bb
@@ -2,7 +2,6 @@ SUMMARY = "Shows and sets processor power related values"
DESCRIPTION = "cpupower is a collection of tools to examine and tune power \
saving related features of your processor."
LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
DEPENDS = "pciutils gettext-native"
PROVIDES = "virtual/cpupower"
diff --git a/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.4.bb b/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.4.bb
index 629e2518f4..33194b8504 100644
--- a/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.4.bb
+++ b/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.4.bb
@@ -13,9 +13,9 @@ LICENSE = "GPLv2.0"
DEPENDS = "bzip2 zlib elfutils"
RDEPENDS_${PN}-tools = "perl ${PN}"
-# arm would compile but has never been tested upstream. mips would not compile.
+# arm and aarch64 would compile but has never been tested upstream. mips would not compile.
#
-COMPATIBLE_HOST = "(x86_64|i.86|powerpc|arm).*-linux"
+COMPATIBLE_HOST = "(x86_64|i.86|powerpc|arm|aarch64).*-linux"
PACKAGES =+ "${PN}-tools"
FILES_${PN}-tools = "${bindir}/*.pl"
diff --git a/meta-oe/recipes-multimedia/jack/a2jmidid_8.bb b/meta-oe/recipes-multimedia/jack/a2jmidid_8.bb
index 59b73f8e8b..7dcaaf6828 100644
--- a/meta-oe/recipes-multimedia/jack/a2jmidid_8.bb
+++ b/meta-oe/recipes-multimedia/jack/a2jmidid_8.bb
@@ -23,4 +23,9 @@ LDFLAGS_append_libc-musl = " -lexecinfo"
export LINKFLAGS="${LDFLAGS}"
+do_configure() {
+ sed -i 's|/usr/bin/.*python$|/usr/bin/env python2|' ${S}/a2j_control ${S}/waf ${S}/wscript
+ (cd ${B} && ${S}/waf configure --prefix=${prefix} ${WAF_EXTRA_CONF} ${EXTRA_OECONF})
+}
+
FILES_${PN} += "${datadir}/dbus-1/services"
diff --git a/meta-oe/recipes-multimedia/mplayer/mpv_0.26.0.bb b/meta-oe/recipes-multimedia/mplayer/mpv_0.26.0.bb
index c2e8e3d574..6586e352ea 100644
--- a/meta-oe/recipes-multimedia/mplayer/mpv_0.26.0.bb
+++ b/meta-oe/recipes-multimedia/mplayer/mpv_0.26.0.bb
@@ -25,9 +25,12 @@ SRC_URI[waf.sha256sum] = "01bf2beab2106d1558800c8709bc2c8e496d3da4a2ca343fe091f2
inherit waf pkgconfig pythonnative distro_features_check
+LUA ?= "lua"
+LUA_mips64 = ""
+LUA_aarch64 = ""
# Note: both lua and libass are required to get on-screen-display (controls)
PACKAGECONFIG ??= " \
- lua \
+ ${LUA} \
libass \
${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)} \
"
diff --git a/meta-oe/recipes-security/nmap/files/0001-include-time.h-for-time-structure-definition.patch b/meta-oe/recipes-security/nmap/files/0001-include-time.h-for-time-structure-definition.patch
new file mode 100644
index 0000000000..561c8c82cf
--- /dev/null
+++ b/meta-oe/recipes-security/nmap/files/0001-include-time.h-for-time-structure-definition.patch
@@ -0,0 +1,78 @@
+From c774f2b129fd5acd5647d92c57a2079ae638a62b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 20 Jan 2019 23:07:39 -0800
+Subject: [PATCH] include time.h for time structure definition
+
+Exposed by musl/clang
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ nmap_error.cc | 1 +
+ nping/EchoServer.cc | 1 +
+ osscan.cc | 1 +
+ osscan2.cc | 1 +
+ service_scan.cc | 1 +
+ 5 files changed, 5 insertions(+)
+
+diff --git a/nmap_error.cc b/nmap_error.cc
+index 19beafb..ea14e08 100644
+--- a/nmap_error.cc
++++ b/nmap_error.cc
+@@ -135,6 +135,7 @@
+ #include "xml.h"
+
+ #include <errno.h>
++#include <time.h>
+
+ extern NmapOps o;
+
+diff --git a/nping/EchoServer.cc b/nping/EchoServer.cc
+index 70f39b0..40cd4d6 100644
+--- a/nping/EchoServer.cc
++++ b/nping/EchoServer.cc
+@@ -137,6 +137,7 @@
+ #include "NpingOps.h"
+ #include "ProbeMode.h"
+ #include <signal.h>
++#include <time.h>
+
+ extern NpingOps o;
+ extern EchoServer es;
+diff --git a/osscan.cc b/osscan.cc
+index f851f60..6ae0c83 100644
+--- a/osscan.cc
++++ b/osscan.cc
+@@ -149,6 +149,7 @@
+ # include <time.h>
+ # endif
+ #endif
++#include <time.h>
+
+ #include <algorithm>
+ #include <list>
+diff --git a/osscan2.cc b/osscan2.cc
+index e341947..887fbd2 100644
+--- a/osscan2.cc
++++ b/osscan2.cc
+@@ -147,6 +147,7 @@
+
+ #include <list>
+ #include <math.h>
++#include <time.h>
+
+ extern NmapOps o;
+ #ifdef WIN32
+diff --git a/service_scan.cc b/service_scan.cc
+index 9780ae3..e07b940 100644
+--- a/service_scan.cc
++++ b/service_scan.cc
+@@ -145,6 +145,7 @@
+ #include "nmap_tty.h"
+
+ #include <errno.h>
++#include <time.h>
+
+ #if HAVE_OPENSSL
+ /* OpenSSL 1.0.0 needs _WINSOCKAPI_ to be defined, otherwise it loads
diff --git a/meta-oe/recipes-security/nmap/files/0002-Fix-building-with-libc.patch b/meta-oe/recipes-security/nmap/files/0002-Fix-building-with-libc.patch
new file mode 100644
index 0000000000..064be8ff85
--- /dev/null
+++ b/meta-oe/recipes-security/nmap/files/0002-Fix-building-with-libc.patch
@@ -0,0 +1,76 @@
+From 2a361989b5f84ec23ba7ccb6e527a5590ff55deb Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 20 Jan 2019 23:11:56 -0800
+Subject: [PATCH] Fix building with libc++
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ nping/EchoServer.cc | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/nping/EchoServer.cc b/nping/EchoServer.cc
+index 40cd4d6..04433e1 100644
+--- a/nping/EchoServer.cc
++++ b/nping/EchoServer.cc
+@@ -282,14 +282,14 @@ int EchoServer::nep_listen_socket(){
+ server_addr6.sin6_len = sizeof(struct sockaddr_in6);
+ #endif
+ /* Bind to local address and the specified port */
+- if( bind(master_sd, (struct sockaddr *)&server_addr6, sizeof(server_addr6)) != 0 ){
++ if( ::bind(master_sd, (struct sockaddr *)&server_addr6, sizeof(server_addr6)) != 0 ){
+ nping_warning(QT_3, "Failed to bind to source address %s. Trying to bind to port %d...", IPtoa(server_addr6.sin6_addr), port);
+ /* If the bind failed for the supplied address, just try again with in6addr_any */
+ if( o.spoofSource() ){
+ server_addr6.sin6_addr = in6addr_any;
+- if( bind(master_sd, (struct sockaddr *)&server_addr6, sizeof(server_addr6)) != 0 ){
++ if( ::bind(master_sd, (struct sockaddr *)&server_addr6, sizeof(server_addr6)) != 0 ){
+ nping_fatal(QT_3, "Could not bind to port %d (%s).", port, strerror(errno));
+- }else{
++ }else{
+ nping_print(VB_1, "Server bound to port %d", port);
+ }
+ }
+@@ -320,12 +320,12 @@ int EchoServer::nep_listen_socket(){
+ #endif
+
+ /* Bind to local address and the specified port */
+- if( bind(master_sd, (struct sockaddr *)&server_addr4, sizeof(server_addr4)) != 0 ){
++ if( ::bind(master_sd, (struct sockaddr *)&server_addr4, sizeof(server_addr4)) != 0 ){
+ nping_warning(QT_3, "Failed to bind to source address %s. Trying to bind to port %d...", IPtoa(server_addr4.sin_addr), port);
+ /* If the bind failed for the supplied address, just try again with in6addr_any */
+ if( o.spoofSource() ){
+ server_addr4.sin_addr.s_addr=INADDR_ANY;
+- if( bind(master_sd, (struct sockaddr *)&server_addr4, sizeof(server_addr4)) != 0 ){
++ if( ::bind(master_sd, (struct sockaddr *)&server_addr4, sizeof(server_addr4)) != 0 ){
+ nping_fatal(QT_3, "Could not bind to port %d (%s).", port, strerror(errno));
+ }else{
+ nping_print(VB_1, "Server bound to port %d", port);
+@@ -561,7 +561,7 @@ clientid_t EchoServer::nep_match_headers(IPv4Header *ip4, IPv6Header *ip6, TCPHe
+ nping_print(DBG_3, ";");
+ /* The payload magic may affect the score only between
+ * zero and 4 bytes. This is done to prevent long
+- * common strings like "GET / HTTP/1.1\r\n"
++ * common strings like "GET / HTTP/1.1\r\n"
+ * increasing the score a lot and cause problems for
+ * the matching logic. */
+ current_score+= MIN(4, fspec->len)*FACTOR_PAYLOAD_MAGIC;
+@@ -571,7 +571,7 @@ clientid_t EchoServer::nep_match_headers(IPv4Header *ip4, IPv6Header *ip6, TCPHe
+ default:
+ nping_warning(QT_2, "Bogus field specifier found in client #%d context. Please report a bug", ctx->getIdentifier());
+ break;
+- }
++ }
+ } /* End of field specifiers loop */
+
+ nping_print(DBG_3, "%s() current_score=%.02f candidate_score=%.02f", __func__, current_score, candidate_score);
+@@ -650,7 +650,7 @@ clientid_t EchoServer::nep_match_packet(const u8 *pkt, size_t pktlen){
+ }else{
+ if( (tcplen=tcp.validate())==OP_FAILURE){
+ return CLIENT_NOT_FOUND;
+- }else{
++ }else{
+ if( (int)pktlen > (iplen+tcplen) ){
+ if( payload.storeRecvData(pkt+iplen+tcplen, pktlen-iplen-tcplen)!=OP_FAILURE)
+ payload_included=true;
diff --git a/meta-oe/recipes-security/nmap/nmap_7.70.bb b/meta-oe/recipes-security/nmap/nmap_7.70.bb
index 01be1515b7..e878038266 100644
--- a/meta-oe/recipes-security/nmap/nmap_7.70.bb
+++ b/meta-oe/recipes-security/nmap/nmap_7.70.bb
@@ -8,7 +8,9 @@ LIC_FILES_CHKSUM = "file://COPYING;beginline=7;endline=12;md5=1489288f46af415fad
SRC_URI = "http://nmap.org/dist/${BP}.tar.bz2 \
file://nmap-redefine-the-python-library-dir.patch \
file://nmap-replace-shtool-mkdir-with-coreutils-mkdir-command.patch \
-"
+ file://0001-include-time.h-for-time-structure-definition.patch \
+ file://0002-Fix-building-with-libc.patch \
+ "
SRC_URI[md5sum] = "84eb6fbe788e0d4918c2b1e39421bf79"
SRC_URI[sha256sum] = "847b068955f792f4cc247593aca6dc3dc4aae12976169873247488de147a6e18"
@@ -18,7 +20,7 @@ inherit autotools-brokensep pkgconfig pythonnative
PACKAGECONFIG ?= "ncat nping ndiff pcap"
PACKAGECONFIG[pcap] = "--with-pcap=linux, --without-pcap, libpcap, libpcap"
-PACKAGECONFIG[pcre] = "--with-libpcre=${STAGING_LIBDIR}/.., --with-libpcre=included, libpre"
+PACKAGECONFIG[pcre] = "--with-libpcre=${STAGING_LIBDIR}/.., --with-libpcre=included, libpcre"
PACKAGECONFIG[ssl] = "--with-openssl=${STAGING_LIBDIR}/.., --without-openssl, openssl, openssl"
PACKAGECONFIG[ssh2] = "--with-openssh2=${STAGING_LIBDIR}/.., --without-openssh2, libssh2, libssh2"
PACKAGECONFIG[libz] = "--with-libz=${STAGING_LIBDIR}/.., --without-libz, zlib, zlib"
@@ -43,6 +45,6 @@ do_configure() {
oe_runconf
}
-FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}"
+FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR} ${datadir}/ncat"
RDEPENDS_${PN} = "python"
diff --git a/meta-oe/recipes-support/ccid/ccid_1.4.24.bb b/meta-oe/recipes-support/ccid/ccid_1.4.24.bb
index 31145d0efd..92f43d86a4 100644
--- a/meta-oe/recipes-support/ccid/ccid_1.4.24.bb
+++ b/meta-oe/recipes-support/ccid/ccid_1.4.24.bb
@@ -1,12 +1,12 @@
SUMMARY = "Generic USB CCID smart card reader driver"
-HOMEPAGE = "http://pcsclite.alioth.debian.org/ccid.html"
+HOMEPAGE = "https://ccid.apdu.fr/"
LICENSE = "LGPLv2.1+"
LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
DEPENDS = "virtual/libusb0 pcsc-lite"
RDEPENDS_${PN} = "pcsc-lite"
-SRC_URI = "https://alioth.debian.org/frs/download.php/file/4171/ccid-${PV}.tar.bz2 \
+SRC_URI = "https://ccid.apdu.fr/files/ccid-${PV}.tar.bz2 \
file://no-dep-on-libfl.patch \
"
diff --git a/meta-oe/recipes-support/libgit2/libgit2_0.27.4.bb b/meta-oe/recipes-support/libgit2/libgit2_0.27.4.bb
index e7f7688922..816ae5e2ed 100644
--- a/meta-oe/recipes-support/libgit2/libgit2_0.27.4.bb
+++ b/meta-oe/recipes-support/libgit2/libgit2_0.27.4.bb
@@ -14,11 +14,12 @@ S = "${WORKDIR}/git"
inherit cmake
EXTRA_OECMAKE = "\
- -DTHREADSAFE=ON \
- -DBUILD_CLAR=OFF \
- -DSHA1_TYPE="builtin" \
- -DCMAKE_BUILD_TYPE=RelWithDebInfo \
- -DBUILD_EXAMPLES=OFF \
+ -DTHREADSAFE=ON \
+ -DBUILD_CLAR=OFF \
+ -DSHA1_TYPE="builtin" \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+ -DBUILD_EXAMPLES=OFF \
+ -DLIB_INSTALL_DIR=${libdir} \
"
BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.3.0.bb b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.3.0.bb
index 478d762cfb..2d7486da34 100644
--- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.3.0.bb
+++ b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.3.0.bb
@@ -22,22 +22,22 @@ LICENSE_modules/linux = "GPL-2.0"
LICENSE_modules/solaris = "CDDL-1.0"
SRC_URI = "git://github.com/vmware/open-vm-tools.git;protocol=https \
- file://tools.conf \
- file://vmtoolsd.service \
- file://vmtoolsd.init \
- file://0001-configure.ac-don-t-use-dnet-config.patch \
- file://0002-add-include-sys-sysmacros.h.patch \
- file://0005-Use-configure-test-for-struct-timespec.patch \
- file://0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch \
- file://0007-Use-configure-to-test-for-feature-instead-of-platfor.patch \
- file://0011-Use-configure-test-for-sys-stat.h-include.patch \
- file://fix-subdir-objects-configure-error.patch \
- file://0001-include-poll.h-instead-of-sys-poll.h.patch \
- file://0002-Rename-poll.h-to-vm_poll.h.patch \
- file://0003-use-posix-strerror_r-unless-on-gnu-libc-system.patch \
- file://0004-Use-uintmax_t-for-handling-rlim_t.patch \
- file://0001-Use-off64_t-instead-of-__off64_t.patch \
- "
+ file://tools.conf \
+ file://vmtoolsd.service \
+ file://vmtoolsd.init \
+ file://0001-configure.ac-don-t-use-dnet-config.patch \
+ file://0002-add-include-sys-sysmacros.h.patch \
+ file://0005-Use-configure-test-for-struct-timespec.patch \
+ file://0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch \
+ file://0007-Use-configure-to-test-for-feature-instead-of-platfor.patch \
+ file://0011-Use-configure-test-for-sys-stat.h-include.patch \
+ file://fix-subdir-objects-configure-error.patch \
+ file://0001-include-poll.h-instead-of-sys-poll.h.patch \
+ file://0002-Rename-poll.h-to-vm_poll.h.patch \
+ file://0003-use-posix-strerror_r-unless-on-gnu-libc-system.patch \
+ file://0004-Use-uintmax_t-for-handling-rlim_t.patch \
+ file://0001-Use-off64_t-instead-of-__off64_t.patch \
+"
SRCREV = "2147df6aabe639fc5ff423ed791a8e7f02bf8d0a"
S = "${WORKDIR}/git/open-vm-tools"
@@ -52,9 +52,9 @@ inherit autotools pkgconfig systemd update-rc.d
SYSTEMD_SERVICE_${PN} = "vmtoolsd.service"
EXTRA_OECONF = "--without-icu --disable-multimon --disable-docs \
- --disable-tests --without-gtkmm --without-xerces --without-pam \
- --disable-grabbitmqproxy --disable-vgauth --disable-deploypkg \
- --without-root-privileges --without-kernel-modules"
+ --disable-tests --without-gtkmm --without-xerces --without-pam \
+ --disable-grabbitmqproxy --disable-vgauth --disable-deploypkg \
+ --without-root-privileges --without-kernel-modules"
NO_X11_FLAGS = "--without-x --without-gtk2 --without-gtk3"
X11_DEPENDS = "libxext libxi libxrender libxrandr libxtst gtk+ gdk-pixbuf"
@@ -68,13 +68,9 @@ FILES_${PN} += "\
${libdir}/open-vm-tools/plugins/vmsvc/lib*.so \
${libdir}/open-vm-tools/plugins/common/lib*.so \
${sysconfdir}/vmware-tools/tools.conf \
- "
+"
FILES_${PN}-locale += "${datadir}/open-vm-tools/messages"
FILES_${PN}-dev += "${libdir}/open-vm-tools/plugins/common/lib*.la"
-FILES_${PN}-dbg += "\
- ${libdir}/open-vm-tools/plugins/common/.debug \
- ${libdir}/open-vm-tools/plugins/vmsvc/.debug \
- "
CONFFILES_${PN} += "${sysconfdir}/vmware-tools/tools.conf"
@@ -104,7 +100,6 @@ INITSCRIPT_PARAMS_${PN} = "start 90 2 3 4 5 . stop 60 0 1 6 ."
python() {
if 'networking-layer' not in d.getVar('BBFILE_COLLECTIONS').split() or \
- 'filesystems-layer' not in d.getVar('BBFILE_COLLECTIONS').split():
+ 'filesystems-layer' not in d.getVar('BBFILE_COLLECTIONS').split():
raise bb.parse.SkipRecipe('Requires meta-networking and meta-filesystems to be present.')
}
-
diff --git a/meta-oe/recipes-support/srecord/srecord_1.64.bb b/meta-oe/recipes-support/srecord/srecord_1.64.bb
index fe1af476f2..d3488df2cf 100644
--- a/meta-oe/recipes-support/srecord/srecord_1.64.bb
+++ b/meta-oe/recipes-support/srecord/srecord_1.64.bb
@@ -1,6 +1,6 @@
SUMMARY = "A collection of powerful tools for manipulating EPROM load files."
SECTION = "devel"
-LICENSE = "GPLv2"
+LICENSE = "GPLv3+ & LGPLv3+"
LIC_FILES_CHKSUM = "file://LICENSE;md5=8dfcbf2f0a144b97f0931b6394debea7"
SRC_URI = " \
diff --git a/meta-oe/recipes-support/vim/files/0001-src-Makefile-improve-reproducibility.patch b/meta-oe/recipes-support/vim/files/0001-src-Makefile-improve-reproducibility.patch
new file mode 100644
index 0000000000..63a7b78f12
--- /dev/null
+++ b/meta-oe/recipes-support/vim/files/0001-src-Makefile-improve-reproducibility.patch
@@ -0,0 +1,46 @@
+From 133ab27cdb17ca20ef6b0304cf30621d2bcbe757 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Thu, 31 Jan 2019 21:32:26 -0800
+Subject: [PATCH] src/Makefile: improve reproducibility
+
+Clear all_cflags, all_lflags, compiled_user
+and compiled_sys to avoid introducing build
+info to improve reproducibility as below:
+
+WARNING: vim-8.1.0347-r0 do_package_qa: QA Issue: File /work/core2-64-wrs-linux/vim/8.1.0347-r0/packages-split/vim/usr/bin/vim.vim in package contained reference to tmpdir [buildpaths]
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ src/Makefile | 14 ++++----------
+ 1 file changed, 4 insertions(+), 10 deletions(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index f2fafa4dc..7148d4bd9 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -2845,16 +2845,10 @@ auto/pathdef.c: Makefile auto/config.mk
+ -@echo '#include "vim.h"' >> $@
+ -@echo 'char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)";' | $(QUOTESED) >> $@
+ -@echo 'char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)";' | $(QUOTESED) >> $@
+- -@echo 'char_u *all_cflags = (char_u *)"$(CC) -c -I$(srcdir) $(ALL_CFLAGS)";' | $(QUOTESED) >> $@
+- -@echo 'char_u *all_lflags = (char_u *)"$(CC) $(ALL_LIB_DIRS) $(LDFLAGS) -o $(VIMTARGET) $(ALL_LIBS) ";' | $(QUOTESED) >> $@
+- -@echo 'char_u *compiled_user = (char_u *)"' | tr -d $(NL) >> $@
+- -@if test -n "$(COMPILEDBY)"; then \
+- echo "$(COMPILEDBY)" | tr -d $(NL) >> $@; \
+- else ((logname) 2>/dev/null || whoami) | tr -d $(NL) >> $@; fi
+- -@echo '";' >> $@
+- -@echo 'char_u *compiled_sys = (char_u *)"' | tr -d $(NL) >> $@
+- -@if test -z "$(COMPILEDBY)"; then hostname | tr -d $(NL) >> $@; fi
+- -@echo '";' >> $@
++ -@echo 'char_u *all_cflags = (char_u *)"";' | $(QUOTESED) >> $@
++ -@echo 'char_u *all_lflags = (char_u *)"";' | $(QUOTESED) >> $@
++ -@echo 'char_u *compiled_user = (char_u *)"";' >> $@
++ -@echo 'char_u *compiled_sys = (char_u *)"";' >> $@
+ -@sh $(srcdir)/pathdef.sh
+
+ GUI_GTK_RES_INPUTS = \
+--
+2.17.1
+
diff --git a/meta-oe/recipes-support/vim/vim_8.1.0347.bb b/meta-oe/recipes-support/vim/vim_8.1.0347.bb
index 46d229e03b..4de4d8e387 100644
--- a/meta-oe/recipes-support/vim/vim_8.1.0347.bb
+++ b/meta-oe/recipes-support/vim/vim_8.1.0347.bb
@@ -11,6 +11,7 @@ LIC_FILES_CHKSUM = "file://../runtime/doc/uganda.txt;endline=287;md5=f1f82b42360
SRC_URI = "git://github.com/vim/vim.git \
file://disable_acl_header_check.patch;patchdir=.. \
file://vim-add-knob-whether-elf.h-are-checked.patch;patchdir=.. \
+ file://0001-src-Makefile-improve-reproducibility.patch;patchdir=.. \
"
SRCREV = "f1c118be93184e8e57e3e80b1b3383f464ed649e"
diff --git a/meta-python/recipes-devtools/python/python3-multidict_3.3.2.bb b/meta-python/recipes-devtools/python/python3-multidict_3.3.2.bb
index 7f9cd55648..e65d7d4f29 100644
--- a/meta-python/recipes-devtools/python/python3-multidict_3.3.2.bb
+++ b/meta-python/recipes-devtools/python/python3-multidict_3.3.2.bb
@@ -7,3 +7,7 @@ inherit pypi setuptools3
SRC_URI[md5sum] = "06ca91d993de2d04c7ee6df0cbb44ea2"
SRC_URI[sha256sum] = "f82e61c7408ed0dce1862100db55595481911f159d6ddec0b375d35b6449509b"
+
+# Work-around for broken make clean. Note this is fixed in v4.0.0.
+# https://github.com/aio-libs/multidict/issues/194
+CLEANBROKEN = "1"
diff --git a/meta-python/recipes-devtools/python/python3-twofish/0001-Fix-missing-return-statements-in-module-stubs.patch b/meta-python/recipes-devtools/python/python3-twofish/0001-Fix-missing-return-statements-in-module-stubs.patch
new file mode 100644
index 0000000000..c25b2457e2
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python3-twofish/0001-Fix-missing-return-statements-in-module-stubs.patch
@@ -0,0 +1,38 @@
+From 5704610f4b3aed5210e9c5b7c05ff8b5b2364c9c Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Mon, 12 Aug 2019 08:18:21 +0000
+Subject: [PATCH] Fix missing return statements in module stubs
+
+* fixes build with -Werror=return-type
+ twofish.c: In function 'init_twofish':
+ twofish.c:45:1: error: control reaches end of non-void function [-Werror=return-type]
+ 45 | PyMODINIT_FUNC init_twofish(void) { }
+ | ^~~~~~~~~~~~~~
+ twofish.c: In function 'PyInit__twofish':
+ twofish.c:46:1: error: control reaches end of non-void function [-Werror=return-type]
+ 46 | PyMODINIT_FUNC PyInit__twofish(void) { }
+ | ^~~~~~~~~~~~~~
+ cc1: some warnings being treated as errors
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
+Upstream-Status: Submitted [https://github.com/keybase/python-twofish/pull/6]
+---
+ twofish.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/twofish.c b/twofish.c
+index e324c34..d4487d8 100644
+--- a/twofish.c
++++ b/twofish.c
+@@ -42,5 +42,5 @@ DL_EXPORT(void) exp_Twofish_decrypt(Twofish_key * xkey, uint8_t c[16], uint8_t p
+ We need a stub init_twofish function so the module will link as a proper module.
+ Do not import _twofish from python; it will not work since _twofish is not a *real* module
+ */
+-PyMODINIT_FUNC init_twofish(void) { }
+-PyMODINIT_FUNC PyInit__twofish(void) { }
++PyMODINIT_FUNC init_twofish(void) { return NULL; }
++PyMODINIT_FUNC PyInit__twofish(void) { return NULL; }
+--
+2.17.1
+
diff --git a/meta-python/recipes-devtools/python/python3-twofish_0.3.0.bb b/meta-python/recipes-devtools/python/python3-twofish_0.3.0.bb
index e593f6f212..7b8eb2ef0f 100644
--- a/meta-python/recipes-devtools/python/python3-twofish_0.3.0.bb
+++ b/meta-python/recipes-devtools/python/python3-twofish_0.3.0.bb
@@ -1,2 +1,4 @@
require python-twofish.inc
inherit setuptools3
+
+SRC_URI += "file://0001-Fix-missing-return-statements-in-module-stubs.patch"
diff --git a/meta-python/recipes-extended/python-blivet/python3-blivetgui/0001-Set-_supported_filesystems-in-BlivetGUIAnaconda-init.patch b/meta-python/recipes-extended/python-blivet/python3-blivetgui/0001-Set-_supported_filesystems-in-BlivetGUIAnaconda-init.patch
new file mode 100644
index 0000000000..25a71d4a7b
--- /dev/null
+++ b/meta-python/recipes-extended/python-blivet/python3-blivetgui/0001-Set-_supported_filesystems-in-BlivetGUIAnaconda-init.patch
@@ -0,0 +1,39 @@
+From a7b76f783608033e449ba1e33d040c2b40c01a4d Mon Sep 17 00:00:00 2001
+From: Adam Williamson <awilliam@redhat.com>
+Date: Wed, 17 Jan 2018 10:38:18 -0800
+Subject: [PATCH] Set _supported_filesystems in BlivetGUIAnaconda init
+
+BlivetGUIAnaconda subclasses BlivetGUI, but doesn't call the
+parent class's __init__. c4b6e174 added supported_filesystems
+to BlivetGUI and set _supported_filesystems for caching during
+__init__, but this was not also added to BlivetGUIAnaconda, so
+when anything tries to use the supported_filesystems property
+of a BlivetGUIAnaconda instance, it will crash. This is causing
+all attempts to use blivet-gui in anaconda to crash since 2.1.8
+landed in Rawhide.
+
+Upstream-Status: Backport [https://github.com/storaged-project/blivet-gui]
+
+Signed-off-by: Adam Williamson <awilliam@redhat.com>
+Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
+---
+ blivetgui/osinstall.py | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/blivetgui/osinstall.py b/blivetgui/osinstall.py
+index 21806ca..32ff66b 100644
+--- a/blivetgui/osinstall.py
++++ b/blivetgui/osinstall.py
+@@ -94,6 +94,9 @@ class BlivetGUIAnaconda(BlivetGUI):
+ self.builder.set_translation_domain("blivet-gui")
+ self.builder.add_from_file(locate_ui_file("blivet-gui.ui"))
+
++ # supported filesystems
++ self._supported_filesystems = []
++
+ # CSS styles
+ css_provider = Gtk.CssProvider()
+ css_provider.load_from_path(locate_css_file("rectangle.css"))
+--
+2.20.1
+
diff --git a/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.1.8.bb b/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.1.8.bb
index 91f0dff71c..5f62b9e5cd 100644
--- a/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.1.8.bb
+++ b/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.1.8.bb
@@ -10,6 +10,7 @@ B = "${S}"
SRCREV = "a4fd427ee2acc5a8f5fb030bf7816917cee63bd8"
SRC_URI = "git://github.com/rhinstaller/blivet-gui;branch=master \
+ file://0001-Set-_supported_filesystems-in-BlivetGUIAnaconda-init.patch \
"
inherit distro_features_check
diff --git a/meta-python/recipes-extended/python-pyparted/python-pyparted_3.11.1.bb b/meta-python/recipes-extended/python-pyparted/python-pyparted_3.11.1.bb
index 7d00fd7d93..32aa378cc7 100644
--- a/meta-python/recipes-extended/python-pyparted/python-pyparted_3.11.1.bb
+++ b/meta-python/recipes-extended/python-pyparted/python-pyparted_3.11.1.bb
@@ -1,7 +1,5 @@
require python-pyparted.inc
-PV = "3.10.7+git${SRCPV}"
-
inherit distutils
RDEPENDS_${PN} += "python-stringold python-codecs python-math python-subprocess"
diff --git a/meta-python/recipes-extended/python-pyparted/python3-pyparted_3.11.1.bb b/meta-python/recipes-extended/python-pyparted/python3-pyparted_3.11.1.bb
index 4d6f97b59e..d83901ff3a 100644
--- a/meta-python/recipes-extended/python-pyparted/python3-pyparted_3.11.1.bb
+++ b/meta-python/recipes-extended/python-pyparted/python3-pyparted_3.11.1.bb
@@ -1,7 +1,5 @@
require python-pyparted.inc
-PV = "3.10.7+git${SRCPV}"
-
inherit distutils3
RDEPENDS_${PN} += "python3-stringold python3-codecs python3-math"
diff --git a/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.34.bb b/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.34.bb
deleted file mode 100644
index 4cc3845463..0000000000
--- a/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.34.bb
+++ /dev/null
@@ -1,46 +0,0 @@
-DESCRIPTION = "The Apache HTTP Server is a powerful, efficient, and \
-extensible web server."
-SUMMARY = "Apache HTTP Server"
-HOMEPAGE = "http://httpd.apache.org/"
-DEPENDS = "expat-native pcre-native apr-native apr-util-native"
-SECTION = "net"
-LICENSE = "Apache-2.0"
-
-inherit autotools pkgconfig native
-
-SRC_URI = "${APACHE_MIRROR}/httpd/httpd-${PV}.tar.bz2 \
- file://0001-configure-use-pkg-config-for-PCRE-detection.patch \
- file://CVE-2018-11763.patch \
- "
-
-S = "${WORKDIR}/httpd-${PV}"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d52d0fd0bc788f068e647116c01ddfcd"
-SRC_URI[md5sum] = "818adca52f3be187fe45d6822755be95"
-SRC_URI[sha256sum] = "fa53c95631febb08a9de41fd2864cfff815cf62d9306723ab0d4b8d7aa1638f0"
-
-EXTRA_OECONF = "--with-apr=${STAGING_BINDIR_CROSS}/apr-1-config \
- --with-apr-util=${STAGING_BINDIR_CROSS}/apu-1-config \
- --prefix=${prefix} --datadir=${datadir}/apache2 \
- "
-
-do_install () {
- install -d ${D}${bindir} ${D}${libdir}
- cp server/gen_test_char ${D}${bindir}
- install -m 755 support/apxs ${D}${bindir}/
- install -m 755 httpd ${D}${bindir}/
- install -d ${D}${datadir}/apache2/build
- cp ${S}/build/*.mk ${D}${datadir}/apache2/build
- cp build/*.mk ${D}${datadir}/apache2/build
- cp ${S}/build/instdso.sh ${D}${datadir}/apache2/build
-
- install -d ${D}${includedir}/apache2
- cp ${S}/include/* ${D}${includedir}/apache2
- cp include/* ${D}${includedir}/apache2
- cp ${S}/os/unix/os.h ${D}${includedir}/apache2
- cp ${S}/os/unix/unixd.h ${D}${includedir}/apache2
-
- cp support/envvars-std ${D}${bindir}/envvars
- chmod 755 ${D}${bindir}/envvars
-}
-
diff --git a/meta-webserver/recipes-httpd/apache2/apache2/0001-configure-use-pkg-config-for-PCRE-detection.patch b/meta-webserver/recipes-httpd/apache2/apache2/0001-configure-use-pkg-config-for-PCRE-detection.patch
index da38a8cfd7..6c0286457c 100644
--- a/meta-webserver/recipes-httpd/apache2/apache2/0001-configure-use-pkg-config-for-PCRE-detection.patch
+++ b/meta-webserver/recipes-httpd/apache2/apache2/0001-configure-use-pkg-config-for-PCRE-detection.patch
@@ -1,4 +1,4 @@
-From 419181e242892ded050f5a375a709b9588fb581d Mon Sep 17 00:00:00 2001
+From d2cedfa3394365689a3f7c8cfe8e0dd56b29bed9 Mon Sep 17 00:00:00 2001
From: Koen Kooi <koen.kooi@linaro.org>
Date: Tue, 17 Jun 2014 09:10:57 +0200
Subject: [PATCH] configure: use pkg-config for PCRE detection
@@ -6,13 +6,12 @@ Subject: [PATCH] configure: use pkg-config for PCRE detection
Upstream-Status: Pending
Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
-
---
configure.in | 27 +++++----------------------
1 file changed, 5 insertions(+), 22 deletions(-)
diff --git a/configure.in b/configure.in
-index be7bd25..54dfd0d 100644
+index 9feaceb..dc6ea15 100644
--- a/configure.in
+++ b/configure.in
@@ -215,28 +215,11 @@ fi
@@ -49,3 +48,6 @@ index be7bd25..54dfd0d 100644
APACHE_SUBST(PCRE_LIBS)
AC_MSG_NOTICE([])
+--
+2.7.4
+
diff --git a/meta-webserver/recipes-httpd/apache2/apache2/httpd-2.4.1-corelimit.patch b/meta-webserver/recipes-httpd/apache2/apache2/0002-apache2-bump-up-the-core-size-limit-if-CoreDumpDirec.patch
index ae4ff0c5ec..85fe6ae4bd 100644
--- a/meta-webserver/recipes-httpd/apache2/apache2/httpd-2.4.1-corelimit.patch
+++ b/meta-webserver/recipes-httpd/apache2/apache2/0002-apache2-bump-up-the-core-size-limit-if-CoreDumpDirec.patch
@@ -1,7 +1,8 @@
-From 55ebb07cc57854cbfb372c3a688365039b809bc8 Mon Sep 17 00:00:00 2001
+From 7df207ad4d0dcda2ad36e5642296e0dec7e13647 Mon Sep 17 00:00:00 2001
From: Paul Eggleton <paul.eggleton@linux.intel.com>
Date: Tue, 17 Jul 2012 11:27:39 +0100
-Subject: [PATCH] apache2: add from OE-Classic, update to version 2.4.2 and fix
+Subject: [PATCH] apache2: bump up the core size limit if CoreDumpDirectory
+ is configured
Bump up the core size limit if CoreDumpDirectory is
configured.
@@ -16,10 +17,10 @@ Note: upstreaming was discussed but there are competing desires;
1 file changed, 19 insertions(+)
diff --git a/server/core.c b/server/core.c
-index 4af0816..4fd2b9f 100644
+index eacb54f..7aa841f 100644
--- a/server/core.c
+++ b/server/core.c
-@@ -4940,6 +4940,25 @@ static int core_post_config(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *pte
+@@ -4965,6 +4965,25 @@ static int core_post_config(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *pte
}
apr_pool_cleanup_register(pconf, NULL, ap_mpm_end_gen_helper,
apr_pool_cleanup_null);
@@ -45,3 +46,6 @@ index 4af0816..4fd2b9f 100644
return OK;
}
+--
+2.7.4
+
diff --git a/meta-webserver/recipes-httpd/apache2/apache2/httpd-2.4.4-export.patch b/meta-webserver/recipes-httpd/apache2/apache2/0003-apache2-do-not-export-apr-apr-util-symbols-when-usin.patch
index 843226c0cf..081a02baa3 100644
--- a/meta-webserver/recipes-httpd/apache2/apache2/httpd-2.4.4-export.patch
+++ b/meta-webserver/recipes-httpd/apache2/apache2/0003-apache2-do-not-export-apr-apr-util-symbols-when-usin.patch
@@ -1,7 +1,8 @@
-From a5627edbcc88cd50caaa42ca051ac7ed3d870172 Mon Sep 17 00:00:00 2001
+From ddd560024a6d526187fd126f306b59533ca3f7e2 Mon Sep 17 00:00:00 2001
From: Paul Eggleton <paul.eggleton@linux.intel.com>
Date: Tue, 17 Jul 2012 11:27:39 +0100
-Subject: [PATCH] apache2: add from OE-Classic, update to version 2.4.2 and fix
+Subject: [PATCH] apache2: do not export apr/apr-util symbols when using
+ shared libapr
There is no need to "suck in" the apr/apr-util symbols when using
a shared libapr{,util}, it just bloats the symbol table; so don't.
@@ -15,7 +16,7 @@ Note: EXPORT_DIRS change is conditional on using shared apr
1 file changed, 3 deletions(-)
diff --git a/server/Makefile.in b/server/Makefile.in
-index cb11684..0d48924 100644
+index 1fa3344..f635d76 100644
--- a/server/Makefile.in
+++ b/server/Makefile.in
@@ -60,9 +60,6 @@ export_files:
@@ -28,3 +29,6 @@ index cb11684..0d48924 100644
) | sed -e s,//,/,g | sort -u > $@
exports.c: export_files
+--
+2.7.4
+
diff --git a/meta-webserver/recipes-httpd/apache2/apache2/httpd-2.4.1-selinux.patch b/meta-webserver/recipes-httpd/apache2/apache2/0004-apache2-log-the-SELinux-context-at-startup.patch
index 015034c75f..78a04d9af4 100644
--- a/meta-webserver/recipes-httpd/apache2/apache2/httpd-2.4.1-selinux.patch
+++ b/meta-webserver/recipes-httpd/apache2/apache2/0004-apache2-log-the-SELinux-context-at-startup.patch
@@ -1,4 +1,4 @@
-From 33c0f2d88ccfe02777f183eb785bb2b891aff168 Mon Sep 17 00:00:00 2001
+From dfa834ebd449df299f54e98f0fb3a7bb4008fb03 Mon Sep 17 00:00:00 2001
From: Paul Eggleton <paul.eggleton@linux.intel.com>
Date: Tue, 17 Jul 2012 11:27:39 +0100
Subject: [PATCH] Log the SELinux context at startup.
@@ -15,10 +15,10 @@ Note: unlikely to be any interest in this upstream
2 files changed, 31 insertions(+)
diff --git a/configure.in b/configure.in
-index 761e836..d828512 100644
+index dc6ea15..caa6f54 100644
--- a/configure.in
+++ b/configure.in
-@@ -483,6 +483,11 @@ getloadavg
+@@ -466,6 +466,11 @@ getloadavg
dnl confirm that a void pointer is large enough to store a long integer
APACHE_CHECK_VOID_PTR_LEN
@@ -31,7 +31,7 @@ index 761e836..d828512 100644
[AC_TRY_RUN(#define _GNU_SOURCE
#include <unistd.h>
diff --git a/server/core.c b/server/core.c
-index 4fd2b9f..c61304a 100644
+index 7aa841f..79f34db 100644
--- a/server/core.c
+++ b/server/core.c
@@ -59,6 +59,10 @@
@@ -45,7 +45,7 @@ index 4fd2b9f..c61304a 100644
/* LimitRequestBody handling */
#define AP_LIMIT_REQ_BODY_UNSET ((apr_off_t) -1)
#define AP_DEFAULT_LIMIT_REQ_BODY ((apr_off_t) 0)
-@@ -4959,6 +4963,28 @@ static int core_post_config(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *pte
+@@ -4984,6 +4988,28 @@ static int core_post_config(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *pte
}
#endif
@@ -53,18 +53,18 @@ index 4fd2b9f..c61304a 100644
+ {
+ static int already_warned = 0;
+ int is_enabled = is_selinux_enabled() > 0;
-+
++
+ if (is_enabled && !already_warned) {
+ security_context_t con;
-+
++
+ if (getcon(&con) == 0) {
-+
++
+ ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, NULL,
+ "SELinux policy enabled; "
+ "httpd running as context %s", con);
-+
++
+ already_warned = 1;
-+
++
+ freecon(con);
+ }
+ }
@@ -74,3 +74,6 @@ index 4fd2b9f..c61304a 100644
return OK;
}
+--
+2.7.4
+
diff --git a/meta-webserver/recipes-httpd/apache2/apache2/replace-lynx-to-curl-in-apachectl-script.patch b/meta-webserver/recipes-httpd/apache2/apache2/0005-replace-lynx-to-curl-in-apachectl-script.patch
index 020f1d7979..47320a9ee5 100644
--- a/meta-webserver/recipes-httpd/apache2/apache2/replace-lynx-to-curl-in-apachectl-script.patch
+++ b/meta-webserver/recipes-httpd/apache2/apache2/0005-replace-lynx-to-curl-in-apachectl-script.patch
@@ -1,4 +1,4 @@
-From 94a9e2241ea27e75babbfdeb38043b13049e23b0 Mon Sep 17 00:00:00 2001
+From 7db1b650bb4b01a5194a34cd7573f915656a595b Mon Sep 17 00:00:00 2001
From: Yulong Pei <Yulong.pei@windriver.com>
Date: Thu, 1 Sep 2011 01:03:14 +0800
Subject: [PATCH] replace lynx to curl in apachectl script
@@ -6,7 +6,6 @@ Subject: [PATCH] replace lynx to curl in apachectl script
Upstream-Status: Inappropriate [configuration]
Signed-off-by: Yulong Pei <Yulong.pei@windriver.com>
-
---
support/apachectl.in | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
@@ -48,3 +47,6 @@ index 3281c2e..6ab4ba5 100644
;;
*)
$HTTPD "$@"
+--
+2.7.4
+
diff --git a/meta-webserver/recipes-httpd/apache2/apache2/httpd-2.4.3-fix-race-issue-of-dir-install.patch b/meta-webserver/recipes-httpd/apache2/apache2/0006-apache2-fix-the-race-issue-of-parallel-installation.patch
index 2262e9f878..227d04064b 100644
--- a/meta-webserver/recipes-httpd/apache2/apache2/httpd-2.4.3-fix-race-issue-of-dir-install.patch
+++ b/meta-webserver/recipes-httpd/apache2/apache2/0006-apache2-fix-the-race-issue-of-parallel-installation.patch
@@ -1,4 +1,4 @@
-From 3b079a9df7582e305246fd805837d87a2c4ef534 Mon Sep 17 00:00:00 2001
+From 4f4d7d6b88b6e440263ebeb22dfb40c52bb30fd8 Mon Sep 17 00:00:00 2001
From: Zhenhua Luo <zhenhua.luo@freescale.com>
Date: Fri, 25 Jan 2013 18:10:50 +0800
Subject: [PATCH] apache2: fix the race issue of parallel installation
@@ -13,7 +13,6 @@ fix following race issue when do parallel install
| make[1]: *** Waiting for unfinished jobs....
Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
-
---
build/mkdir.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -31,3 +30,6 @@ index e2d5bb6..dde5ae0 100755
fi
pathcomp="$pathcomp/"
done
+--
+2.7.4
+
diff --git a/meta-webserver/recipes-httpd/apache2/apache2/configure-allow-to-disable-selinux-support.patch b/meta-webserver/recipes-httpd/apache2/apache2/0007-apache2-allow-to-disable-selinux-support.patch
index a6ccfb6a87..fed6b5010b 100644
--- a/meta-webserver/recipes-httpd/apache2/apache2/configure-allow-to-disable-selinux-support.patch
+++ b/meta-webserver/recipes-httpd/apache2/apache2/0007-apache2-allow-to-disable-selinux-support.patch
@@ -1,4 +1,4 @@
-From 166cbc02f72d13d5e7bf08ac2351c0f07e1ff4b9 Mon Sep 17 00:00:00 2001
+From 964ef2c1af74984602f46e7db938d3b95b148385 Mon Sep 17 00:00:00 2001
From: Wenzong Fan <wenzong.fan@windriver.com>
Date: Mon, 1 Dec 2014 02:08:27 -0500
Subject: [PATCH] apache2: allow to disable selinux support
@@ -6,13 +6,12 @@ Subject: [PATCH] apache2: allow to disable selinux support
Upstream-Status: Pending
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
-
---
configure.in | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/configure.in b/configure.in
-index 54dfd0d..377e062 100644
+index caa6f54..eab2090 100644
--- a/configure.in
+++ b/configure.in
@@ -466,10 +466,16 @@ getloadavg
@@ -36,3 +35,6 @@ index 54dfd0d..377e062 100644
AC_CACHE_CHECK([for gettid()], ac_cv_gettid,
[AC_TRY_RUN(#define _GNU_SOURCE
+--
+2.7.4
+
diff --git a/meta-webserver/recipes-httpd/apache2/apache2/server-makefile.patch b/meta-webserver/recipes-httpd/apache2/apache2/0008-apache2-do-not-use-relative-path-for-gen_test_char.patch
index 5476d4f328..82e9e8c35f 100644
--- a/meta-webserver/recipes-httpd/apache2/apache2/server-makefile.patch
+++ b/meta-webserver/recipes-httpd/apache2/apache2/0008-apache2-do-not-use-relative-path-for-gen_test_char.patch
@@ -1,6 +1,7 @@
-From aa02bbfd8f16871db5563a95fa94dd170964949f Mon Sep 17 00:00:00 2001
+From b62c4cd2295c98b2ebe12641e5f01590bd96ae94 Mon Sep 17 00:00:00 2001
From: Paul Eggleton <paul.eggleton@linux.intel.com>
Date: Tue, 17 Jul 2012 11:27:39 +0100
+Subject: [PATCH] apache2: do not use relative path for gen_test_char
Upstream-Status: Inappropriate [embedded specific]
@@ -9,7 +10,7 @@ Upstream-Status: Inappropriate [embedded specific]
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/server/Makefile.in b/server/Makefile.in
-index 1fa3344..cb11684 100644
+index f635d76..0d48924 100644
--- a/server/Makefile.in
+++ b/server/Makefile.in
@@ -29,7 +29,7 @@ gen_test_char: $(gen_test_char_OBJECTS)
@@ -21,3 +22,6 @@ index 1fa3344..cb11684 100644
util.lo: test_char.h
+--
+2.7.4
+
diff --git a/meta-webserver/recipes-httpd/apache2/apache2/CVE-2018-11763.patch b/meta-webserver/recipes-httpd/apache2/apache2/CVE-2018-11763.patch
deleted file mode 100644
index a2c5b2e02a..0000000000
--- a/meta-webserver/recipes-httpd/apache2/apache2/CVE-2018-11763.patch
+++ /dev/null
@@ -1,512 +0,0 @@
-From 484aba5048e3457dc1d15189f1910d007b1a4a76 Mon Sep 17 00:00:00 2001
-From: Jim Jagielski <jim@apache.org>
-Date: Wed, 12 Sep 2018 20:38:02 +0000
-Subject: [PATCH] Merge r1840010 from trunk:
-
-On the trunk:
-
-mod_http2: connection IO event handling reworked. Instead of reacting on
- incoming bytes, the state machine now acts on incoming frames that are
- affecting it. This reduces state transitions.
-
-
-Submitted by: icing
-Reviewed by: icing, ylavic, jim
-
-
-git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1840757 13f79535-47bb-0310-9956-ffa450edef68
-CVE: CVE-2018-11763
-Upstream-Status: Backport [https://github.com/apache/httpd/commit/484aba5048e3457dc1d15189f1910d007b1a4a76]
-
-Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
----
- modules/http2/h2_session.c | 238 +++++++++++++++++++++++--------------
- modules/http2/h2_session.h | 7 +-
- modules/http2/h2_version.h | 4 +-
- 3 files changed, 158 insertions(+), 97 deletions(-)
-
-diff --git a/modules/http2/h2_session.c b/modules/http2/h2_session.c
-index 805d6774dc..a1b31d2b30 100644
---- a/modules/http2/h2_session.c
-+++ b/modules/http2/h2_session.c
-@@ -235,6 +235,7 @@ static int on_data_chunk_recv_cb(nghttp2_session *ngh2, uint8_t flags,
- stream = h2_session_stream_get(session, stream_id);
- if (stream) {
- status = h2_stream_recv_DATA(stream, flags, data, len);
-+ dispatch_event(session, H2_SESSION_EV_STREAM_CHANGE, 0, "stream data rcvd");
- }
- else {
- ap_log_cerror(APLOG_MARK, APLOG_DEBUG, 0, session->c, APLOGNO(03064)
-@@ -317,9 +318,9 @@ static int on_header_cb(nghttp2_session *ngh2, const nghttp2_frame *frame,
- }
-
- /**
-- * nghttp2 session has received a complete frame. Most, it uses
-- * for processing of internal state. HEADER and DATA frames however
-- * we need to handle ourself.
-+ * nghttp2 session has received a complete frame. Most are used by nghttp2
-+ * for processing of internal state. Some, like HEADER and DATA frames,
-+ * we need to act on.
- */
- static int on_frame_recv_cb(nghttp2_session *ng2s,
- const nghttp2_frame *frame,
-@@ -378,6 +379,9 @@ static int on_frame_recv_cb(nghttp2_session *ng2s,
- "h2_stream(%ld-%d): WINDOW_UPDATE incr=%d",
- session->id, (int)frame->hd.stream_id,
- frame->window_update.window_size_increment);
-+ if (nghttp2_session_want_write(session->ngh2)) {
-+ dispatch_event(session, H2_SESSION_EV_FRAME_RCVD, 0, "window update");
-+ }
- break;
- case NGHTTP2_RST_STREAM:
- ap_log_cerror(APLOG_MARK, APLOG_DEBUG, 0, session->c, APLOGNO(03067)
-@@ -404,6 +408,12 @@ static int on_frame_recv_cb(nghttp2_session *ng2s,
- frame->goaway.error_code, NULL);
- }
- break;
-+ case NGHTTP2_SETTINGS:
-+ if (APLOGctrace2(session->c)) {
-+ ap_log_cerror(APLOG_MARK, APLOG_TRACE2, 0, session->c,
-+ H2_SSSN_MSG(session, "SETTINGS, len=%ld"), (long)frame->hd.length);
-+ }
-+ break;
- default:
- if (APLOGctrace2(session->c)) {
- char buffer[256];
-@@ -415,7 +425,40 @@ static int on_frame_recv_cb(nghttp2_session *ng2s,
- }
- break;
- }
-- return (APR_SUCCESS == rv)? 0 : NGHTTP2_ERR_PROTO;
-+
-+ if (session->state == H2_SESSION_ST_IDLE) {
-+ /* We received a frame, but session is in state IDLE. That means the frame
-+ * did not really progress any of the (possibly) open streams. It was a meta
-+ * frame, e.g. SETTINGS/WINDOW_UPDATE/unknown/etc.
-+ * Remember: IDLE means we cannot send because either there are no streams open or
-+ * all open streams are blocked on exhausted WINDOWs for outgoing data.
-+ * The more frames we receive that do not change this, the less interested we
-+ * become in serving this connection. This is expressed in increasing "idle_delays".
-+ * Eventually, the connection will timeout and we'll close it. */
-+ session->idle_frames = H2MIN(session->idle_frames + 1, session->frames_received);
-+ ap_log_cerror( APLOG_MARK, APLOG_TRACE2, 0, session->c,
-+ H2_SSSN_MSG(session, "session has %ld idle frames"),
-+ (long)session->idle_frames);
-+ if (session->idle_frames > 10) {
-+ apr_size_t busy_frames = H2MAX(session->frames_received - session->idle_frames, 1);
-+ int idle_ratio = (int)(session->idle_frames / busy_frames);
-+ if (idle_ratio > 100) {
-+ session->idle_delay = apr_time_from_msec(H2MIN(1000, idle_ratio));
-+ }
-+ else if (idle_ratio > 10) {
-+ session->idle_delay = apr_time_from_msec(10);
-+ }
-+ else if (idle_ratio > 1) {
-+ session->idle_delay = apr_time_from_msec(1);
-+ }
-+ else {
-+ session->idle_delay = 0;
-+ }
-+ }
-+ }
-+
-+ if (APR_SUCCESS != rv) return NGHTTP2_ERR_PROTO;
-+ return 0;
- }
-
- static int h2_session_continue_data(h2_session *session) {
-@@ -1603,23 +1646,57 @@ static void update_child_status(h2_session *session, int status, const char *msg
-
- static void transit(h2_session *session, const char *action, h2_session_state nstate)
- {
-+ apr_time_t timeout;
-+ int ostate, loglvl;
-+ const char *s;
-+
- if (session->state != nstate) {
-- int loglvl = APLOG_DEBUG;
-- if ((session->state == H2_SESSION_ST_BUSY && nstate == H2_SESSION_ST_WAIT)
-- || (session->state == H2_SESSION_ST_WAIT && nstate == H2_SESSION_ST_BUSY)){
-+ ostate = session->state;
-+ session->state = nstate;
-+
-+ loglvl = APLOG_DEBUG;
-+ if ((ostate == H2_SESSION_ST_BUSY && nstate == H2_SESSION_ST_WAIT)
-+ || (ostate == H2_SESSION_ST_WAIT && nstate == H2_SESSION_ST_BUSY)){
- loglvl = APLOG_TRACE1;
- }
- ap_log_cerror(APLOG_MARK, loglvl, 0, session->c,
- H2_SSSN_LOG(APLOGNO(03078), session,
- "transit [%s] -- %s --> [%s]"),
-- h2_session_state_str(session->state), action,
-+ h2_session_state_str(ostate), action,
- h2_session_state_str(nstate));
-- session->state = nstate;
-+
- switch (session->state) {
- case H2_SESSION_ST_IDLE:
-- update_child_status(session, (session->open_streams == 0?
-- SERVER_BUSY_KEEPALIVE
-- : SERVER_BUSY_READ), "idle");
-+ if (!session->remote.emitted_count) {
-+ /* on fresh connections, with async mpm, do not return
-+ * to mpm for a second. This gives the first request a better
-+ * chance to arrive (und connection leaving IDLE state).
-+ * If we return to mpm right away, this connection has the
-+ * same chance of being cleaned up by the mpm as connections
-+ * that already served requests - not fair. */
-+ session->idle_sync_until = apr_time_now() + apr_time_from_sec(1);
-+ s = "timeout";
-+ timeout = H2MAX(session->s->timeout, session->s->keep_alive_timeout);
-+ update_child_status(session, SERVER_BUSY_READ, "idle");
-+ ap_log_cerror(APLOG_MARK, APLOG_TRACE1, 0, session->c,
-+ H2_SSSN_LOG("", session, "enter idle, timeout = %d sec"),
-+ (int)apr_time_sec(H2MAX(session->s->timeout, session->s->keep_alive_timeout)));
-+ }
-+ else if (session->open_streams) {
-+ s = "timeout";
-+ timeout = session->s->keep_alive_timeout;
-+ update_child_status(session, SERVER_BUSY_KEEPALIVE, "idle");
-+ }
-+ else {
-+ /* normal keepalive setup */
-+ s = "keepalive";
-+ timeout = session->s->keep_alive_timeout;
-+ update_child_status(session, SERVER_BUSY_KEEPALIVE, "idle");
-+ }
-+ session->idle_until = apr_time_now() + timeout;
-+ ap_log_cerror(APLOG_MARK, APLOG_TRACE1, 0, session->c,
-+ H2_SSSN_LOG("", session, "enter idle, %s = %d sec"),
-+ s, (int)apr_time_sec(timeout));
- break;
- case H2_SESSION_ST_DONE:
- update_child_status(session, SERVER_CLOSING, "done");
-@@ -1726,8 +1803,6 @@ static void h2_session_ev_no_io(h2_session *session, int arg, const char *msg)
- * This means we only wait for WINDOW_UPDATE from the
- * client and can block on READ. */
- transit(session, "no io (flow wait)", H2_SESSION_ST_IDLE);
-- session->idle_until = apr_time_now() + session->s->timeout;
-- session->keep_sync_until = session->idle_until;
- /* Make sure we have flushed all previously written output
- * so that the client will react. */
- if (h2_conn_io_flush(&session->io) != APR_SUCCESS) {
-@@ -1738,12 +1813,7 @@ static void h2_session_ev_no_io(h2_session *session, int arg, const char *msg)
- }
- else if (session->local.accepting) {
- /* When we have no streams, but accept new, switch to idle */
-- apr_time_t now = apr_time_now();
- transit(session, "no io (keepalive)", H2_SESSION_ST_IDLE);
-- session->idle_until = (session->remote.emitted_count?
-- session->s->keep_alive_timeout :
-- session->s->timeout) + now;
-- session->keep_sync_until = now + apr_time_from_sec(1);
- }
- else {
- /* We are no longer accepting new streams and there are
-@@ -1758,12 +1828,25 @@ static void h2_session_ev_no_io(h2_session *session, int arg, const char *msg)
- }
- }
-
--static void h2_session_ev_data_read(h2_session *session, int arg, const char *msg)
-+static void h2_session_ev_frame_rcvd(h2_session *session, int arg, const char *msg)
-+{
-+ switch (session->state) {
-+ case H2_SESSION_ST_IDLE:
-+ case H2_SESSION_ST_WAIT:
-+ transit(session, "frame received", H2_SESSION_ST_BUSY);
-+ break;
-+ default:
-+ /* nop */
-+ break;
-+ }
-+}
-+
-+static void h2_session_ev_stream_change(h2_session *session, int arg, const char *msg)
- {
- switch (session->state) {
- case H2_SESSION_ST_IDLE:
- case H2_SESSION_ST_WAIT:
-- transit(session, "data read", H2_SESSION_ST_BUSY);
-+ transit(session, "stream change", H2_SESSION_ST_BUSY);
- break;
- default:
- /* nop */
-@@ -1803,16 +1886,6 @@ static void h2_session_ev_pre_close(h2_session *session, int arg, const char *ms
- static void ev_stream_open(h2_session *session, h2_stream *stream)
- {
- h2_iq_append(session->in_process, stream->id);
-- switch (session->state) {
-- case H2_SESSION_ST_IDLE:
-- if (session->open_streams == 1) {
-- /* enter timeout, since we have a stream again */
-- session->idle_until = (session->s->timeout + apr_time_now());
-- }
-- break;
-- default:
-- break;
-- }
- }
-
- static void ev_stream_closed(h2_session *session, h2_stream *stream)
-@@ -1825,11 +1898,6 @@ static void ev_stream_closed(h2_session *session, h2_stream *stream)
- }
- switch (session->state) {
- case H2_SESSION_ST_IDLE:
-- if (session->open_streams == 0) {
-- /* enter keepalive timeout, since we no longer have streams */
-- session->idle_until = (session->s->keep_alive_timeout
-- + apr_time_now());
-- }
- break;
- default:
- break;
-@@ -1887,6 +1955,7 @@ static void on_stream_state_enter(void *ctx, h2_stream *stream)
- default:
- break;
- }
-+ dispatch_event(session, H2_SESSION_EV_STREAM_CHANGE, 0, "stream state change");
- }
-
- static void on_stream_event(void *ctx, h2_stream *stream,
-@@ -1945,8 +2014,8 @@ static void dispatch_event(h2_session *session, h2_session_event_t ev,
- case H2_SESSION_EV_NO_IO:
- h2_session_ev_no_io(session, arg, msg);
- break;
-- case H2_SESSION_EV_DATA_READ:
-- h2_session_ev_data_read(session, arg, msg);
-+ case H2_SESSION_EV_FRAME_RCVD:
-+ h2_session_ev_frame_rcvd(session, arg, msg);
- break;
- case H2_SESSION_EV_NGH2_DONE:
- h2_session_ev_ngh2_done(session, arg, msg);
-@@ -1957,6 +2026,9 @@ static void dispatch_event(h2_session *session, h2_session_event_t ev,
- case H2_SESSION_EV_PRE_CLOSE:
- h2_session_ev_pre_close(session, arg, msg);
- break;
-+ case H2_SESSION_EV_STREAM_CHANGE:
-+ h2_session_ev_stream_change(session, arg, msg);
-+ break;
- default:
- ap_log_cerror(APLOG_MARK, APLOG_TRACE1, 0, session->c,
- H2_SSSN_MSG(session, "unknown event %d"), ev);
-@@ -1990,13 +2062,15 @@ apr_status_t h2_session_process(h2_session *session, int async)
- apr_status_t status = APR_SUCCESS;
- conn_rec *c = session->c;
- int rv, mpm_state, trace = APLOGctrace3(c);
--
-+ apr_time_t now;
-+
- if (trace) {
- ap_log_cerror( APLOG_MARK, APLOG_TRACE3, status, c,
- H2_SSSN_MSG(session, "process start, async=%d"), async);
- }
-
- while (session->state != H2_SESSION_ST_DONE) {
-+ now = apr_time_now();
- session->have_read = session->have_written = 0;
-
- if (session->local.accepting
-@@ -2034,39 +2108,42 @@ apr_status_t h2_session_process(h2_session *session, int async)
- break;
-
- case H2_SESSION_ST_IDLE:
-- /* We trust our connection into the default timeout/keepalive
-- * handling of the core filters/mpm iff:
-- * - keep_sync_until is not set
-- * - we have an async mpm
-- * - we have no open streams to process
-- * - we are not sitting on a Upgrade: request
-- * - we already have seen at least one request
-- */
-- if (!session->keep_sync_until && async && !session->open_streams
-- && !session->r && session->remote.emitted_count) {
-+ if (session->idle_until && (apr_time_now() + session->idle_delay) > session->idle_until) {
-+ ap_log_cerror( APLOG_MARK, APLOG_TRACE1, status, c,
-+ H2_SSSN_MSG(session, "idle, timeout reached, closing"));
-+ if (session->idle_delay) {
-+ apr_table_setn(session->c->notes, "short-lingering-close", "1");
-+ }
-+ dispatch_event(session, H2_SESSION_EV_CONN_TIMEOUT, 0, "timeout");
-+ goto out;
-+ }
-+
-+ if (session->idle_delay) {
-+ /* we are less interested in spending time on this connection */
-+ ap_log_cerror( APLOG_MARK, APLOG_TRACE2, status, c,
-+ H2_SSSN_MSG(session, "session is idle (%ld ms), idle wait %ld sec left"),
-+ (long)apr_time_as_msec(session->idle_delay),
-+ (long)apr_time_sec(session->idle_until - now));
-+ apr_sleep(session->idle_delay);
-+ session->idle_delay = 0;
-+ }
-+
-+ h2_conn_io_flush(&session->io);
-+ if (async && !session->r && (now > session->idle_sync_until)) {
- if (trace) {
- ap_log_cerror(APLOG_MARK, APLOG_TRACE3, status, c,
- H2_SSSN_MSG(session,
- "nonblock read, %d streams open"),
- session->open_streams);
- }
-- h2_conn_io_flush(&session->io);
- status = h2_session_read(session, 0);
-
- if (status == APR_SUCCESS) {
- session->have_read = 1;
-- dispatch_event(session, H2_SESSION_EV_DATA_READ, 0, NULL);
- }
-- else if (APR_STATUS_IS_EAGAIN(status)
-- || APR_STATUS_IS_TIMEUP(status)) {
-- if (apr_time_now() > session->idle_until) {
-- dispatch_event(session,
-- H2_SESSION_EV_CONN_TIMEOUT, 0, NULL);
-- }
-- else {
-- status = APR_EAGAIN;
-- goto out;
-- }
-+ else if (APR_STATUS_IS_EAGAIN(status) || APR_STATUS_IS_TIMEUP(status)) {
-+ status = APR_EAGAIN;
-+ goto out;
- }
- else {
- ap_log_cerror(APLOG_MARK, APLOG_DEBUG, status, c,
-@@ -2078,7 +2155,6 @@ apr_status_t h2_session_process(h2_session *session, int async)
- }
- else {
- /* make certain, we send everything before we idle */
-- h2_conn_io_flush(&session->io);
- if (trace) {
- ap_log_cerror(APLOG_MARK, APLOG_TRACE3, status, c,
- H2_SSSN_MSG(session,
-@@ -2090,7 +2166,6 @@ apr_status_t h2_session_process(h2_session *session, int async)
- */
- status = h2_mplx_idle(session->mplx);
- if (status == APR_EAGAIN) {
-- dispatch_event(session, H2_SESSION_EV_DATA_READ, 0, NULL);
- break;
- }
- else if (status != APR_SUCCESS) {
-@@ -2101,33 +2176,11 @@ apr_status_t h2_session_process(h2_session *session, int async)
- status = h2_session_read(session, 1);
- if (status == APR_SUCCESS) {
- session->have_read = 1;
-- dispatch_event(session, H2_SESSION_EV_DATA_READ, 0, NULL);
- }
- else if (status == APR_EAGAIN) {
- /* nothing to read */
- }
- else if (APR_STATUS_IS_TIMEUP(status)) {
-- apr_time_t now = apr_time_now();
-- if (now > session->keep_sync_until) {
-- /* if we are on an async mpm, now is the time that
-- * we may dare to pass control to it. */
-- session->keep_sync_until = 0;
-- }
-- if (now > session->idle_until) {
-- if (trace) {
-- ap_log_cerror(APLOG_MARK, APLOG_TRACE3, status, c,
-- H2_SSSN_MSG(session,
-- "keepalive timeout"));
-- }
-- dispatch_event(session,
-- H2_SESSION_EV_CONN_TIMEOUT, 0, "timeout");
-- }
-- else if (trace) {
-- ap_log_cerror(APLOG_MARK, APLOG_TRACE3, status, c,
-- H2_SSSN_MSG(session,
-- "keepalive, %f sec left"),
-- (session->idle_until - now) / 1000000.0f);
-- }
- /* continue reading handling */
- }
- else if (APR_STATUS_IS_ECONNABORTED(status)
-@@ -2145,6 +2198,18 @@ apr_status_t h2_session_process(h2_session *session, int async)
- dispatch_event(session, H2_SESSION_EV_CONN_ERROR, 0, "error");
- }
- }
-+ if (nghttp2_session_want_write(session->ngh2)) {
-+ ap_update_child_status(session->c->sbh, SERVER_BUSY_WRITE, NULL);
-+ status = h2_session_send(session);
-+ if (status == APR_SUCCESS) {
-+ status = h2_conn_io_flush(&session->io);
-+ }
-+ if (status != APR_SUCCESS) {
-+ dispatch_event(session, H2_SESSION_EV_CONN_ERROR,
-+ H2_ERR_INTERNAL_ERROR, "writing");
-+ break;
-+ }
-+ }
- break;
-
- case H2_SESSION_ST_BUSY:
-@@ -2154,7 +2219,6 @@ apr_status_t h2_session_process(h2_session *session, int async)
- status = h2_session_read(session, 0);
- if (status == APR_SUCCESS) {
- session->have_read = 1;
-- dispatch_event(session, H2_SESSION_EV_DATA_READ, 0, NULL);
- }
- else if (status == APR_EAGAIN) {
- /* nothing to read */
-@@ -2218,7 +2282,7 @@ apr_status_t h2_session_process(h2_session *session, int async)
- session->iowait);
- if (status == APR_SUCCESS) {
- session->wait_us = 0;
-- dispatch_event(session, H2_SESSION_EV_DATA_READ, 0, NULL);
-+ dispatch_event(session, H2_SESSION_EV_STREAM_CHANGE, 0, NULL);
- }
- else if (APR_STATUS_IS_TIMEUP(status)) {
- /* go back to checking all inputs again */
-diff --git a/modules/http2/h2_session.h b/modules/http2/h2_session.h
-index 486938b009..df2a862445 100644
---- a/modules/http2/h2_session.h
-+++ b/modules/http2/h2_session.h
-@@ -66,10 +66,11 @@ typedef enum {
- H2_SESSION_EV_PROTO_ERROR, /* protocol error */
- H2_SESSION_EV_CONN_TIMEOUT, /* connection timeout */
- H2_SESSION_EV_NO_IO, /* nothing has been read or written */
-- H2_SESSION_EV_DATA_READ, /* connection data has been read */
-+ H2_SESSION_EV_FRAME_RCVD, /* a frame has been received */
- H2_SESSION_EV_NGH2_DONE, /* nghttp2 wants neither read nor write anything */
- H2_SESSION_EV_MPM_STOPPING, /* the process is stopping */
- H2_SESSION_EV_PRE_CLOSE, /* connection will close after this */
-+ H2_SESSION_EV_STREAM_CHANGE, /* a stream (state/input/output) changed */
- } h2_session_event_t;
-
- typedef struct h2_session {
-@@ -118,7 +119,9 @@ typedef struct h2_session {
- apr_size_t max_stream_mem; /* max buffer memory for a single stream */
-
- apr_time_t idle_until; /* Time we shut down due to sheer boredom */
-- apr_time_t keep_sync_until; /* Time we sync wait until passing to async mpm */
-+ apr_time_t idle_sync_until; /* Time we sync wait until keepalive handling kicks in */
-+ apr_size_t idle_frames; /* number of rcvd frames that kept session in idle state */
-+ apr_interval_time_t idle_delay; /* Time we delay processing rcvd frames in idle state */
-
- apr_bucket_brigade *bbtmp; /* brigade for keeping temporary data */
- struct apr_thread_cond_t *iowait; /* our cond when trywaiting for data */
-diff --git a/modules/http2/h2_version.h b/modules/http2/h2_version.h
-index 5c53abd575..2ac718fc0f 100644
---- a/modules/http2/h2_version.h
-+++ b/modules/http2/h2_version.h
-@@ -27,7 +27,7 @@
- * @macro
- * Version number of the http2 module as c string
- */
--#define MOD_HTTP2_VERSION "1.10.20"
-+#define MOD_HTTP2_VERSION "1.11.0"
-
- /**
- * @macro
-@@ -35,7 +35,7 @@
- * release. This is a 24 bit number with 8 bits for major number, 8 bits
- * for minor and 8 bits for patch. Version 1.2.3 becomes 0x010203.
- */
--#define MOD_HTTP2_VERSION_NUM 0x010a14
-+#define MOD_HTTP2_VERSION_NUM 0x010b00
-
-
- #endif /* mod_h2_h2_version_h */
---
-2.17.1
-
diff --git a/meta-webserver/recipes-httpd/apache2/apache2/apache-configure_perlbin.patch b/meta-webserver/recipes-httpd/apache2/apache2/apache-configure_perlbin.patch
deleted file mode 100644
index a2bc6e02c9..0000000000
--- a/meta-webserver/recipes-httpd/apache2/apache2/apache-configure_perlbin.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 5412077c398dec74321388fe6e593a44c4c80de6 Mon Sep 17 00:00:00 2001
-From: echo <fei.geng@windriver.com>
-Date: Tue, 28 Apr 2009 03:11:06 +0000
-Subject: [PATCH] Fix perl install directory to /usr/bin
-
-Upstream-Status: Inappropriate [configuration]
-
----
- configure.in | 5 +----
- 1 file changed, 1 insertion(+), 4 deletions(-)
-
-diff --git a/configure.in b/configure.in
-index d828512..be7bd25 100644
---- a/configure.in
-+++ b/configure.in
-@@ -855,10 +855,7 @@ AC_DEFINE_UNQUOTED(SERVER_CONFIG_FILE, "${rel_sysconfdir}/${progname}.conf",
- AC_DEFINE_UNQUOTED(AP_TYPES_CONFIG_FILE, "${rel_sysconfdir}/mime.types",
- [Location of the MIME types config file, relative to the Apache root directory])
-
--perlbin=`$ac_aux_dir/PrintPath perl`
--if test "x$perlbin" = "x"; then
-- perlbin="/replace/with/path/to/perl/interpreter"
--fi
-+perlbin='/usr/bin/perl'
- AC_SUBST(perlbin)
-
- dnl If we are running on BSD/OS, we need to use the BSD .include syntax.
diff --git a/meta-webserver/recipes-httpd/apache2/apache2_2.4.34.bb b/meta-webserver/recipes-httpd/apache2/apache2_2.4.41.bb
index a87e3847f3..543d12467c 100644
--- a/meta-webserver/recipes-httpd/apache2/apache2_2.4.34.bb
+++ b/meta-webserver/recipes-httpd/apache2/apache2_2.4.41.bb
@@ -2,89 +2,98 @@ DESCRIPTION = "The Apache HTTP Server is a powerful, efficient, and \
extensible web server."
SUMMARY = "Apache HTTP Server"
HOMEPAGE = "http://httpd.apache.org/"
-DEPENDS = "libtool-native apache2-native openssl expat pcre apr apr-util"
SECTION = "net"
LICENSE = "Apache-2.0"
SRC_URI = "${APACHE_MIRROR}/httpd/httpd-${PV}.tar.bz2 \
- file://server-makefile.patch \
- file://httpd-2.4.1-corelimit.patch \
- file://httpd-2.4.4-export.patch \
- file://httpd-2.4.1-selinux.patch \
- file://apache-configure_perlbin.patch \
- file://replace-lynx-to-curl-in-apachectl-script.patch \
- file://httpd-2.4.3-fix-race-issue-of-dir-install.patch \
file://0001-configure-use-pkg-config-for-PCRE-detection.patch \
- file://configure-allow-to-disable-selinux-support.patch \
- file://CVE-2018-11763.patch \
+ file://0002-apache2-bump-up-the-core-size-limit-if-CoreDumpDirec.patch \
+ file://0003-apache2-do-not-export-apr-apr-util-symbols-when-usin.patch \
+ file://0004-apache2-log-the-SELinux-context-at-startup.patch \
+ file://0005-replace-lynx-to-curl-in-apachectl-script.patch \
+ file://0006-apache2-fix-the-race-issue-of-parallel-installation.patch \
+ file://0007-apache2-allow-to-disable-selinux-support.patch \
+ "
+
+SRC_URI_append_class-target = " \
+ file://0008-apache2-do-not-use-relative-path-for-gen_test_char.patch \
file://init \
file://apache2-volatile.conf \
file://apache2.service \
file://volatiles.04_apache2 \
- "
+ "
LIC_FILES_CHKSUM = "file://LICENSE;md5=d52d0fd0bc788f068e647116c01ddfcd"
-SRC_URI[md5sum] = "818adca52f3be187fe45d6822755be95"
-SRC_URI[sha256sum] = "fa53c95631febb08a9de41fd2864cfff815cf62d9306723ab0d4b8d7aa1638f0"
+SRC_URI[md5sum] = "dfc674f8f454e3bc2d4ccd73ad3b5f1e"
+SRC_URI[sha256sum] = "133d48298fe5315ae9366a0ec66282fa4040efa5d566174481077ade7d18ea40"
S = "${WORKDIR}/httpd-${PV}"
inherit autotools update-rc.d pkgconfig systemd update-alternatives
-ALTERNATIVE_${PN}-doc = "htpasswd.1"
-ALTERNATIVE_LINK_NAME[htpasswd.1] = "${mandir}/man1/htpasswd.1"
+DEPENDS = "openssl expat pcre apr apr-util apache2-native "
-SYSTEMD_SERVICE_${PN} = "apache2.service"
-SYSTEMD_AUTO_ENABLE_${PN} = "disable"
+CVE_PRODUCT = "http_server"
SSTATE_SCAN_FILES += "apxs config_vars.mk config.nice"
+PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}"
+PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,libselinux"
+PACKAGECONFIG[openldap] = "--enable-ldap --enable-authnz-ldap,--disable-ldap --disable-authnz-ldap,openldap"
+PACKAGECONFIG[zlib] = "--enable-deflate,,zlib,zlib"
+
CFLAGS_append = " -DPATH_MAX=4096"
-CFLAGS_prepend = "-I${STAGING_INCDIR}/openssl "
-EXTRA_OECONF = "--enable-ssl \
- --with-ssl=${STAGING_LIBDIR}/.. \
- --with-expat=${STAGING_LIBDIR}/.. \
- --with-apr=${STAGING_BINDIR_CROSS}/apr-1-config \
- --with-apr-util=${STAGING_BINDIR_CROSS}/apu-1-config \
- --enable-info \
- --enable-rewrite \
- --with-dbm=sdbm \
- --with-berkeley-db=no \
- --localstatedir=/var/${BPN} \
- --with-gdbm=no \
- --with-ndbm=no \
+
+EXTRA_OECONF_class-target = "\
+ --enable-layout=Debian \
+ --prefix=${base_prefix} \
+ --exec_prefix=${exec_prefix} \
--includedir=${includedir}/${BPN} \
- --datadir=${datadir}/${BPN} \
--sysconfdir=${sysconfdir}/${BPN} \
+ --datadir=${datadir}/${BPN} \
+ --libdir=${libdir} \
--libexecdir=${libdir}/${BPN}/modules \
- ap_cv_void_ptr_lt_long=no \
+ --localstatedir=${localstatedir} \
+ --enable-ssl \
+ --with-dbm=sdbm \
+ --with-gdbm=no \
+ --with-ndbm=no \
+ --with-berkeley-db=no \
+ --enable-info \
+ --enable-rewrite \
--enable-mpms-shared \
+ ap_cv_void_ptr_lt_long=no \
ac_cv_have_threadsafe_pollset=no \
- --enable-layout=Debian \
- --prefix=${base_prefix}/"
+ "
-PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}"
-PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,libselinux"
-PACKAGECONFIG[openldap] = "--enable-ldap --enable-authnz-ldap,--disable-ldap --disable-authnz-ldap,openldap"
-PACKAGECONFIG[zlib] = "--enable-deflate --with-z=${STAGING_LIBDIR},,zlib,zlib"
+EXTRA_OECONF_class-native = "\
+ --prefix=${prefix} \
+ --includedir=${includedir}/${BPN} \
+ --sysconfdir=${sysconfdir}/${BPN} \
+ --datadir=${datadir}/${BPN} \
+ --libdir=${libdir} \
+ --libexecdir=${libdir}/${BPN}/modules \
+ --localstatedir=${localstatedir} \
+ "
do_configure_prepend() {
- sed -i -e 's:$''{prefix}/usr/lib/cgi-bin:$''{libdir}/cgi-bin:g' ${S}/config.layout
+ sed -i -e 's:$''{prefix}/usr/lib/cgi-bin:$''{libdir}/cgi-bin:g' ${S}/config.layout
}
-do_install_append() {
+do_install_append_class-target() {
install -d ${D}/${sysconfdir}/init.d
+
cat ${WORKDIR}/init | \
sed -e 's,/usr/sbin/,${sbindir}/,g' \
-e 's,/usr/bin/,${bindir}/,g' \
- -e 's,/usr/lib,${libdir}/,g' \
+ -e 's,/usr/lib/,${libdir}/,g' \
-e 's,/etc/,${sysconfdir}/,g' \
-e 's,/usr/,${prefix}/,g' > ${D}/${sysconfdir}/init.d/${BPN}
+
chmod 755 ${D}/${sysconfdir}/init.d/${BPN}
- # remove the goofy original files...
+
+ # Remove the goofy original files...
rm -rf ${D}/${sysconfdir}/${BPN}/original
- # Expat should be found in the staging area via DEPENDS...
- rm -f ${D}/${libdir}/libexpat.*
install -d ${D}${sysconfdir}/${BPN}/conf.d
install -d ${D}${sysconfdir}/${BPN}/modules.d
@@ -93,44 +102,58 @@ do_install_append() {
printf "\nIncludeOptional ${sysconfdir}/${BPN}/conf.d/*.conf" >> ${D}/${sysconfdir}/${BPN}/httpd.conf
printf "\nIncludeOptional ${sysconfdir}/${BPN}/modules.d/*.load" >> ${D}/${sysconfdir}/${BPN}/httpd.conf
printf "\nIncludeOptional ${sysconfdir}/${BPN}/modules.d/*.conf\n\n" >> ${D}/${sysconfdir}/${BPN}/httpd.conf
- # match with that is in init script
+
+ # Match with that is in init script
printf "\nPidFile /run/httpd.pid" >> ${D}/${sysconfdir}/${BPN}/httpd.conf
+
# Set 'ServerName' to fix error messages when restart apache service
sed -i 's/^#ServerName www.example.com/ServerName localhost/' ${D}/${sysconfdir}/${BPN}/httpd.conf
+ sed -i 's/^ServerRoot/#ServerRoot/' ${D}/${sysconfdir}/${BPN}/httpd.conf
+
+ sed -i -e 's,${STAGING_DIR_TARGET},,g' \
+ -e 's,${DEBUG_PREFIX_MAP},,g' \
+ -e 's,-fdebug-prefix-map[^ ]*,,g; s,-fmacro-prefix-map[^ ]*,,g' \
+ -e 's,${HOSTTOOLS_DIR}/,,g' \
+ -e 's,APU_INCLUDEDIR = .*,APU_INCLUDEDIR = ,g' \
+ -e 's,APU_CONFIG = .*,APU_CONFIG = ,g' ${D}${datadir}/apache2/build/config_vars.mk
+
+ sed -i -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
+ -e 's,${DEBUG_PREFIX_MAP},,g' \
+ -e 's,${RECIPE_SYSROOT},,g' \
+ -e 's,-fdebug-prefix-map[^ ]*,,g; s,-fmacro-prefix-map[^ ]*,,g' \
+ -e 's,APU_INCLUDEDIR = .*,APU_INCLUDEDIR = ,g' \
+ -e 's,".*/configure","configure",g' ${D}${datadir}/apache2/build/config.nice
+
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
install -d ${D}${sysconfdir}/tmpfiles.d/
install -m 0644 ${WORKDIR}/apache2-volatile.conf ${D}${sysconfdir}/tmpfiles.d/
+
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/apache2.service ${D}${systemd_unitdir}/system
+ sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/apache2.service
+ sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' ${D}${systemd_unitdir}/system/apache2.service
elif ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
install -d ${D}${sysconfdir}/default/volatiles
install -m 0644 ${WORKDIR}/volatiles.04_apache2 ${D}${sysconfdir}/default/volatiles/04_apache2
fi
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/apache2.service ${D}${systemd_unitdir}/system
- sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/apache2.service
- sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' ${D}${systemd_unitdir}/system/apache2.service
-
+ rm -rf ${D}${localstatedir}
chown -R root:root ${D}
}
-do_install_append_class-target() {
- sed -i -e 's,${STAGING_DIR_HOST},,g' \
- -e 's,APU_INCLUDEDIR = .*,APU_INCLUDEDIR = ,g' \
- -e 's,APU_CONFIG = .*,APU_CONFIG = ,g' ${D}${datadir}/apache2/build/config_vars.mk
-
- sed -i -e 's,${STAGING_DIR_HOST},,g' \
- -e 's,".*/configure","configure",g' ${D}${datadir}/apache2/build/config.nice
- rm -rf ${D}${localstatedir}/run
+do_install_append_class-native() {
+ install -d ${D}${bindir} ${D}${libdir}
+ install -m 755 server/gen_test_char ${D}${bindir}
}
-SYSROOT_PREPROCESS_FUNCS += "apache_sysroot_preprocess"
+SYSROOT_PREPROCESS_FUNCS_append_class-target = " apache_sysroot_preprocess"
-apache_sysroot_preprocess () {
- install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/
- install -m 755 ${D}${bindir}/apxs ${SYSROOT_DESTDIR}${bindir_crossscripts}/
- install -d ${SYSROOT_DESTDIR}${sbindir}/
- install -m 755 ${D}${sbindir}/apachectl ${SYSROOT_DESTDIR}${sbindir}/
+apache_sysroot_preprocess() {
+ install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}
+ install -m 755 ${D}${bindir}/apxs ${SYSROOT_DESTDIR}${bindir_crossscripts}
+ install -d ${SYSROOT_DESTDIR}${sbindir}
+ install -m 755 ${D}${sbindir}/apachectl ${SYSROOT_DESTDIR}${sbindir}
sed -i 's!my $installbuilddir = .*!my $installbuilddir = "${STAGING_DIR_HOST}/${datadir}/${BPN}/build";!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/apxs
sed -i 's!my $libtool = .*!my $libtool = "${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool";!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/apxs
@@ -143,52 +166,38 @@ apache_sysroot_preprocess () {
sed -i 's!--sysroot=[^ ]*!--sysroot=${STAGING_DIR_HOST}!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
}
-#
-# implications - used by update-rc.d scripts
-#
+# Implications - used by update-rc.d scripts
INITSCRIPT_NAME = "apache2"
INITSCRIPT_PARAMS = "defaults 91 20"
-LEAD_SONAME = "libapr-1.so.0"
+
+SYSTEMD_SERVICE_${PN} = "apache2.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "enable"
+
+ALTERNATIVE_${PN}-doc = "htpasswd.1"
+ALTERNATIVE_LINK_NAME[htpasswd.1] = "${mandir}/man1/htpasswd.1"
PACKAGES = "${PN}-scripts ${PN}-doc ${PN}-dev ${PN}-dbg ${PN}"
CONFFILES_${PN} = "${sysconfdir}/${BPN}/httpd.conf \
${sysconfdir}/${BPN}/magic \
- ${sysconfdir}/${BPN}/mime.types \
- ${sysconfdir}/init.d/${BPN} "
+ ${sysconfdir}/${BPN}/mime.types"
-# we override here rather than append so that .so links are
+# We override here rather than append so that .so links are
# included in the runtime package rather than here (-dev)
-# and to get build, icons, error into the -dev package
-FILES_${PN}-dev = "${datadir}/${BPN}/build \
- ${datadir}/${BPN}/icons \
+# and to get icons, error into the -dev package
+FILES_${PN}-dev = "${datadir}/${BPN}/icons \
${datadir}/${BPN}/error \
- ${bindir}/apr-config ${bindir}/apu-config \
- ${libdir}/apr*.exp \
${includedir}/${BPN} \
- ${libdir}/*.la \
- ${libdir}/*.a \
- ${bindir}/apxs \
- "
-
-
-# manual to manual
-FILES_${PN}-doc += " ${datadir}/${BPN}/manual"
+ "
FILES_${PN}-scripts += "${bindir}/dbmmanage"
-#
-# override this too - here is the default, less datadir
-#
-FILES_${PN} = "${bindir} ${sbindir} ${libexecdir} ${libdir}/lib*.so.* ${sysconfdir} \
- ${sharedstatedir} ${localstatedir} /bin /sbin /lib/*.so* \
- ${libdir}/${BPN}"
-
-# we want htdocs and cgi-bin to go with the binary
-FILES_${PN} += "${datadir}/${BPN}/htdocs ${datadir}/${BPN}/cgi-bin"
+# Override this too - here is the default, less datadir
+FILES_${PN} = "${bindir} ${sbindir} ${libexecdir} ${libdir} \
+ ${sysconfdir} ${libdir}/${BPN}"
-#make sure the lone .so links also get wrapped in the base package
-FILES_${PN} += "${libdir}/lib*.so ${libdir}/pkgconfig/*"
+# We want htdocs and cgi-bin to go with the binary
+FILES_${PN} += "${datadir}/${BPN}/ ${libdir}/cgi-bin"
FILES_${PN}-dbg += "${libdir}/${BPN}/modules/.debug"
@@ -196,5 +205,4 @@ RDEPENDS_${PN} += "openssl libgcc"
RDEPENDS_${PN}-scripts += "perl ${PN}"
RDEPENDS_${PN}-dev = "perl"
-FILES_${PN} += "${libdir}/cgi-bin"
-FILES_${PN} += "${datadir}/${BPN}/"
+BBCLASSEXTEND = "native"
diff --git a/meta-webserver/recipes-httpd/apache2/files/init b/meta-webserver/recipes-httpd/apache2/files/init
index 758d133b9e..758d133b9e 100755..100644
--- a/meta-webserver/recipes-httpd/apache2/files/init
+++ b/meta-webserver/recipes-httpd/apache2/files/init