Don't let the timezone end up as "/etc/localtime" (literally).
This was happening on systems where /usr/share was a symlink (due to lack
of space) (I realize now that mount --bind would have been much better).
Since the code does canonicalFilePath + startsWith(dir), we need to
use canonicalFilePath on dir too.