[swift-corelibs-dev] TimeZone database
Youming Lin
ylin at us.ibm.com
Thu Jul 6 15:47:47 CDT 2017
Thanks for pointing me to the package. Turns out it was intentional:
https://github.com/docker-library/official-images/issues/2863
A caveat to Swift developers using official Docker Ubuntu images in the
future.
Youming Lin
IBM Cloud, Swift at IBM, Kitura developer
Austin, TX
GitHub: @youming-lin
From: Simon Evans <si at si.org>
To: Youming Lin <ylin at us.ibm.com>
Cc: Alex Blewitt <alblue at apple.com>, Ian Partridge
<ian at poncho.org.uk>, swift-corelibs-dev
<swift-corelibs-dev at swift.org>
Date: 07/06/2017 03:20 PM
Subject: Re: [swift-corelibs-dev] TimeZone database
Looks like timezone files are in the ‘tzdata’ package. Maybe it got
uninstalled or was never installed as part of the base. An ‘apt-get install
tzdata’ might fix it.
Simon
On 6 Jul 2017, at 20:20, Youming Lin via swift-corelibs-dev <
swift-corelibs-dev at swift.org> wrote:
That's odd. Maybe my ubuntu:16.04 image is outdated or something, but
here are my outputs:
ylin at youming-mbpr:~/Swift/Kitura-Markdown$ docker run -it --rm
ubuntu:16.04 find /usr -name zone.tab
ylin at youming-mbpr:~/Swift/Kitura-Markdown$ docker run -it --rm
ubuntu:14.04 find /usr -name zone.tab
/usr/share/zoneinfo/zone.tab
The file is found in ubuntu:14.04 but not in ubuntu:16.04.
Here are my images:
ylin at youming-mbpr:~/Swift/Kitura-Markdown$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 16.04 7b9b13f7b9c0 4 weeks ago 118MB
ubuntu 14.04 132b7427a3b4 4 weeks ago 188MB
Thanks,
Youming Lin
IBM Cloud, Swift at IBM, Kitura developer
Austin, TX
GitHub: @youming-lin
<graycol.gif>Alex Blewitt ---07/06/2017 01:42:22 PM---It looks like
it's /usr/share/zoneinfo on all Ubuntu versions: alblue.local[~]$
docker run -it --rm
From: Alex Blewitt <alblue at apple.com>
To: Tony Parker <anthony.parker at apple.com>
Cc: Youming Lin <ylin at us.ibm.com>, Ian Partridge <ian at poncho.org.uk>,
swift-corelibs-dev <swift-corelibs-dev at swift.org>
Date: 07/06/2017 01:42 PM
Subject: Re: [swift-corelibs-dev] TimeZone database
Sent by: alblue at apple.com
It looks like it's /usr/share/zoneinfo on all Ubuntu versions:
alblue.local[~]$ docker run -it --rm ubuntu:14.04 find /usr -name
zone.tab
/usr/share/zoneinfo/zone.tab
alblue.local[~]$ docker run -it --rm ubuntu:16.04 find /usr -name
zone.tab
/usr/share/zoneinfo/zone.tab
alblue.local[~]$ docker run -it --rm ubuntu:16.10 find /usr -name
zone.tab
/usr/share/zoneinfo/zone.tab
This is the same that's coming from CFTimeZone.c:
https://github.com/apple/swift-corelibs-foundation/blob/2611dcd0d9b91fecace537838294bd85f0220503/CoreFoundation/NumberDate.subproj/CFTimeZone.c#L36-L39
Is it possible that the MacOS header is being included and defining
TZDIR before the CFTimeZone.c file is compiled?
Alex
On 6 Jul 2017, at 19:22, Tony Parker via
swift-corelibs-dev <swift-corelibs-dev at swift.org> wrote:
Is the path to zoneinfo different on the Ubuntu docker
image?
- Tony
On Jul 6, 2017, at 9:36 AM, Youming Lin <
ylin at us.ibm.com> wrote:
We were seeing this on Travis too.
Specifically, on a Travis matrix build using
Swift 3.1.1 on a Ubuntu 16.04 docker image
running inside a Travis 14.04 VM.
The issue was specific to the Ubuntu 16.04
docker image; when I tested in Ubuntu 16.04
OS as a guest VM, the issue went away.
Thanks,
Youming Lin
IBM Cloud, Swift at IBM, Kitura developer
Austin, TX
GitHub: @youming-lin
<graycol.gif>Tony Parker via
swift-corelibs-dev ---07/06/2017 10:31:15
AM---Yes, we’re discussing this one
internally too and trying to figure out what
the right answer is. May
From: Tony Parker via swift-corelibs-dev <
swift-corelibs-dev at swift.org>
To: Ian Partridge <ian at poncho.org.uk>
Cc: swift-corelibs-dev <
swift-corelibs-dev at swift.org>
Date: 07/06/2017 10:31 AM
Subject: Re: [swift-corelibs-dev] TimeZone
database
Sent by: swift-corelibs-dev-bounces at swift.org
Yes, we’re discussing this one internally too
and trying to figure out what the right
answer is. Maybe the best solution for now is
to find a good mechanism to check the
underlying version of the OS and split it out
into a function as you suggest.
- Tony
On Jul 6, 2017, at
7:37 AM, Ian
Partridge via
swift-corelibs-dev <
swift-corelibs-dev at swift.org
> wrote:
Good shout Simon, you
are right. I'm on
Sierra. Compare and
contrast:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/tzfile.h
#define TZDIR
"/usr/share/zoneinfo"
/Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/tzfile.h
#define TZDIR
"/var/db/timezone/zoneinfo"
so I guess if I
installed the High
Sierra beta it would
work OK.
I hacked CF to force
it to
use /usr/share/zoneinfo
and TestFoundation
is much happier, but
that's not a
solution.
On 6 July 2017 at
15:20, Simon Evans <
si at si.org> wrote:
Ian
I also saw this error, I think its because the TZDIR is different in the
headers shipped with Xcode 9. Maybe the location of the timezone
directory was moved between Sierra and High Sierra. What version of
macOS are you testing on?
If it has indeed moved between 10.12 and 10.13 it may require a runtime
version check to dynamically return TZDIR.
Simon
On 6 Jul 2017, at 15:09, Ian Partridge via
swift-corelibs-dev <swift-corelibs-dev at swift.org
> wrote:
Hi,
I'm seeing quite a lot of tests failing when
running the
TestFoundation target in Xcode. The failures are
timezone related.
Most simply, the code
let timeZone = TimeZone(abbreviation: "GMT")
is returning nil.
Walking through the CF code which sets things
up, it seems to be
trying to read the timezone database from
/var/db/timezone/zoneinfo/zone.tab which doesn't
exist on my macOS
system.
/usr/share/zoneinfo/zone.tab is there and seems
to be the right
location (?), but CF is picking up TZDIR from
tzfile.h which says:
#define TZDIR "/var/db/timezone/zoneinfo"
Any thoughts? I feel like I'm missing something
obvious and have gone
too far down the rabbit hole.
--
Ian Partridge
_______________________________________________
swift-corelibs-dev mailing list
swift-corelibs-dev at swift.org
https://lists.swift.org/mailman/listinfo/swift-corelibs-dev
--
Ian Partridge
_______________________________________________
swift-corelibs-dev
mailing list
swift-corelibs-dev at swift.org
https://lists.swift.org/mailman/listinfo/swift-corelibs-dev
_______________________________________________
swift-corelibs-dev mailing list
swift-corelibs-dev at swift.org
https://lists.swift.org/mailman/listinfo/swift-corelibs-dev
_______________________________________________
swift-corelibs-dev mailing list
swift-corelibs-dev at swift.org
https://lists.swift.org/mailman/listinfo/swift-corelibs-dev
_______________________________________________
swift-corelibs-dev mailing list
swift-corelibs-dev at swift.org
https://lists.swift.org/mailman/listinfo/swift-corelibs-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-corelibs-dev/attachments/20170706/d791c7f2/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: graycol.gif
Type: image/gif
Size: 105 bytes
Desc: not available
URL: <https://lists.swift.org/pipermail/swift-corelibs-dev/attachments/20170706/d791c7f2/attachment.gif>
More information about the swift-corelibs-dev
mailing list