| |
@@ -0,0 +1,46 @@
|
| |
+ From 21ce3b1e938c4b96154a7b00a15beef428ffce4e Mon Sep 17 00:00:00 2001
|
| |
+ From: =?UTF-8?q?Timoth=C3=A9e=20Ravier?= <tim@siosm.fr>
|
| |
+ Date: Sun, 15 May 2022 15:32:50 +0200
|
| |
+ Subject: [PATCH] kbuildsycoca: Ignore last modified time when set to UNIX
|
| |
+ Epoch
|
| |
+
|
| |
+ On some systems (i.e. Fedora Kinoite), all files in /usr have a last
|
| |
+ modified timestamp of 0 (UNIX Epoch). In this case, always assume the
|
| |
+ file as been changed.
|
| |
+
|
| |
+ We only get the current time once to speed up execution as we don't need
|
| |
+ to be accurate in this case.
|
| |
+
|
| |
+ BUG: 442011
|
| |
+
|
| |
+ See:
|
| |
+ - https://bugzilla.redhat.com/show_bug.cgi?id=2021087
|
| |
+ - https://discussion.fedoraproject.org/t/kinoite-installation-with-utc-timezone-breaks-kde/34293/8
|
| |
+ ---
|
| |
+ src/sycoca/kbuildsycoca.cpp | 10 +++++++++-
|
| |
+ 1 file changed, 9 insertions(+), 1 deletion(-)
|
| |
+
|
| |
+ diff --git a/src/sycoca/kbuildsycoca.cpp b/src/sycoca/kbuildsycoca.cpp
|
| |
+ index 0caeccf..3b0e011 100644
|
| |
+ --- a/src/sycoca/kbuildsycoca.cpp
|
| |
+ +++ b/src/sycoca/kbuildsycoca.cpp
|
| |
+ @@ -607,7 +607,15 @@ static quint32 updateHash(const QString &file, quint32 hash)
|
| |
+ if (fi.isReadable() && fi.isFile()) {
|
| |
+ // This was using buff.st_ctime (in Waldo's initial commit to kstandarddirs.cpp in 2001), but that looks wrong?
|
| |
+ // Surely we want to catch manual editing, while a chmod doesn't matter much?
|
| |
+ - hash += fi.lastModified().toSecsSinceEpoch();
|
| |
+ + qint64 timestamp = fi.lastModified().toSecsSinceEpoch();
|
| |
+ + // On some systems (i.e. Fedora Kinoite), all files in /usr have a last
|
| |
+ + // modified timestamp of 0 (UNIX Epoch). In this case, always assume
|
| |
+ + // the file as been changed.
|
| |
+ + if (timestamp == 0) {
|
| |
+ + static qint64 now = QDateTime::currentDateTimeUtc().toSecsSinceEpoch();
|
| |
+ + timestamp = now;
|
| |
+ + }
|
| |
+ + hash += timestamp;
|
| |
+ }
|
| |
+ return hash;
|
| |
+ }
|
| |
+ --
|
| |
+ 2.36.1
|
| |
+
|
| |
From https://invent.kde.org/frameworks/kservice/-/merge_requests/87
BZ: https://bugzilla.redhat.com/show_bug.cgi?id=2021087