Skip site navigation (1)Skip section navigation (2)
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>