Hi Theo, Theo de Raadt wrote on Sat, Jan 05, 2019 at 09:23:46PM -0700:
> Oh good grief, don't do that. > > Unless you are going to add the same text to every man page in usr.sbin > on the following list. > > ac bgpd dhcpd httpd ldapd mrouted npppctl nsd ntpd radiusd rdate relayd > slaacctl smtpd syslogd tcpdump unbound > > They all call strftime. So TZ affects them. There are other API that > get involved. You could be adding this text to 400 manual pages. > > But now you've seen my previous mail arguing against this practice. > It is pointless to document "system behaviour" in every program. > > Wait until you see my diff that documents PATH in every program that > calls execve() or system, or HOME in every program that... you get > the idea!!!! Hm, you have a point. I guess i got confused by my experience with LC_CTYPE; even though that is also a standard variable, its effects on different programs vary wildly, so the text for LC_CTYPE reads very differently in different utility manual pages, and it is often relevant which aspects are supported and which are not. For TZ, the effect is probably mostly the same everywhere, with few exceptions like mail.local(8), and describing it properly gets somewhat wordy. So the full explanation is probably best placed located in environ(7). Utilities where it is unusually important, like date(1), might benefit from a short pointer below ENVIRONMENT, though, to help beginners, like it exists in ls(1). $ man -M /usr/share/man -k Ev=TZ date(1) - display or set date and time ls(1) - list directory contents ps(1) - display process status ssh(1) - OpenSSH SSH client (remote login program) tzset, tzsetwall(3) - initialize time conversion information environ(7) - user environment mail.local(8) - store mail in a mailbox Yours, Ingo
