Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1661418

Summary: khotkeys makes unqualified calls to qdbus, which may be qt4 or not exist
Product: [Fedora] Fedora Reporter: Vasiliy Glazov <vascom2>
Component: khotkeysAssignee: Rex Dieter <rdieter>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 29CC: alex.mail.1534, innocent.bustander, jgrulich, jreznik, me, rdieter, than, vascom2
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: khotkeys-5.14.4-2.fc29 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-12-29 20:50:48 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Vasiliy Glazov 2018-12-21 07:56:49 UTC
Description of problem:
If I remove dbusmenu-qt and install only dbusmenu-qt5 then not work all hotkeys for spectacle screenshot tool in KDE.
With installed dbusmenu-qt it work well but require qt (Qt4) package. KDE 5 now must work good without Qt4 at all.

Version-Release number of selected component (if applicable):
dbusmenu-qt5-0.9.3-0.18.20150604.fc29.x86_64
dbusmenu-qt-0.9.3-0.18.20150604.fc29.x86_64
spectacle-18.04.3-1.fc29.x86_64

How reproducible:
Always


Steps to Reproduce:
1. Remove dbusmenu-qt package.
2. Push Print key on keyboard.

Actual results:
Spectacle not run.

Expected results:
Run Spectacle.

Additional info:
Same problem in rawhide.

Comment 1 Rex Dieter 2018-12-21 16:29:00 UTC
dbusmenu-qt should be completely irrelevant here, it is for qt4 applications only, should not come into play in a plasma environment envoking a qt5 application (like spectacle).

That said, I cannot reproduce what you describe either (unsurprising).

Comment 2 Vasiliy Glazov 2018-12-24 07:55:09 UTC
May be I can attach some debug information?
How to debug this issue?

Comment 3 Vasiliy Glazov 2018-12-24 08:38:37 UTC
My friends helped debug it.

Problem happens when removed /usr/bin/qdbus that contained in qt package. Package qt5-qttools contain /usr/lib64/qt5/bin/qdbus and if I linked it to /usr/bin/qdbus - all work good.

I am understand that it is conflict between qt and qt5-qttools package, but it is bug and must be solved.

Comment 4 Rex Dieter 2018-12-24 15:01:11 UTC
What evidence to you have that this relates to the 'qdbus' binary?  Anything in qt5/kf5 that hard-codes 'qdbus' probably needs fixing and/or patching.

Comment 5 Vasiliy Glazov 2018-12-24 15:05:37 UTC
Seems that need changes to qt package and mass rebuild for dependent packages.

Comment 6 Rex Dieter 2018-12-24 17:19:32 UTC
You're not explaining why you think that is needed.  I'm fairly certain that a mass rebuild is not required.

So, sifting through this, I made an educated guess that the real problem is that hotkeys requires /usr/bin/qdbus to be present, and confirmed that when it isn't, that 'PrntScrn' keypresses indeed to not start spectacle as expected.

I wouldn't have expected hotkeys to use external tools like that (but to use dbus natively and internally).  If you have any clues where to look specifically, I'd appreciate any help looking.

Comment 7 Rex Dieter 2018-12-24 17:27:45 UTC
I found this in journal after a successful usage:

Dec 24 11:17:14 localhost.localdomain dbus-daemon[1317]: [session uid=1000 pid=1317] Activating service name='org.kde.Spectacle' requested by ':1.919' (uid=1000 pid=24202 comm="/usr/bin/qdbus org>
Dec 24 11:17:15 localhost.localdomain dbus-daemon[1317]: [session uid=1000 pid=1317] Successfully activated service 'org.kde.Spectacle'


So indeed, seems to come from spectacle itself perhaps via:
/usr/share/dbus-1/services/org.kde.Spectacle.service
containing:
Exec=/usr/bin/spectacle --dbus

Looking there

Comment 8 Rex Dieter 2018-12-24 17:42:04 UTC
Found it in plasma's khotkeys,

libkhotkeysprivate/actions/dbus_action.cpp:    proc << "qdbus" << _application << _object << _function << args_list;

Doesn't prefix qt5_bindir or look for qdbus-qt5

Comment 9 Rex Dieter 2018-12-24 18:16:15 UTC
Fixing unqualified 'qdbus' call in khotkeys fixes the issue for me.  Patch builds underway

Comment 10 Fedora Update System 2018-12-24 18:32:21 UTC
khotkeys-5.14.4-2.fc29 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2018-ba94798812

Comment 11 Fedora Update System 2018-12-25 03:29:30 UTC
khotkeys-5.14.4-2.fc29 has been pushed to the Fedora 29 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-ba94798812

Comment 12 Vasiliy Glazov 2018-12-25 06:22:14 UTC
Rex, thanks.

Now it works properly.

Comment 13 Vasiliy Glazov 2018-12-25 06:33:44 UTC
So, may be drop qt package from KDE spin on release F30?

Comment 14 Fedora Update System 2018-12-29 20:50:48 UTC
khotkeys-5.14.4-2.fc29 has been pushed to the Fedora 29 stable repository. If problems still persist, please make note of it in this bug report.