FS#60674 - [yubikey-manager-qt] should dep on qt5-graphicaleffects

Attached to Project: Community Packages
Opened by Mantas Mikulėnas (grawity) - Friday, 02 November 2018, 10:43 GMT
Last edited by Christian Hesse (eworm) - Tuesday, 13 November 2018, 06:57 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Christian Hesse (eworm)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

The new "improved" interface in yubikey-manager-qt 1.0 appears to use the 'Material' style, which requires qt5-graphicaleffects. If that's not installed the program will crash:

$ ykman-gui
Got library name: "/usr/lib/qt/qml/io/thp/pyotherside/libpyothersideplugin.so"
QQmlApplicationEngine failed to load component
qrc:/qml/main.qml:28 Type Header unavailable
qrc:/qml/Header.qml:36 Type CustomButton unavailable
qrc:/qml/CustomButton.qml:5 module "QtGraphicalEffects" is not installed
Segmentation fault (core dumped)

However, qt5-graphicaleffects is only a soft dependency of Qt5:

$ sudo pacman -Syu
[...]
(5/6) installing qt5-quickcontrols2 [##############################] 100%
Optional dependencies for qt5-quickcontrols2
qt5-graphicaleffects: for the Material style
(6/6) upgrading yubikey-manager-qt [##############################] 100%

Yes, yes, there's a pacman note. But the fact that ykman indeed uses the Material style is an implementation detail that end users shouldn't have to care about (not unless they've manually selected the style themselves).

Therefore yubikey-manager-qt should have a direct dependency on qt5-graphicaleffects.

---
local/yubikey-manager-qt 1.0.1-1
local/qt5-quickcontrols2 5.11.2-1
This task depends upon

Closed by  Christian Hesse (eworm)
Tuesday, 13 November 2018, 06:57 GMT
Reason for closing:  Fixed
Additional comments about closing:  yubikey-manager-qt-1.0.1-2
Comment by Caleb (alpha64) - Tuesday, 13 November 2018, 04:45 GMT
I also was seeing a requirement of qt5-quickcontrols which was not listed as a dependency for this package.

When I installed yubikey-manager-qt, I tried to run it and got:

$ ykman-gui
Got library name: "/usr/lib/qt/qml/io/thp/pyotherside/libpyothersideplugin.so"
QQmlApplicationEngine failed to load component
qrc:/qml/main.qml:28 Type Header unavailable
qrc:/qml/Header.qml:4 module "QtQuick.Dialogs" is not installed


I found that I needed to install qt5-quickcontrols. After I did, I tried to run ykman-gui, and got this error (the same as the main bug report):

$ ykman-gui
Got library name: "/usr/lib/qt/qml/io/thp/pyotherside/libpyothersideplugin.so"
QQmlApplicationEngine failed to load component
qrc:/qml/main.qml:28 Type Header unavailable
qrc:/qml/Header.qml:36 Type CustomButton unavailable
qrc:/qml/CustomButton.qml:5 module "QtGraphicalEffects" is not installed


After installing qt5-graphicaleffects, ykman-gui ran successfully.

To me it seems that both qt5-quickcontrols and qt5-graphicaleffects should be direct dependencies of yubikey-manager-qt.

Loading...