Date: Wed, 13 Jun 2018 17:02:31 +0000 (UTC) From: John Baldwin <jhb@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r472335 - in head/devel/qt5-core: . files Message-ID: <201806131702.w5DH2VEi047982@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jhb (src,doc committer) Date: Wed Jun 13 17:02:31 2018 New Revision: 472335 URL: https://svnweb.freebsd.org/changeset/ports/472335 Log: Recognize timezones on FreeBSD for the default install. By default, FreeBSD copies the current timezone database to /etc/localtime and stores the name of the symlink in /var/db/zoneinfo. Qt expects /etc/localtime to be a symlink and uses the symlink's target to infer the name of the default timezone. The existing code in Qt includes some workarounds for Linux distributions that also copy the current timezone to /etc/localtime by checking for files that contain the name of the timezone. Add a similar check for /var/db/zoneinfo on FreeBSD. PR: 200763 Reviewed by: tcberner Differential Revision: https://reviews.freebsd.org/D15792 Added: head/devel/qt5-core/files/patch-src_corelib_tools_qtimezoneprivate_tz.cpp (contents, props changed) Modified: head/devel/qt5-core/Makefile Modified: head/devel/qt5-core/Makefile ============================================================================== --- head/devel/qt5-core/Makefile Wed Jun 13 17:00:28 2018 (r472334) +++ head/devel/qt5-core/Makefile Wed Jun 13 17:02:31 2018 (r472335) @@ -2,7 +2,7 @@ PORTNAME= core DISTVERSION= ${QT5_VERSION} -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= devel PKGNAMEPREFIX= qt5- Added: head/devel/qt5-core/files/patch-src_corelib_tools_qtimezoneprivate_tz.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/qt5-core/files/patch-src_corelib_tools_qtimezoneprivate_tz.cpp Wed Jun 13 17:02:31 2018 (r472335) @@ -0,0 +1,20 @@ +--- src/corelib/tools/qtimezoneprivate_tz.cpp.orig 2018-06-13 08:09:13.578248000 -0700 ++++ src/corelib/tools/qtimezoneprivate_tz.cpp 2018-06-13 08:11:15.328743000 -0700 +@@ -1072,6 +1072,17 @@ QByteArray QTzTimeZonePrivate::systemTim + } + } + ++ // On many FreeBSD systems, /etc/localtime is a regular file while the actual name is in /var/db/zoneinfo ++ if (ianaId.isEmpty()) { ++ QFile tzif(QStringLiteral("/var/db/zoneinfo")); ++ if (tzif.open(QIODevice::ReadOnly)) { ++ // TODO QTextStream inefficient, replace later ++ QTextStream ts(&tzif); ++ if (!ts.atEnd()) ++ ianaId = ts.readLine().toUtf8(); ++ } ++ } ++ + // On some Red Hat distros /etc/localtime is real file with name held in /etc/sysconfig/clock + // in a line like ZONE="Europe/Oslo" or TIMEZONE="Europe/Oslo" + if (ianaId.isEmpty()) {
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201806131702.w5DH2VEi047982>