parent
dc6567f134
commit
182707d8e3
@ -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
|
||||
|
Loading…
Reference in new issue