tzcode resync

Mark Geisert mark@maxrnd.com
Wed Apr 29 07:03:27 GMT 2020


Hi folks,

On Mon, 27 Apr 2020, Corinna Vinschen wrote:
> On Apr 24 17:19, Yaakov Selkowitz wrote:
>> Our winsup/cygwin/localtime.cc is a mashup of a very old version of
>> upstream tzcode's private.h, tzfile.h, and localtime.c with Cygwin-
>> specific patches for getting the timezone from windows as a fallback,
>> as well as handling API compatibility with pre-tm_gmtoff binaries.
>>
>> The upstream tzcode/tzdata have introduced database changes which
>> cannot be read by old code.  Currently, I am building tzdata in the old
>> ("rearguard") format to keep compatibility, but at this point we're
>> *way* behind upstream and we really should update our code.  Given how
>> long it's been though, it's going to be a bit of work.
>
> When I updated localtime.cc back in 2012, I tried to keep it in a format
> which allows further updates from the NetBSD version later on.
>
> The last localtime.c update in NetBSD is from 2019.  That should be
> sufficient, shouldn't it?
>
> The upstream localtime.c diff from version 1.72 to current 1.122 is
> 3K lines of code, so it's still a lot of work, probably...

I can take this on.  I've looked at the current NetBSD code diffed against 
the version we use: there's a fair amount of prototype rejiggering and 
recoding of localized areas.  New code too, of course.  I've done this 
kind of thing before and this project seems doable to me.

I assume I can bring the current NetBSD code directly into Cygwin?  In a 
legal sense, I mean.  Code-wise I see what Yaakov's suggested and it seems 
like a great way to go.

The other question I have is, once I believe I've got it incorporated into 
Cygwin, what can I use to test that it's operating correctly?

..mark


More information about the Cygwin-developers mailing list