Currently we have multiple sources of information, how we determine the KPackage structures:
- The X-Plasma-ServiceType property from the installed package
- The service types from the installed package
- The KPackageType from the knsrc file the app uses
From my understanding of the API, the app should define what kpackage structure should be used. Otherwise a dolphin plugin would be able to simply install a global theme.
My suggested plan of action would be to deprecate all code paths except the last one.
We could emit deprecation warnings, if we have a different service types from the first two code paths and the last one. Similar to how we informed about the deprecated knsrc file location.