This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PING^2] RFC [PATCH] BZ#1077902: New API gettimezone
- From: "Carlos O'Donell" <carlos at redhat dot com>
- To: Paul Eggert <eggert at cs dot ucla dot edu>, P J P <pj dot pandit at yahoo dot co dot in>, "libc-alpha at sourceware dot org" <libc-alpha at sourceware dot org>
- Date: Thu, 01 May 2014 14:33:44 -0400
- Subject: Re: [PING^2] RFC [PATCH] BZ#1077902: New API gettimezone
- Authentication-results: sourceware.org; auth=none
- References: <1396499286 dot 85118 dot YahooMailNeo at web192405 dot mail dot sg3 dot yahoo dot com> <534971E4 dot 6060001 at cs dot ucla dot edu> <53497633 dot 6060804 at redhat dot com> <1397324033 dot 69177 dot YahooMailNeo at web192403 dot mail dot sg3 dot yahoo dot com> <5349A4B0 dot 2070206 at redhat dot com> <1397375798 dot 36419 dot YahooMailNeo at web192401 dot mail dot sg3 dot yahoo dot com> <1397414803 dot 70882 dot YahooMailNeo at web192403 dot mail dot sg3 dot yahoo dot com> <534B8A9F dot 8030806 at redhat dot com> <1397469748 dot 42212 dot YahooMailNeo at web192405 dot mail dot sg3 dot yahoo dot com> <1398146221 dot 72442 dot YahooMailNeo at web192403 dot mail dot sg3 dot yahoo dot com> <1398755742 dot 94004 dot YahooMailNeo at web192405 dot mail dot sg3 dot yahoo dot com> <535F74EE dot 8010002 at redhat dot com> <1398775268 dot 92264 dot YahooMailNeo at web192405 dot mail dot sg3 dot yahoo dot com> <535FC11B dot 3000906 at cs dot ucla dot edu> <1398801168 dot 81041 dot YahooMailNeo at web192406 dot mail dot sg3 dot yahoo dot com> <5360378D dot 1060306 at cs dot ucla dot edu> <1398872997 dot 84757 dot YahooMailNeo at web192402 dot mail dot sg3 dot yahoo dot com> <53614148 dot 90603 at cs dot ucla dot edu> <5361D8D1 dot 60400 at redhat dot com> <5361E805 dot 9080606 at cs dot ucla dot edu> <5361F22E dot 3070206 at redhat dot com> <53628A02 dot 9080702 at cs dot ucla dot edu>
On 05/01/2014 01:53 PM, Paul Eggert wrote:
> On 05/01/2014 12:05 AM, Carlos O'Donell wrote:
>> getenv ("TZ"); right now on an OpenShift gear returns "", and if I
>> pass my cartridge to someone running in Mumbai, and they use it the
>> chroot'd process prints the wrong time.
>
> If getenv ("TZ") returns the empty string both here and in Mumbai,
> glibc localtime will use UTC in both places, so you should be OK.
Let me refine the questions because we're talking past each other
at this point.
Goal:
- Set the local time in the chroot to match the server local time.
Assumptions:
- Server and chroot have updated and matching zone info files.
- You don't control the server e.g. OpenShift Gears or Docker.
Solutions:
(1) Have the administrator of the server set the TZ env var to match
/etc/localtime.
- Not easy. Extra step for admin.
- The TZ env var propagates to chroot'd application and time
is fine.
(2) Copy the /etc/localtime file from the server to the chroot.
- Requires a RW chroot which is inefficient if you are running
say on docker in which you desire to keep your base images
identical. Changes to the images are *real* $$$ costs in say
EBS storage from AWS.
(3) Provide an API for users to learn what their zone is.
- User queries zone, sets TZ, and runs chroot'd application.
- Adds API complexity.
Is you opinion that (1) is the correct solution?
Cheers,
Carlos.