- 
    Suggestion 
- 
    Resolution: Done
- 
    P3: Somewhat important 
- 
    5.12.2
- 
    None
- 
        4ebac33644d5db0b727680f1dacb18616daafe86 (qt/qtbase/5.12)
Many embedded devices use read-only rootfs, at this case usually use intermediate symlink to zoneinfo file.
Result schema is /etc/localtime -> /tmp/localtime -> /usr/share/zoneinfo/ZONE_FILE
My solution is
@@ -1051,7 +1051,12 @@ QByteArray QTzTimeZonePrivate::systemTimeZoneId() const
 
     // On most distros /etc/localtime is a symlink to a real file so extract name from the path
     if (ianaId.isEmpty()) {
-        const QString path = QFile::symLinkTarget(QStringLiteral("/etc/localtime"));
+        QString path = QFile::symLinkTarget(QStringLiteral("/etc/localtime"));
+        if (!path.isEmpty()) {
+            const QString path2 = QFile::symLinkTarget(path);
+            if (!path2.isEmpty())
+                path = path2;
+        }
         if (!path.isEmpty()) {
             // /etc/localtime is a symlink to the current TZ file, so extract from path
             int index = path.indexOf(QLatin1String("/zoneinfo/"));
| For Gerrit Dashboard: QTBUG-75527 | ||||||
|---|---|---|---|---|---|---|
| # | Subject | Branch | Project | Status | CR | V | 
| 260337,4 | Resolve symlink completely in search for system time zone | 5.12 | qt/qtbase | Status: ABANDONED | 0 | 0 | 
| 262372,12 | Detect system time zone from linked symlinks | 5.12 | qt/qtbase | Status: MERGED | +2 | 0 |