KDED: remove KService dependency
Closed, WontfixPublic

mart created this task.Nov 23 2019, 5:07 PM

Except for KTP all of our kded modules have been ported to JSON (T11919).

This raises the question of whether we want to keep compatibility with possible third-party legacy modules until KF6

dfaure added a subscriber: dfaure.Nov 30 2019, 9:28 PM

We must keep compatibility, yes. That's the promise of KDE Frameworks. There *is* more KF5-based code outside lxr.kde.org.

Not possible at this point as kded uses KSycoca::self().

alex claimed this task.Feb 22 2023, 9:24 AM
alex added a comment.Feb 22 2023, 10:00 AM

AFAICS we need "KSycoca::self()->ensureCacheValid()" in kded for the "void Kded::recreate(bool initial)" method.

An alternative might be to call kbuildsycoca6 as a process or load a symbol from a library that that we can run.

alex added a comment.Feb 22 2023, 10:29 AM

Or we could make KService provide a kded module in KService

There's also KSycoca::clearCaches() and KSycoca::self()->allResourceDirs()

That said I think there's no strong need to get rid of KService here, it doesn't really have an effect on the overall KF dependency tree

alex closed this task as Wontfix.Jun 28 2023, 2:41 PM

Yeah, I agree with it not being worth the effort