Merge pull request #302756 from K900/the-sycoca-thing

kdePackages.kservice: handle sycoca disappearing better
This commit is contained in:
K900 2024-04-09 08:38:14 +03:00 committed by GitHub
commit 52edad5c8a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 17 additions and 1 deletions

View File

@ -2,10 +2,12 @@
mkKdeDerivation {
pname = "kservice";
# FIXME(later): upstream
patches = [
# follow symlinks when generating sycoca
# FIXME(later): upstream
./qdiriterator-follow-symlinks.patch
# explode less when sycoca is deleted
./handle-sycoca-deletion.patch
];
meta.mainProgram = "kbuildsycoca6";
}

View File

@ -0,0 +1,14 @@
diff --git a/src/sycoca/ksycoca.cpp b/src/sycoca/ksycoca.cpp
index 981342e6..5940f65f 100644
--- a/src/sycoca/ksycoca.cpp
+++ b/src/sycoca/ksycoca.cpp
@@ -218,6 +218,10 @@ KSycoca::KSycoca()
connect(d->m_fileWatcher.get(), &KDirWatch::dirty, this, [this]() {
d->slotDatabaseChanged();
});
+ // NIXPKGS: we sometimes delete sycoca externally
+ connect(d->m_fileWatcher.get(), &KDirWatch::deleted, this, [this]() {
+ d->slotDatabaseChanged();
+ });
}
}