[glib: 1/2] gtimezone: Fallback to /etc/timezone on Gentoo
- From: Philip Withnall <pwithnall src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib: 1/2] gtimezone: Fallback to /etc/timezone on Gentoo
- Date: Mon, 17 Dec 2018 12:49:08 +0000 (UTC)
commit 2ceb48dfc28f619b1bfe6037e5799ec9d0a0ab31
Author: Mart Raudsepp <leio gentoo org>
Date: Mon Dec 17 00:42:39 2018 +0200
gtimezone: Fallback to /etc/timezone on Gentoo
On non-systemd Gentoo systems the chosen timezone is expressed in
/etc/timezone and /etc/localtime may be a copy of the timezone
file instead of symlink. Add this path to the fallback test to
not regress dates into UTC.
glib/gtimezone.c | 17 +++++++++++------
1 file changed, 11 insertions(+), 6 deletions(-)
---
diff --git a/glib/gtimezone.c b/glib/gtimezone.c
index df40d852d..3d38b17bf 100644
--- a/glib/gtimezone.c
+++ b/glib/gtimezone.c
@@ -449,12 +449,17 @@ zone_info_unix (const gchar *identifier,
G_FILE_ERROR_INVAL);
g_clear_error (&read_link_err);
- /* Fallback to the content of /var/db/zoneinfo if /etc/localtime is
- * not a symlink. This is where 'tzsetup' program on FreeBSD and
- * DragonflyBSD stores the timezone chosen by the user. */
- if (not_a_symlink && g_file_get_contents ("/var/db/zoneinfo",
- &resolved_identifier,
- NULL, NULL))
+ /* Fallback to the content of /var/db/zoneinfo or /etc/timezone
+ * if /etc/localtime is not a symlink. /var/db/zoneinfo is
+ * where 'tzsetup' program on FreeBSD and DragonflyBSD stores
+ * the timezone chosen by the user. /etc/timezone is where user
+ * choice is expressed on Gentoo OpenRC and others. */
+ if (not_a_symlink && (g_file_get_contents ("/var/db/zoneinfo",
+ &resolved_identifier,
+ NULL, NULL) ||
+ g_file_get_contents ("/etc/timezone",
+ &resolved_identifier,
+ NULL, NULL)))
g_strchomp (resolved_identifier);
else
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]