|
system timezone under certain circumstances.
Example: in Fedora 20, the environment is a follows:
a) /etc/localtime symlinks --> ../usr/share/zoneinfo/Europe/Zurich
b) /usr/share/zoneinfo contains files with more than 1 hardlink. In example,
Europe/Zurich and Europe/Vaduz share the same i-node.
- system_timezone_read_etc_localtime_softlink() because the link is relative.
- The next algorithms fail because the targeted files do not exist.
- system_timezone_read_etc_localtime_hardlink() succeeds, but finds
Europe/Vaduz before Europe/Zurich.
Thus the detected system timezone is wrong.
By resolving a relative /etc/localtime symlink, this patch leads algorithm
system_timezone_read_etc_localtime_softlink() to success and therefore proper
detection of system timezone.
Closes https://patch-diff.githubusercontent.com/raw/mate-desktop/mate-panel/pull/261.patch
|