Bug 474866

Summary: Warning about kservices5 is not helpful
Product: [Plasma] krunner Reporter: Kristen McWilliam <kristen>
Component: generalAssignee: Plasma Bugs List <plasma-bugs-null>
Status: REPORTED ---    
Severity: normal CC: alexander.lohnau, natalie_clarius, nate
Priority: NOR    
Version First Reported In: 5.27.8   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Kristen McWilliam 2023-09-25 17:23:24 UTC
SUMMARY
***
When starting krunner from the terminal to debug an issue, I noticed this warning output:

kf.runner: KRunner D-Bus plugin "vscode_runner" installs the .desktop file ("krunner/dbusplugins/plasma-runner-vscode_runner.desktop") still in the kservices5 folder. Please install it to ${KDE_INSTALL_DATAROOTDIR}/krunner/dbusplugins.

However there doesn't seem to be any info about this variable: KDE_INSTALL_DATAROOTDIR. It isn't an env var, and Google / bugs.kde.org / KDE Invent all turn up zilch about it.
***


STEPS TO REPRODUCE
1. Install a plugin that uses the (presumably) depreciated install location, for example: https://github.com/Merrit/vscode-runner/releases/tag/v1.3.0
2. Run krunner from the terminal

OBSERVED RESULT

Supremely unhelpful message about it using an old install location.

EXPECTED RESULT

A helpful message, or at least documentation somewhere on this variable.


SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Fedora 38 / Plasma 5.27.8
KDE Plasma Version: 5.27.8
KDE Frameworks Version:  5.109.0
Qt Version: 5.15.10


ADDITIONAL INFORMATION

Looking at the current template readme: https://invent.kde.org/frameworks/krunner/-/blob/b98f238545dd4b488d6e7cbd96113f44844bb75d/templates/runner6python/README.md

It says to install to ~/.local/share/krunner/dbusplugins/ , so I presume it means that KDE_INSTALL_DATAROOTDIR should likely be ~/.local/share/ , but again this doesn't seem documented anywhere, nor did it seem to turn up in code search.

¯\_(ツ)_/¯
Comment 1 Alexander Lohnau 2023-09-25 17:29:58 UTC
Hmm, if projects don't use CMake to set up their runners, it is indeed not straightforward in case you never worked with KDEInstallDirs.

I will think about a better description & open a porting MR. Also need to double-check the template for the kf5 state.
Comment 2 Nate Graham 2023-09-25 17:39:03 UTC
Yeah, it's a CMake variable, so this is a message mostly intended for developers to fix.
Comment 3 Kristen McWilliam 2023-09-25 18:11:26 UTC
(In reply to Nate Graham from comment #2)
> Yeah, it's a CMake variable, so this is a message mostly intended for
> developers to fix.

Aye, but the error is reported for a plugin using the dbus interface, which can be any programming language and has no need to rely on CMake. :)
Comment 4 Bug Janitor Service 2023-09-25 19:40:31 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/krunner/-/merge_requests/154
Comment 5 Alexander Lohnau 2023-09-28 20:23:06 UTC
Git commit 2b932dd9d5dfa60f739d82ebcb5eab6d00263165 by Alexander Lohnau.
Committed on 25/09/2023 at 21:46.
Pushed by alex into branch 'kf5'.

runnerpython: Fix install script paths to desktop files

This is simplified/fixed in master, but for kf5 we should fix it too

M  +2    -2    templates/runnerpython/README.md
M  +1    -1    templates/runnerpython/install.sh
M  +1    -1    templates/runnerpython/uninstall.sh

https://invent.kde.org/frameworks/krunner/-/commit/2b932dd9d5dfa60f739d82ebcb5eab6d00263165