slackware-current/source/l/glib2/glib2.slackware.localtime.diff
Patrick J Volkerding a5a6e494a7 Mon Oct 19 20:16:19 UTC 2020
a/glibc-zoneinfo-2020c-noarch-1.txz:  Upgraded.
  This package provides the latest timezone updates.
d/ccache-4.0-x86_64-1.txz:  Upgraded.
  Please note that the default cache directory has been changed to
  $HOME/.cache/ccache and the default config file has been changed to
  $HOME/.config/ccache/ccache.conf. You'll probably want to move your
  existing config file if you've set any options, and then clear out
  the old location of $HOME/.ccache to avoid wasting storage space.
d/python-pip-20.2.4-x86_64-1.txz:  Upgraded.
d/python-setuptools-50.3.2-x86_64-1.txz:  Upgraded.
l/glib2-2.66.2-x86_64-1.txz:  Upgraded.
l/mozjs78-78.4.0esr-x86_64-1.txz:  Upgraded.
l/python-urllib3-1.25.11-x86_64-1.txz:  Upgraded.
x/pyxdg-0.27-x86_64-1.txz:  Upgraded.
xap/mozilla-firefox-78.4.0esr-x86_64-1.txz:  Upgraded.
  This is a bugfix release.
  For more information, see:
    https://www.mozilla.org/en-US/firefox/78.4.0/releasenotes/
2020-10-20 08:59:56 +02:00

35 lines
1.5 KiB
Diff

From 05690c6bdb6751278352fefe96061395de490663 Mon Sep 17 00:00:00 2001
From: Patrick J. Volkerding <volkerdi@slackware.com>
Date: Mon, 19 Oct 2020 12:54:57 -0600
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.
--- ./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 @@
/* Resolve the actual timezone pointed to by /etc/localtime. */
resolved_identifier = g_file_read_link ("/etc/localtime", &read_link_err);
+
+ /* 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);
+ }
+
if (resolved_identifier == NULL)
{
gboolean not_a_symlink = g_error_matches (read_link_err,