2020-10-19 20:16:19 +00:00
|
|
|
From 05690c6bdb6751278352fefe96061395de490663 Mon Sep 17 00:00:00 2001
|
|
|
|
|
2018-11-22 05:56:56 +00:00
|
|
|
From: Patrick J. Volkerding <volkerdi@slackware.com>
|
2020-10-19 20:16:19 +00:00
|
|
|
Date: Mon, 19 Oct 2020 12:54:57 -0600
|
2018-11-22 05:56:56 +00:00
|
|
|
Subject: [PATCH] Also look at /etc/localtime-copied-from
|
|
|
|
|
|
|
|
In Slackware, /etc/localtime is a copy of the local timezone file, not a
|
|
|
|
symlink to it, but the latest glib expects a symlink (because that's been
|
|
|
|
demanded by systemd and guess-who). So, if we find that /etc/localtime is
|
|
|
|
not a symlink, consider /etc/localtime-copied-from next. On Slackware
|
|
|
|
systems this will be a symlink to the local timezone file under
|
|
|
|
/usr/share/zoneinfo. We still want to consider the possibility that
|
|
|
|
/etc/localtime *is* a symlink first though, since that's an acceptable
|
|
|
|
local system modification on Slackware.
|
|
|
|
|
2020-10-19 20:16:19 +00:00
|
|
|
--- ./glib/gtimezone.c.orig 2020-10-19 10:05:31.300005400 -0500
|
|
|
|
+++ ./glib/gtimezone.c 2020-10-19 13:04:58.796033505 -0500
|
|
|
|
@@ -451,6 +451,17 @@
|
2018-11-22 05:56:56 +00:00
|
|
|
|
2020-10-19 20:16:19 +00:00
|
|
|
/* Resolve the actual timezone pointed to by /etc/localtime. */
|
|
|
|
resolved_identifier = g_file_read_link ("/etc/localtime", &read_link_err);
|
2018-11-22 05:56:56 +00:00
|
|
|
+
|
2020-10-19 20:16:19 +00:00
|
|
|
+ /* If we didn't get the timezone here (probably because
|
|
|
|
+ * /etc/localtime is not a symlink), then we will try again using
|
|
|
|
+ * /etc/localtime-copied-from, which on Slackware is a symlink to
|
|
|
|
+ * the local timezone file. */
|
|
|
|
+ if (resolved_identifier == NULL)
|
|
|
|
+ {
|
|
|
|
+ g_clear_error (&read_link_err);
|
|
|
|
+ resolved_identifier = g_file_read_link ("/etc/localtime-copied-from", &read_link_err);
|
|
|
|
+ }
|
2018-11-22 05:56:56 +00:00
|
|
|
+
|
2020-10-19 20:16:19 +00:00
|
|
|
if (resolved_identifier == NULL)
|
|
|
|
{
|
|
|
|
gboolean not_a_symlink = g_error_matches (read_link_err,
|