This is the mail archive of the mailing list for the glibc project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PING^2] RFC [PATCH] BZ#1077902: New API gettimezone

On 05/01/2014 12:05 AM, P J P wrote:
But there is a programmatic API, namely getenv ("TZ").
   It requires that TZ is defined and exported on the host.

No, getenv ("TZ") works just fine when TZ is not set. getenv ("TZ") returns a null pointer in that case, and all you need to do is toarrange for TZ to be similarly unset in the chrooted jail.

I also said copying files across chroot(2) jail does not work. Besides, if it worked and we decided to sync files across chroot(2) jail, we would end-up creating something analogous to python-virtualenv or docker or some such thing. Which would copy 'required' files across to the new root and update them as and when required.

I'm not quite following all this, as it seems to say at first that you can't arrange for the tz files to be the same, but later that if you arrange for the tz files to be the same then you'd need something like docker. The point I was trying to make is that if you want your applications to work the same regardless of how they set TZ, then you must arrange for the tz files to be the same. This will be true regardless of whether the glibc API is changed.

If you don't care whether arbitrary-TZ-setting applications work the same, then you needn't keep all the files in sync. For example, if you know your applications will never set TZ='America/Swift_Current' and that no sysadmin will ever set system localtime to America/Swift_Current, you can omit the file America/Swift_Current from your consideration, and not bother to distribute or to update that file. This sort of optimization is application-specific, though, and it's not clear that the glibc API needs to be changed to support it.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]