From: Renato S. <br....@gm...> - 2012-10-16 04:44:33
|
It is too long to copy and paste, and I tried to explain the problem quite well, so I'm just linking: http://stackoverflow.com/questions/12765650/mingw-msys-msvcrt-and-the-tz-environment-variable Can anyone give clear information as explained in the above link? Thanks! |
From: Earnie B. <ea...@us...> - 2012-10-16 11:54:59
|
On Tue, Oct 16, 2012 at 12:43 AM, Renato Silva wrote: > It is too long to copy and paste, and I tried to explain the problem quite > well, so I'm just linking: > > http://stackoverflow.com/questions/12765650/mingw-msys-msvcrt-and-the-tz-environment-variable > > Can anyone give clear information as explained in the above link? I posted the below as an answer to the above link. The simple solution is to set your windows environment variable as you expect then change the variable in your ~/.profile file for MSYS to what POSIX expects. -- Earnie -- https://sites.google.com/site/earnieboyd |
From: Renato S. <br....@gm...> - 2012-10-16 15:40:29
|
Em 16/10/2012 08:57, "Earnie Boyd" <ea...@us...> escreveu: > > On Tue, Oct 16, 2012 at 12:43 AM, Renato Silva wrote: > > It is too long to copy and paste, and I tried to explain the problem quite > > well, so I'm just linking: > > > > http://stackoverflow.com/questions/12765650/mingw-msys-msvcrt-and-the-tz-environment-variable > > > > Can anyone give clear information as explained in the above link? > > I posted the below as an answer to the above link. > > The simple solution is to set your windows environment variable as you > expect then change the variable in your ~/.profile file for MSYS to > what POSIX expects. I'm sorry but that's the very problem not a solution :( Maybe it wasn't clear but I'm already setting TZ from within MSYS (in /etc/profile), and I run MSVCRT programs from within Bash, so whatever it was in Windows gets overwritten. In Windows, I need TZ unset because MSVCRT works just fine without it, in fact TZ is just a way to break system settings here. The best solution I've figured out so far is caching my desired TZ value in some other variable in /etc/profile or similar (because the DST period part comes from a Ruby script), then set TZ with the cached value for each command I manage to figure out to be using MSYS runtime for local time (currently date and ls). > > -- > Earnie > -- https://sites.google.com/site/earnieboyd > > ------------------------------------------------------------------------------ > Don't let slow site performance ruin your business. Deploy New Relic APM > Deploy New Relic app performance management and know exactly > what is happening inside your Ruby, Python, PHP, Java, and .NET app > Try New Relic at no cost today and get our sweet Data Nerd shirt too! > http://p.sf.net/sfu/newrelic-dev2dev > _______________________________________________ > MinGW-users mailing list > Min...@li... > > This list observes the Etiquette found at > http://www.mingw.org/Mailing_Lists. > We ask that you be polite and do the same. Disregard for the list etiquette may cause your account to be moderated. > > _______________________________________________ > You may change your MinGW Account Options or unsubscribe at: > https://lists.sourceforge.net/lists/listinfo/mingw-users > Also: mailto:min...@li...?subject=unsubscribe |
From: Konrad H. <ko...@pa...> - 2012-10-16 16:44:43
|
Renato Silva [mailto:br....@gm...] said: On Tuesday, October 16, 2012 10:40 AM Em 16/10/2012 08:57, "Earnie Boyd" <ea...@us...<mailto:ea...@us...>> escreveu: > > On Tue, Oct 16, 2012 at 12:43 AM, Renato Silva wrote: > > It is too long to copy and paste, and I tried to explain the problem quite > > well, so I'm just linking: > > > > http://stackoverflow.com/questions/12765650/mingw-msys-msvcrt-and-the-tz-environment-variable > > > > Can anyone give clear information as explained in the above link? > > I posted the below as an answer to the above link. > > The simple solution is to set your windows environment variable as you > expect then change the variable in your ~/.profile file for MSYS to > what POSIX expects. I'm sorry but that's the very problem not a solution :( Maybe it wasn't clear but I'm already setting TZ from within MSYS (in /etc/profile), and I run MSVCRT programs from within Bash, so whatever it was in Windows gets overwritten. In Windows, I need TZ unset because MSVCRT works just fine without it, in fact TZ is just a way to break system settings here. The best solution I've figured out so far is caching my desired TZ value in some other variable in /etc/profile or similar (because the DST period part comes from a Ruby script), then set TZ with the cached value for each command I manage to figure out to be using MSYS runtime for local time (currently date and ls). Renalto -- While I've not tried putting a SETLOCAL / ENDLOCAL Pair in MSYS.BAT that might help. What has been working for me is to begin my $HOME/.profile with: unset TZ HTH. -- kjh |
From: Renato S. <br....@gm...> - 2012-10-17 14:26:51
|
2012/10/16 Konrad Hambrick <ko...@pa...> > ** ** > > ** ** > > Renato Silva [mailto:br....@gm...] said: > *On* Tuesday, October 16, 2012 10:40 AM > Em 16/10/2012 08:57, "Earnie Boyd" <ea...@us...> > escreveu: > > > > On Tue, Oct 16, 2012 at 12:43 AM, Renato Silva wrote: > > > It is too long to copy and paste, and I tried to explain the problem > quite > > > well, so I'm just linking: > > > > > > > http://stackoverflow.com/questions/12765650/mingw-msys-msvcrt-and-the-tz-environment-variable > > > > > > Can anyone give clear information as explained in the above link? > > > > I posted the below as an answer to the above link. > > > > The simple solution is to set your windows environment variable as you > > expect then change the variable in your ~/.profile file for MSYS to > > what POSIX expects.**** > > I'm sorry but that's the very problem not a solution :( Maybe it wasn't > clear but I'm already setting TZ from within MSYS (in /etc/profile), and I > run MSVCRT programs from within Bash, so whatever it was in Windows gets > overwritten. In Windows, I need TZ unset because MSVCRT works just fine > without it, in fact TZ is just a way to break system settings here. The > best solution I've figured out so far is caching my desired TZ value in > some other variable in /etc/profile or similar (because the DST period part > comes from a Ruby script), then set TZ with the cached value for each > command I manage to figure out to be using MSYS runtime for local time > (currently date and ls).**** > > Renalto --**** > > While I've not tried putting a SETLOCAL / ENDLOCAL Pair in MSYS.BAT that > might help.**** > > What has been working for me is to begin my $HOME/.profile with:**** > > unset TZ**** > > HTH.**** > > -- kjh > Ok so I just took a look at [setlocal], but I can't see how it would help :( Besides, I don't use msys.bat at all, I call "mintty bash --login -i" directly instead. [setlocal] http://technet.microsoft.com/en-us/library/bb491001.aspx **** > > > ------------------------------------------------------------------------------ > Don't let slow site performance ruin your business. Deploy New Relic APM > Deploy New Relic app performance management and know exactly > what is happening inside your Ruby, Python, PHP, Java, and .NET app > Try New Relic at no cost today and get our sweet Data Nerd shirt too! > http://p.sf.net/sfu/newrelic-dev2dev > _______________________________________________ > MinGW-users mailing list > Min...@li... > > This list observes the Etiquette found at > http://www.mingw.org/Mailing_Lists. > We ask that you be polite and do the same. Disregard for the list > etiquette may cause your account to be moderated. > > _______________________________________________ > You may change your MinGW Account Options or unsubscribe at: > https://lists.sourceforge.net/lists/listinfo/mingw-users > Also: mailto:min...@li...?subject=unsubscribe > |
From: Eli Z. <el...@gn...> - 2012-10-16 17:49:09
|
> Date: Tue, 16 Oct 2012 12:40:16 -0300 > From: Renato Silva <br....@gm...> > > > The simple solution is to set your windows environment variable as you > > expect then change the variable in your ~/.profile file for MSYS to > > what POSIX expects. > > I'm sorry but that's the very problem not a solution :( Maybe it wasn't > clear but I'm already setting TZ from within MSYS (in /etc/profile), and I > run MSVCRT programs from within Bash, so whatever it was in Windows gets > overwritten. In Windows, I need TZ unset because MSVCRT works just fine > without it, in fact TZ is just a way to break system settings here. The > best solution I've figured out so far is caching my desired TZ value in > some other variable in /etc/profile or similar (because the DST period part > comes from a Ruby script), then set TZ with the cached value for each > command I manage to figure out to be using MSYS runtime for local time > (currently date and ls). Which MSVCRT programs do you run from the MSYS Bash, and why? If that's Bazaar, can you run it from the "normal" cmd window instead? IOW, if you can arrange things such that only MSYS programs are run from the MSYS Bash window, and MSVCRT programs are run either from cmd or by clicking on the desktop, then you can set TZ in Bash to what Posix programs expect, and keep that TZ value out of sight of the MSVCRT programs, which will see the system-wide value (or no value at all) you set through My Computer and/or Registry. Anything else is either going to be painful or plainly won't work, because the restricted syntax of TZ supported by the MS runtime is not useful even in the US these days. If you want MSYS and native Windows programs live in peace, don't mix them in the same window and environment. The only exception to this rule is the compiler and Binutils needed to create MinGW programs -- and that's because MSYS was specially and carefully crafted to allow this very kind of jobs. |
From: Renato S. <br....@gm...> - 2012-10-17 04:02:25
|
2012/10/16 Eli Zaretskii <el...@gn...> > > Date: Tue, 16 Oct 2012 12:40:16 -0300 > > From: Renato Silva <br....@gm...> > > > > > The simple solution is to set your windows environment variable as you > > > expect then change the variable in your ~/.profile file for MSYS to > > > what POSIX expects. > > > > I'm sorry but that's the very problem not a solution :( Maybe it wasn't > > clear but I'm already setting TZ from within MSYS (in /etc/profile), and > I > > run MSVCRT programs from within Bash, so whatever it was in Windows gets > > overwritten. In Windows, I need TZ unset because MSVCRT works just fine > > without it, in fact TZ is just a way to break system settings here. The > > best solution I've figured out so far is caching my desired TZ value in > > some other variable in /etc/profile or similar (because the DST period > part > > comes from a Ruby script), then set TZ with the cached value for each > > command I manage to figure out to be using MSYS runtime for local time > > (currently date and ls). > > Which MSVCRT programs do you run from the MSYS Bash, and why? > > If that's Bazaar, can you run it from the "normal" cmd window instead? > > Hi Eli, I use Bash with MinTTY as my command line interface in Windows, because, you know, cmd.exe really sucks. But yes, that would work, but it's worse than my current approach of adding aliases for each MSVCRT program I run within bash (or my planned approach to conversely cache TZ and set it for date, ls etc.). It's worse because every time I run Bazaar, I must remember to run separately in cmd.exe, in fact it's easier to just "env -u TZ bzr" ad hoc, and more easier if done once in bash login. From what I can remember right now, Bazaar, Python and Ruby are the only MSVCRT applications I'm aware of using from Bash, but as said cmd.exe is not an option for me. > IOW, if you can arrange things such that only MSYS programs are run > from the MSYS Bash window, and MSVCRT programs are run either from cmd > or by clicking on the desktop, then you can set TZ in Bash to what > Posix programs expect, and keep that TZ value out of sight of the > MSVCRT programs, which will see the system-wide value (or no value at > all) you set through My Computer and/or Registry. > > Anything else is either going to be painful or plainly won't work, > because the restricted syntax of TZ supported by the MS runtime is not > useful even in the US these days. > > As I said having TZ either unset for bzr/python/etc. or set for date/ls/etc, by means of an alias, is going to work, except that each single command needs to be tracked down and added to the list. Yes, it is such an unfortunate coincidence Microsoft decided to implement functionality for TZ as well, but different from POSIX. If you want MSYS and native Windows programs live in peace, don't mix > them in the same window and environment. The only exception to this > rule is the compiler and Binutils needed to create MinGW programs -- > and that's because MSYS was specially and carefully crafted to allow > this very kind of jobs. > Well, my current solution works great, and this is the only considerable problem I have faced so far between Bash and Windows. I'm sure addding zoneinfo to MSYS would fix it quite well though, I don't think it would be an extravagance, and I don't believe it would be hard to implement. Actually, I'm still not convinced that MSYS has no support for zoneinfo at all, maybe it was just me that didn't set up it correctly. Or maybe glibc used by MSYS is really ancient, who knows... but here I am to know :) For you all, I really appreciate your suggestions, thanks... but if someone knows specifically about zoneinfo it would be great to know... I think I explained my doubts more clearly there in the Stack Overflow post. Regards. ------------------------------------------------------------------------------ Don't let slow site performance ruin your business. Deploy New Relic APM Deploy New Relic app performance management and know exactly what is happening inside your Ruby, Python, PHP, Java, and .NET app Try New Relic at no cost today and get our sweet Data Nerd shirt too! http://p.sf.net/sfu/newrelic-dev2dev _______________________________________________ MinGW-users mailing list Min...@li... This list observes the Etiquette found at http://www.mingw.org/Mailing_Lists. We ask that you be polite and do the same. Disregard for the list etiquette may cause your account to be moderated. _______________________________________________ You may change your MinGW Account Options or unsubscribe at: https://lists.sourceforge.net/lists/listinfo/mingw-users Also: mailto:min...@li...?subject=unsubscribe > |
From: Earnie B. <ea...@us...> - 2012-10-16 18:50:44
|
On Tue, Oct 16, 2012 at 11:40 AM, Renato Silva wrote: > > Em 16/10/2012 08:57, "Earnie Boyd" escreveu: > > >> >> On Tue, Oct 16, 2012 at 12:43 AM, Renato Silva wrote: >> > It is too long to copy and paste, and I tried to explain the problem >> > quite >> > well, so I'm just linking: >> > >> > >> > http://stackoverflow.com/questions/12765650/mingw-msys-msvcrt-and-the-tz-environment-variable >> > >> > Can anyone give clear information as explained in the above link? >> >> I posted the below as an answer to the above link. >> >> The simple solution is to set your windows environment variable as you >> expect then change the variable in your ~/.profile file for MSYS to >> what POSIX expects. > > I'm sorry but that's the very problem not a solution :( Maybe it wasn't > clear but I'm already setting TZ from within MSYS (in /etc/profile), and I > run MSVCRT programs from within Bash, so whatever it was in Windows gets > overwritten. In Windows, I need TZ unset because MSVCRT works just fine > without it, in fact TZ is just a way to break system settings here. The best > solution I've figured out so far is caching my desired TZ value in some > other variable in /etc/profile or similar (because the DST period part comes > from a Ruby script), then set TZ with the cached value for each command I > manage to figure out to be using MSYS runtime for local time (currently date > and ls). Ok, I understand now. You can create a script to start bazaar. <file name="/bin/bazaar"> #! /bin/sh export TZ= start bazaar.exe "$@" </file> You may need to play with the syntax, I do not have bazaar to play with. You may need to supply the full path to bazaar.exe. -- Earnie -- https://sites.google.com/site/earnieboyd |
From: Renato S. <br....@gm...> - 2012-10-16 23:06:17
|
Em 16/10/2012 15:53, "Earnie Boyd" <ea...@us...> escreveu: > > On Tue, Oct 16, 2012 at 11:40 AM, Renato Silva wrote: > > > > Em 16/10/2012 08:57, "Earnie Boyd" escreveu: > > > > > >> > >> On Tue, Oct 16, 2012 at 12:43 AM, Renato Silva wrote: > >> > It is too long to copy and paste, and I tried to explain the problem > >> > quite > >> > well, so I'm just linking: > >> > > >> > > >> > http://stackoverflow.com/questions/12765650/mingw-msys-msvcrt-and-the-tz-environment-variable > >> > > >> > Can anyone give clear information as explained in the above link? > >> > >> I posted the below as an answer to the above link. > >> > >> The simple solution is to set your windows environment variable as you > >> expect then change the variable in your ~/.profile file for MSYS to > >> what POSIX expects. > > > > I'm sorry but that's the very problem not a solution :( Maybe it wasn't > > clear but I'm already setting TZ from within MSYS (in /etc/profile), and I > > run MSVCRT programs from within Bash, so whatever it was in Windows gets > > overwritten. In Windows, I need TZ unset because MSVCRT works just fine > > without it, in fact TZ is just a way to break system settings here. The best > > solution I've figured out so far is caching my desired TZ value in some > > other variable in /etc/profile or similar (because the DST period part comes > > from a Ruby script), then set TZ with the cached value for each command I > > manage to figure out to be using MSYS runtime for local time (currently date > > and ls). > > Ok, I understand now. You can create a script to start bazaar. > > <file name="/bin/bazaar"> > #! /bin/sh > export TZ= > start bazaar.exe "$@" > </file> I'm already doing pretty the same, but easier: alias bzr="env -u TZ bzr", but as explained I'm looking for a better solution (better than the TZ cache above as well) > You may need to play with the syntax, I do not have bazaar to play > with. You may need to supply the full path to bazaar.exe. > > -- > Earnie > -- https://sites.google.com/site/earnieboyd > > ------------------------------------------------------------------------------ > Don't let slow site performance ruin your business. Deploy New Relic APM > Deploy New Relic app performance management and know exactly > what is happening inside your Ruby, Python, PHP, Java, and .NET app > Try New Relic at no cost today and get our sweet Data Nerd shirt too! > http://p.sf.net/sfu/newrelic-dev2dev > _______________________________________________ > MinGW-users mailing list > Min...@li... > > This list observes the Etiquette found at > http://www.mingw.org/Mailing_Lists. > We ask that you be polite and do the same. Disregard for the list etiquette may cause your account to be moderated. > > _______________________________________________ > You may change your MinGW Account Options or unsubscribe at: > https://lists.sourceforge.net/lists/listinfo/mingw-users > Also: mailto:min...@li...?subject=unsubscribe |
From: Renato S. <br....@gm...> - 2012-10-16 23:14:37
|
Em 16/10/2012 13:47, "Konrad Hambrick" <ko...@pa...> escreveu: > > > > > > Renato Silva [mailto:br....@gm...] said: > On Tuesday, October 16, 2012 10:40 AM > Em 16/10/2012 08:57, "Earnie Boyd" <ea...@us...> escreveu: > > > > On Tue, Oct 16, 2012 at 12:43 AM, Renato Silva wrote: > > > It is too long to copy and paste, and I tried to explain the problem quite > > > well, so I'm just linking: > > > > > > http://stackoverflow.com/questions/12765650/mingw-msys-msvcrt-and-the-tz-environment-variable > > > > > > Can anyone give clear information as explained in the above link? > > > > I posted the below as an answer to the above link. > > > > The simple solution is to set your windows environment variable as you > > expect then change the variable in your ~/.profile file for MSYS to > > what POSIX expects. > > I'm sorry but that's the very problem not a solution :( Maybe it wasn't clear but I'm already setting TZ from within MSYS (in /etc/profile), and I run MSVCRT programs from within Bash, so whatever it was in Windows gets overwritten. In Windows, I need TZ unset because MSVCRT works just fine without it, in fact TZ is just a way to break system settings here. The best solution I've figured out so far is caching my desired TZ value in some other variable in /etc/profile or similar (because the DST period part comes from a Ruby script), then set TZ with the cached value for each command I manage to figure out to be using MSYS runtime for local time (currently date and ls). > > Renalto -- > > While I've not tried putting a SETLOCAL / ENDLOCAL Pair in MSYS.BAT that might help. > > What has been working for me is to begin my $HOME/.profile with: > > unset TZ Thanks for the msys.bat tip, I plan to try it out later. But what do you mean unset TZ in bash works for you? What's your use case? > > HTH. > > -- kjh > > > ------------------------------------------------------------------------------ > Don't let slow site performance ruin your business. Deploy New Relic APM > Deploy New Relic app performance management and know exactly > what is happening inside your Ruby, Python, PHP, Java, and .NET app > Try New Relic at no cost today and get our sweet Data Nerd shirt too! > http://p.sf.net/sfu/newrelic-dev2dev > _______________________________________________ > MinGW-users mailing list > Min...@li... > > This list observes the Etiquette found at > http://www.mingw.org/Mailing_Lists. > We ask that you be polite and do the same. Disregard for the list etiquette may cause your account to be moderated. > > _______________________________________________ > You may change your MinGW Account Options or unsubscribe at: > https://lists.sourceforge.net/lists/listinfo/mingw-users > Also: mailto:min...@li...?subject=unsubscribe |
From: Earnie B. <ea...@us...> - 2012-10-17 11:43:52
|
On Tue, Oct 16, 2012 at 7:14 PM, Renato Silva wrote: > > Thanks for the msys.bat tip, I plan to try it out later. But what do you > mean unset TZ in bash works for you? What's your use case? Caution, modifying msys.bat is not recommended. An update will destroy your changes. Copy it, change the copy, then replace msys.bat to your copy of it in the desktop shortcut. -- Earnie -- https://sites.google.com/site/earnieboyd |
From: Konrad H. <ko...@pa...> - 2012-10-17 10:23:11
|
Renato Silva [mailto:br....@gm...] On Tuesday, October 16, 2012 6:15 PM Em 16/10/2012 13:47, "Konrad Hambrick" <ko...@pa...<mailto:ko...@pa...>> escreveu: > Renato Silva [mailto:br....@gm...<mailto:br....@gm...>] said: > On Tuesday, October 16, 2012 10:40 AM > Em 16/10/2012 08:57, "Earnie Boyd" <ea...@us...<mailto:ea...@us...>> escreveu: > > > > On Tue, Oct 16, 2012 at 12:43 AM, Renato Silva wrote: > > > It is too long to copy and paste, and I tried to explain the problem quite > > > well, so I'm just linking: > > > > > > http://stackoverflow.com/questions/12765650/mingw-msys-msvcrt-and-the-tz-environment-variable > > > > > > Can anyone give clear information as explained in the above link? > > > > I posted the below as an answer to the above link. > > > > The simple solution is to set your windows environment variable as you > > expect then change the variable in your ~/.profile file for MSYS to > > what POSIX expects. > > I'm sorry but that's the very problem not a solution :( Maybe it wasn't clear but I'm already setting TZ from within MSYS (in /etc/profile), and I run MSVCRT programs from within Bash, so whatever it was in Windows gets overwritten. In Windows, I need TZ unset because MSVCRT works just fine without it, in fact TZ is just a way to break system settings here. The best solution I've figured out so far is caching my desired TZ value in some other variable in /etc/profile or similar (because the DST period part comes from a Ruby script), then set TZ with the cached value for each command I manage to figure out to be using MSYS runtime for local time (currently date and ls). > > Renalto -- > > While I've not tried putting a SETLOCAL / ENDLOCAL Pair in MSYS.BAT that might help. > > What has been working for me is to begin my $HOME/.profile with: > > unset TZ Thanks for the msys.bat tip, I plan to try it out later. But what do you mean unset TZ in bash works for you? What's your use case? Renalto -- I run a set of portable #!/bin/sh Data Conversion scripts on UNIX/Linux/WinXX. The scripts include 'the usual' UNIX Tools plus a few MinGW-Compiled Console C-Programs and a couple ActiveState Compiled Perl Apps. I use MSys to run the same scripts on Various WinXX Versions as I run on UNIX/Linux and I have the same scripts on 40-50 Machines 'out in the world'. The Windows System Environment includes a TZ Variable which is set by a Business BASIC App and when I 'leave it set' in the MSys Environment, the Dates reported by `ls` and `date` are unreliable. In addition, the dates reported by strftime(), systime() in gawk and localtime() perl report the same incorrect TimeZones I see in `ls` and `date`. Some Windows Systems show UTC while others show 'random' Time Zones. Adding an unset TZ to the top of my MSys ~/.profile fixes the dates for all my programs. HTH -- kjh( sorry about the formatting -- Outlook is a horrible email program -- I can't seem to 'take control' ) |
From: Renato S. <br....@gm...> - 2012-10-17 14:08:28
|
Em 17/10/2012 07:26, "Konrad Hambrick" <ko...@pa...> escreveu: > > Renato Silva [mailto:br....@gm...] > On Tuesday, October 16, 2012 6:15 PM > Em 16/10/2012 13:47, "Konrad Hambrick" <ko...@pa...> escreveu: > > Renato Silva [mailto:br....@gm...] said: > > On Tuesday, October 16, 2012 10:40 AM > > Em 16/10/2012 08:57, "Earnie Boyd" <ea...@us...> escreveu: > > > > > > On Tue, Oct 16, 2012 at 12:43 AM, Renato Silva wrote: > > > > It is too long to copy and paste, and I tried to explain the problem quite > > > > well, so I'm just linking: > > > > > > > > http://stackoverflow.com/questions/12765650/mingw-msys-msvcrt-and-the-tz-environment-variable > > > > > > > > Can anyone give clear information as explained in the above link? > > > > > > I posted the below as an answer to the above link. > > > > > > The simple solution is to set your windows environment variable as you > > > expect then change the variable in your ~/.profile file for MSYS to > > > what POSIX expects. > > > > I'm sorry but that's the very problem not a solution :( Maybe it wasn't clear but I'm already setting TZ from within MSYS (in /etc/profile), and I run MSVCRT programs from within Bash, so whatever it was in Windows gets overwritten. In Windows, I need TZ unset because MSVCRT works just fine without it, in fact TZ is just a way to break system settings here. The best solution I've figured out so far is caching my desired TZ value in some other variable in /etc/profile or similar (because the DST period part comes from a Ruby script), then set TZ with the cached value for each command I manage to figure out to be using MSYS runtime for local time (currently date and ls). > > > > Renalto -- > > > > While I've not tried putting a SETLOCAL / ENDLOCAL Pair in MSYS.BAT that might help. > > > > What has been working for me is to begin my $HOME/.profile with: > > > > unset TZ > > Thanks for the msys.bat tip, I plan to try it out later. But what do you mean unset TZ in bash works for you? What's your use case? > > Renalto -- > > I run a set of portable #!/bin/sh Data Conversion scripts on UNIX/Linux/WinXX. > > The scripts include 'the usual' UNIX Tools plus a few MinGW-Compiled Console C-Programs and a couple ActiveState Compiled Perl Apps. > > I use MSys to run the same scripts on Various WinXX Versions as I run on UNIX/Linux and I have the same scripts on 40-50 Machines 'out in the world'. > > The Windows System Environment includes a TZ Variable which is set by a Business BASIC App and when I 'leave it set' in the MSys Environment, the Dates reported by `ls` and `date` are unreliable. > > In addition, the dates reported by strftime(), systime() in gawk and localtime() perl report the same incorrect TimeZones I see in `ls` and `date`. > > Some Windows Systems show UTC while others show 'random' Time Zones. > > Adding an unset TZ to the top of my MSys ~/.profile fixes the dates for all my programs. > > HTH Hi Konrad.I'm surprised, how can your MSYS be recognizing your timezone without TZ? Is BIOS clock set with local time by any chance? Or maybe an MSYS build towards MSVCRT? Or maybe a more up-to-date glibc? Or maybe you have zoneinfo installed? Please let me know if you find out anything! > > -- kjh( sorry about the formatting -- Outlook is a horrible email program -- I can't seem to 'take control' ) > > > ------------------------------------------------------------------------------ > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://p.sf.net/sfu/appdyn_sfd2d_oct > _______________________________________________ > MinGW-users mailing list > Min...@li... > > This list observes the Etiquette found at > http://www.mingw.org/Mailing_Lists. > We ask that you be polite and do the same. Disregard for the list etiquette may cause your account to be moderated. > > _______________________________________________ > You may change your MinGW Account Options or unsubscribe at: > https://lists.sourceforge.net/lists/listinfo/mingw-users > Also: mailto:min...@li...?subject=unsubscribe |
From: Earnie B. <ea...@us...> - 2012-10-17 11:49:26
|
On Wed, Oct 17, 2012 at 6:22 AM, Konrad Hambrick wrote: > Adding an unset TZ to the top of my MSys ~/.profile fixes the dates for all > my programs. I believe that the OP stated this didn't work for him. > > HTH > > -- kjh( sorry about the formatting -- Outlook is a horrible email program -- > I can't seem to 'take control' ) Outlook can be set to send text instead of HTML. It also supports proper quoting. -- Earnie -- https://sites.google.com/site/earnieboyd |
From: Konrad H. <ko...@pa...> - 2012-10-17 12:33:57
|
> From: Earnie Boyd [mailto:ea...@us...] > Sent: Wednesday, October 17, 2012 6:49 AM > > On Wed, Oct 17, 2012 at 6:22 AM, Konrad Hambrick wrote: > > Adding an unset TZ to the top of my MSys ~/.profile fixes the dates for all > > my programs. > > I believe that the OP stated this didn't work for him. > Yes he did. But when Renalto mentioned ls and date, unsetting TZ in .profile is what finally fixed the time-stamps on those progs for me. > >> -- kjh( sorry about the formatting -- Outlook is a horrible email program -- >> I can't seem to 'take control' ) > > Outlook can be set to send text instead of HTML. It also supports > proper quoting. Very Odd. This email looks fine. But then your original reply was text. I need to find an option to convert incoming messages in Outlook to good old ANSI without Fonts or Formatting ... I am about ready to give up and go back to TBird, saving Outlook for the unfortunately required Corp Calendars. Thanks, Earnie -- kjh( and thanks for all that you and the team have done with MinGW / MSys ) |
From: Renato S. <br....@gm...> - 2012-10-17 14:33:33
|
2012/10/16 Renato Silva <br....@gm...> > It is too long to copy and paste, and I tried to explain the problem quite > well, so I'm just linking: > > > http://stackoverflow.com/questions/12765650/mingw-msys-msvcrt-and-the-tz-environment-variable > > Can anyone give clear information as explained in the above link? > > Thanks! > Just had an idea, if I could somehow determine if a program belongs to MSYS (and hence does not use MSVCRT), I wonder if there would be a way to hook into command calls from within Bash to filter those programs out and selectively set TZ only for them. Even though I'm very curious on how Konrad's MSYS is working without TZ... |
From: Konrad H. <ko...@pa...> - 2012-10-17 14:47:02
|
From: Renato Silva [mailto:br....@gm...] Sent: Wednesday, October 17, 2012 9:33 AM To: min...@li... Subject: Re: [Mingw-users] MinGW MSYS, MSVCRT, and the TZ environment variable 2012/10/16 Renato Silva <br....@gm...<mailto:br....@gm...>> It is too long to copy and paste, and I tried to explain the problem quite well, so I'm just linking: http://stackoverflow.com/questions/12765650/mingw-msys-msvcrt-and-the-tz-environment-variable Can anyone give clear information as explained in the above link? Thanks! Just had an idea, if I could somehow determine if a program belongs to MSYS (and hence does not use MSVCRT), I wonder if there would be a way to hook into command calls from within Bash to filter those programs out and selectively set TZ only for them. Even though I'm very curious on how Konrad's MSYS is working without TZ... Renalto -- Have you tried unset TZ in ~/.profile ? That did fix the dates in the ls and date commands as well as in the console programs I built ... -- kjh |
From: Earnie B. <ea...@us...> - 2012-10-17 14:44:50
|
On Wed, Oct 17, 2012 at 10:32 AM, Renato Silva <br....@gm...> wrote: > 2012/10/16 Renato Silva <br....@gm...> >> >> It is too long to copy and paste, and I tried to explain the problem quite >> well, so I'm just linking: >> >> >> http://stackoverflow.com/questions/12765650/mingw-msys-msvcrt-and-the-tz-environment-variable >> >> Can anyone give clear information as explained in the above link? >> >> Thanks! > > > Just had an idea, if I could somehow determine if a program belongs to MSYS > (and hence does not use MSVCRT), I wonder if there would be a way to hook > into command calls from within Bash to filter those programs out and > selectively set TZ only for them. Even though I'm very curious on how > Konrad's MSYS is working without TZ... I don't have TZ set either. Not in Windows or in MSYS. Maybe you need to set your timezone in the control panel "Date and Time" app correctly? -- Earnie -- https://sites.google.com/site/earnieboyd |
From: Renato S. <br....@gm...> - 2012-10-17 14:59:48
|
Em 17/10/2012 11:47, "Earnie Boyd" <ea...@us...> escreveu: > > On Wed, Oct 17, 2012 at 10:32 AM, Renato Silva <br....@gm...> wrote: > > 2012/10/16 Renato Silva <br....@gm...> > >> > >> It is too long to copy and paste, and I tried to explain the problem quite > >> well, so I'm just linking: > >> > >> > >> http://stackoverflow.com/questions/12765650/mingw-msys-msvcrt-and-the-tz-environment-variable > >> > >> Can anyone give clear information as explained in the above link? > >> > >> Thanks! > > > > > > Just had an idea, if I could somehow determine if a program belongs to MSYS > > (and hence does not use MSVCRT), I wonder if there would be a way to hook > > into command calls from within Bash to filter those programs out and > > selectively set TZ only for them. Even though I'm very curious on how > > Konrad's MSYS is working without TZ... > > I don't have TZ set either. Not in Windows or in MSYS. Maybe you > need to set your timezone in the control panel "Date and Time" app > correctly? No it's fine. Can you paste the exact output of `date` in your system? > > -- > Earnie > -- https://sites.google.com/site/earnieboyd > > ------------------------------------------------------------------------------ > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://p.sf.net/sfu/appdyn_sfd2d_oct > _______________________________________________ > MinGW-users mailing list > Min...@li... > > This list observes the Etiquette found at > http://www.mingw.org/Mailing_Lists. > We ask that you be polite and do the same. Disregard for the list etiquette may cause your account to be moderated. > > _______________________________________________ > You may change your MinGW Account Options or unsubscribe at: > https://lists.sourceforge.net/lists/listinfo/mingw-users > Also: mailto:min...@li...?subject=unsubscribe |
From: Konrad H. <ko...@pa...> - 2012-10-17 15:20:42
|
From: Renato Silva [mailto:br....@gm...] Sent: Wednesday, October 17, 2012 10:00 AM To: MinGW Users List Subject: Re: [Mingw-users] MinGW MSYS, MSVCRT, and the TZ environment variable Em 17/10/2012 11:47, "Earnie Boyd" <ea...@us...<mailto:ea...@us...>> escreveu: > > On Wed, Oct 17, 2012 at 10:32 AM, Renato Silva <br....@gm...<mailto:br....@gm...>> wrote: > > 2012/10/16 Renato Silva <br....@gm...<mailto:br....@gm...>> > >> > >> It is too long to copy and paste, and I tried to explain the problem quite > >> well, so I'm just linking: > >> > >> > >> http://stackoverflow.com/questions/12765650/mingw-msys-msvcrt-and-the-tz-environment-variable > >> > >> Can anyone give clear information as explained in the above link? > >> > >> Thanks! > > > > > > Just had an idea, if I could somehow determine if a program belongs to MSYS > > (and hence does not use MSVCRT), I wonder if there would be a way to hook > > into command calls from within Bash to filter those programs out and > > selectively set TZ only for them. Even though I'm very curious on how > > Konrad's MSYS is working without TZ... > > I don't have TZ set either. Not in Windows or in MSYS. Maybe you > need to set your timezone in the control panel "Date and Time" app > correctly? No it's fine. Can you paste the exact output of `date` in your system? >From a 'handy' Windows 2003 Server in the US-Central TimeZone: [konrad@PC-WINDOWS konrad]$ ls -la .profile -rw-r--r-- 1 konrad Administ 1508 Dec 12 2011 .profile [konrad@PC-WINDOWS konrad]$ grep TZ ~/.profile unset TZ # PHqing WinDOS ! [konrad@PC-WINDOWS konrad]$ date Wed Oct 17 10:14:37 CDT 2012 [konrad@PC-WINDOWS konrad]$ gawk 'BEGIN{ T = systime() ; F = strftime( "%Y %m %d %H %M %S", T ) ; print F ; print T ; print mktime( F ) ; print strftime( ) ; exit 0 }' 2012 10 17 10 14 52 1350486892 1350486892 Wed Oct 17 10:14:52 2012 -- kjh |
From: Renato S. <br....@gm...> - 2012-10-17 15:50:05
|
2012/10/17 Konrad Hambrick <ko...@pa...> > ** ** > > ** ** > > *From:* Renato Silva [mailto:br....@gm...] > *Sent:* Wednesday, October 17, 2012 10:00 AM > *To:* MinGW Users List > > *Subject:* Re: [Mingw-users] MinGW MSYS, MSVCRT, and the TZ environment > variable**** > > > Em 17/10/2012 11:47, "Earnie Boyd" <ea...@us...> > escreveu: > > > > On Wed, Oct 17, 2012 at 10:32 AM, Renato Silva <br....@gm...> > wrote: > > > 2012/10/16 Renato Silva <br....@gm...> > > >> > > >> It is too long to copy and paste, and I tried to explain the problem > quite > > >> well, so I'm just linking: > > >> > > >> > > >> > http://stackoverflow.com/questions/12765650/mingw-msys-msvcrt-and-the-tz-environment-variable > > >> > > >> Can anyone give clear information as explained in the above link? > > >> > > >> Thanks! > > > > > > > > > Just had an idea, if I could somehow determine if a program belongs to > MSYS > > > (and hence does not use MSVCRT), I wonder if there would be a way to > hook > > > into command calls from within Bash to filter those programs out and > > > selectively set TZ only for them. Even though I'm very curious on how > > > Konrad's MSYS is working without TZ... > > > > I don't have TZ set either. Not in Windows or in MSYS. Maybe you > > need to set your timezone in the control panel "Date and Time" app > > correctly?**** > > No it's fine. Can you paste the exact output of `date` in your system? > **** > > From a 'handy' Windows 2003 Server in the US-Central TimeZone:**** > > [konrad@PC-WINDOWS konrad]$ ls -la .profile**** > > -rw-r--r-- 1 konrad Administ 1508 Dec 12 2011 .profile**** > > [konrad@PC-WINDOWS konrad]$ grep TZ ~/.profile**** > > unset TZ # PHqing WinDOS !**** > > [konrad@PC-WINDOWS konrad]$ date**** > > Wed Oct 17 10:14:37 CDT 2012**** > > [konrad@PC-WINDOWS konrad]$ gawk 'BEGIN{ T = systime() ; F = strftime( > "%Y %m %d %H %M %S", T ) ; print F ; print T ; print mktime( F ) ; print > strftime( ) ; exit 0 }'**** > > 2012 10 17 10 14 52**** > > 1350486892**** > > 1350486892**** > > Wed Oct 17 10:14:52 2012**** > > -- kjh > Thanks, this is weird! Your MSYS is not recognizing your timezone by unsettting TZ, the TZ value you inherit from Windows was just overriding it. So unset TZ didn't work for me in ~/.profile. I thought you could mean MSYS commands work fine in your script, but they are also working in your login sessions, as indicated by use of ls and your date output. Would zoneinfo be installed? Do you have any of the following files/directories in your MSYS by any chance? * /etc/localtime * /usr/local/etc/localtime * /share/lib/zoneinfo Also, if you switch from CST/CDT to some other timezone in Windows control panel, will that apply to ls and date within Bash? Because that would be like somehow MSYS is using MSVCRT or the win32 API, or... well, I don't know, this is odd. Either way, no, it didn't wor > **** > > > ------------------------------------------------------------------------------ > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://p.sf.net/sfu/appdyn_sfd2d_oct > _______________________________________________ > MinGW-users mailing list > Min...@li... > > This list observes the Etiquette found at > http://www.mingw.org/Mailing_Lists. > We ask that you be polite and do the same. Disregard for the list > etiquette may cause your account to be moderated. > > _______________________________________________ > You may change your MinGW Account Options or unsubscribe at: > https://lists.sourceforge.net/lists/listinfo/mingw-users > Also: mailto:min...@li...?subject=unsubscribe > |
From: Earnie B. <ea...@us...> - 2012-10-17 17:08:17
|
On Wed, Oct 17, 2012 at 10:59 AM, Renato Silva <br....@gm...> wrote: > > Em 17/10/2012 11:47, "Earnie Boyd" <ea...@us...> escreveu: > > >> >> On Wed, Oct 17, 2012 at 10:32 AM, Renato Silva <br....@gm...> >> wrote: >> > 2012/10/16 Renato Silva <br....@gm...> >> >> >> >> It is too long to copy and paste, and I tried to explain the problem >> >> quite >> >> well, so I'm just linking: >> >> >> >> >> >> >> >> http://stackoverflow.com/questions/12765650/mingw-msys-msvcrt-and-the-tz-environment-variable >> >> >> >> Can anyone give clear information as explained in the above link? >> >> >> >> Thanks! >> > >> > >> > Just had an idea, if I could somehow determine if a program belongs to >> > MSYS >> > (and hence does not use MSVCRT), I wonder if there would be a way to >> > hook >> > into command calls from within Bash to filter those programs out and >> > selectively set TZ only for them. Even though I'm very curious on how >> > Konrad's MSYS is working without TZ... >> >> I don't have TZ set either. Not in Windows or in MSYS. Maybe you >> need to set your timezone in the control panel "Date and Time" app >> correctly? > > No it's fine. Can you paste the exact output of `date` in your system? Wed Oct 17 13:06:51 EDT 2012 and that coincides with the display of the clock on the taskbar. -- Earnie -- https://sites.google.com/site/earnieboyd |
From: Keith M. <kei...@us...> - 2012-10-17 18:03:58
|
On 17/10/12 00:06, Renato Silva wrote: > I'm already doing pretty the same, but easier [than creating a > /bin/bzr wrapper script]: alias bzr="env -u TZ bzr", Personally, I wouldn't classify that as "easier"; just an (almost) equally effective alternative. The advantage of the wrapper script over the alias is that you create it once, and it is always available when /bin is sufficiently early in $PATH. With the alias, you have to redefine it on every shell invocation, and it doesn't automatically propagate to sub-shell processes. Certainly, you may be able to mitigate this limitation of aliases, by defining them in $HOME/.bashrc, and also ensuring that $HOME/.bashrc is sourced by $HOME/.profile and/or $HOME/.bash_profile; there may still be scenarios in which you get a shell process which doesn't source the appropriate $HOME/.bashrc, and in any such case, your alias fails. OTOH, with the wrapper script, the adapted command will be available in every shell process which has /bin appropriately prioritised in $PATH, irrespective of $HOME set-up on shell invocation; IMO, this is a more robust solution. > but as explained I'm looking for a better solution (better than the > TZ cache above as well) Well, in the first instance, all MSYS programs should work just fine without $TZ being set at all; those which care will simply adopt a sane default, (based on your system settings). If you can't live with that sane default, (perhaps it doesn't seem so sane to you: e.g. for me it appears to be equivalent to 'TZ=GMT0GMTDT' but I might have preferred it to be 'TZ=GMT0BST'), and you absolutely *must* supply your own alternative setting, then... Given the fundamental underlying issue, I very much doubt if any better solution exists; my personal choice would be to implement the wrapper script, using 'export -n TZ' to inhibit the propagation of the shell's notion of $TZ to those processes which rely on MSVCRT semantics. Note that, when your file system is NTFS (or any other which supports hard links for files), you should be able to create a generic wrapper, and map it by hard linking to appropriate individual script names. -- Regards, Keith. |
From: Renato S. <br....@gm...> - 2012-10-17 21:20:14
|
Em 17/10/2012 14:11, "Earnie Boyd" <ea...@us...> escreveu: > > On Wed, Oct 17, 2012 at 10:59 AM, Renato Silva <br....@gm...> wrote: > > > > Em 17/10/2012 11:47, "Earnie Boyd" <ea...@us...> escreveu: > > > > > >> > >> On Wed, Oct 17, 2012 at 10:32 AM, Renato Silva < br....@gm...> > >> wrote: > >> > 2012/10/16 Renato Silva <br....@gm...> > >> >> > >> >> It is too long to copy and paste, and I tried to explain the problem > >> >> quite > >> >> well, so I'm just linking: > >> >> > >> >> > >> >> > >> >> http://stackoverflow.com/questions/12765650/mingw-msys-msvcrt-and-the-tz-environment-variable > >> >> > >> >> Can anyone give clear information as explained in the above link? > >> >> > >> >> Thanks! > >> > > >> > > >> > Just had an idea, if I could somehow determine if a program belongs to > >> > MSYS > >> > (and hence does not use MSVCRT), I wonder if there would be a way to > >> > hook > >> > into command calls from within Bash to filter those programs out and > >> > selectively set TZ only for them. Even though I'm very curious on how > >> > Konrad's MSYS is working without TZ... > >> > >> I don't have TZ set either. Not in Windows or in MSYS. Maybe you > >> need to set your timezone in the control panel "Date and Time" app > >> correctly? > > > > No it's fine. Can you paste the exact output of `date` in your system? > > Wed Oct 17 13:06:51 EDT 2012 > > and that coincides with the display of the clock on the taskbar. Weird! And date is even naming your timezone (EDT). In my case without TZ my timezone shows as GMT in date, both in Windows XP and 7, 3 hours forward taskbar clock which is BRT. So folks just tell me your secrets and what's going wrong here :-/ > > -- > Earnie > -- https://sites.google.com/site/earnieboyd > > ------------------------------------------------------------------------------ > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://p.sf.net/sfu/appdyn_sfd2d_oct > _______________________________________________ > MinGW-users mailing list > Min...@li... > > This list observes the Etiquette found at > http://www.mingw.org/Mailing_Lists. > We ask that you be polite and do the same. Disregard for the list etiquette may cause your account to be moderated. > > _______________________________________________ > You may change your MinGW Account Options or unsubscribe at: > https://lists.sourceforge.net/lists/listinfo/mingw-users > Also: mailto:min...@li...?subject=unsubscribe |
From: Eli Z. <el...@gn...> - 2012-10-17 21:45:02
|
> Date: Wed, 17 Oct 2012 18:20:07 -0300 > From: Renato Silva <br....@gm...> > > > > No it's fine. Can you paste the exact output of `date` in your system? > > > > Wed Oct 17 13:06:51 EDT 2012 > > > > and that coincides with the display of the clock on the taskbar. > > Weird! And date is even naming your timezone (EDT). In my case without TZ > my timezone shows as GMT in date, both in Windows XP and 7, 3 hours forward > taskbar clock which is BRT. > > So folks just tell me your secrets and what's going wrong here :-/ Are you sure your 'date' is an MSYS 'date'? |