libkworkspace: Install sessionmanagementbackend.h with other headers
Needs ReviewPublic

Authored by heikobecker on Sep 11 2019, 5:26 PM.

Details

Reviewers
None
Group Reviewers
Plasma
Test Plan

header gets installed, plasma-workspace builds fine
against a previously and separately built libkworkspace

Diff Detail

Repository
R120 Plasma Workspace
Branch
install-sessionmanagementbackend.h
Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 16391
Build 16409: arc lint + arc unit
heikobecker created this revision.Sep 11 2019, 5:26 PM
Restricted Application added a project: Plasma. · View Herald TranscriptSep 11 2019, 5:26 PM
Restricted Application added a subscriber: plasma-devel. · View Herald Transcript
heikobecker requested review of this revision.Sep 11 2019, 5:26 PM

From my header:

/**

  • Performs direct system actions that could kill the session *
  • Semi-internal. Symbols exported, but not the header
  • To be used only by the daemon that performs logout (currently ksmserver) *
  • All other users should go via the public SessionManagement that prompts and logs out properly. */

If I'm wrong about the needs, I'm happy to reconsider, but this wasn't an accident.

Admittedly to solve a problem, which originates from our downstream packaging. kde-cli-tools is a dependency of some applications and frameworks, which might be interesting to non Plasma users but depends on libkworkspace. As a a source based distro we cannot easily split plasma-workspace into multiple packages (actually we could, kind of, but the user would still need to build p-w and all of its dependencies). Thus we have some patches to build libkworkspace separately. Given that I could add this one too, if it's inappropriate that it'll get merged.

copy that for Gentoo.

Happy to help, but I don't understand yet.

kde-cli-tools doesn't use sessionmanagementbackend.h?

The only user is inside plasma-workspace source.

Happy to help, but I don't understand yet.

kde-cli-tools doesn't use sessionmanagementbackend.h?

The only user is inside plasma-workspace source.

I only mentioned kde-cli-tools to illustrate why we decided to split out libkworkspace.

The problem I wanted to fix occurs when building plasma-workspace against the split out libkworkspace (we have a patch that adds a find_package call and a "if(NOT LibKWorkspace_FOUND) ... add_subdirectory(libkworkspace)..." to p-w). Which then complains about the "missing" sessionmanagementbackend.h.

You split the source out? I see.

Lets sort out the stupid kworkspace dependency on kde-cli-tools upstream rather than have you guys doing horrible things. It's caused issues elsewhere.

It only exists as a hack around some Qt5.9(?) bug to allow plasma stuff to be in wayland without needing us to force an environment variable.
Personally I want to kill it, but AFAIK SuSE still uses it. Worst case we can just copy the 5 lines into kcmshell.

It only exists as a hack around some Qt5.9(?) bug to allow plasma stuff to be in wayland without needing us to force an environment variable.
Personally I want to kill it, but AFAIK SuSE still uses it. Worst case we can just copy the 5 lines into kcmshell.

Any update here? Can this hack be dropped now?

Any update here? Can this hack be dropped now?

I did follow up on that. A distro is still wanting to do the setup which requires this opt-in hack.

But I could still just copy the relevant lines into kcmshell directly instead of linking.