When I ran make test I noticed a discrepancy in a couple of the times output during the printf tests. I pulled out the relevant section and this is what I get:
LC_ALL=C LANG=C SECS=1275250155 export TZ=EST5EDT printf "%()T\n" $SECS printf "%(%e-%b-%Y %T %Z)T\n" $SECS # added %Z result: 15:09:15 30-May-2010 15:09:15 CDT printf.right says it should be "16:09:15" in both cases. Note that the %Z I added outputs CDT. The next part of the test that compares date +%s passes. Also: $ LC_ALL=C LANG=C TZ=EST5EDT date -d @$SECS Sun May 30 16:09:15 EDT 2010 $ TZ=EST5EDT date -d @$SECS Sun May 30 16:09:15 EDT 2010 $ date -d @$SECS Sun May 30 15:09:15 CDT 2010 Running in Ubuntu 9.10 Machine: i686 OS: linux-gnu Compiler: gcc Compilation CFLAGS: -DPROGRAM='bash' -DCONF_HOSTTYPE='i686' -DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='i686-pc-linux-gnu' -DCONF_VENDOR='pc' -DLOCALEDIR='/usr/local/share/locale' -DPACKAGE='bash' -DSHELL -DHAVE_CONFIG_H -I. -I. -I./include -I./lib -g -O2 uname output: Linux emperor 2.6.31-21-generic #59-Ubuntu SMP Wed Mar 24 07:28:56 UTC 2010 i686 GNU/Linux Machine Type: i686-pc-linux-gnu Bash Version: 4.2 Patch Level: 0 Release Status: release