-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix QtKeychain incompatibility between Debian/Ubuntu and Fedora #1940
Conversation
...to remove Qt4 dependencies when building on Fedora!
Any thoughts about this workaround? Otherwise I will remove QtKeychain support from the RPM Fusion package. |
Is it an issue if, only the qt4 Version is installed that it is still loaded? Can we detect the QT4 version and fail the build with the compiler? The rest LGTM |
The Qt4 version builds and works (this is actually the current status until I noticed), but pulls a lot of unnecessary dependencies. The RPM spec file will declare only the Qt5 version as a build dependency, so that Mixxx is distributed correctly with only Qt5 dependencies. |
I am only concerned about home builds of Fedora users. It looks like it will pick the QT4 Version if the QT5 Version is not installed. Can this actually happen like without the patch? |
I don't see a way how to decide which variant of the library we are actually using during compile time. The code and library version is exactly the same. On Fedora we still might use the Qt4 variant accidentally, if the Qt5 variant is not installed. But the current situation is much worse, because we always require and use the wrong Qt4 variant. |
Ubuntu and Debian share the naming conventions with Fedora: |
Ok, maybe I accidentally picked the wrong package!? This would be much easier and less complicated. Let's give it a try... |
qt5keychain ist not available in Ubuntu 14.04 used by Travis CI. This reverts commit 38dc3f4.
Ubuntu 14.04.5 on Travis CI is missing the qt5keychain package. I had to remove the qtkeychain feature for the CI build. |
LGTM Thank you. |
Fedora provides qtkeychain-devel (Qt4) and qtkeychain-qt5-devel (Qt5) using different library names and a renamed directory for the headers. For Debian/Ubuntu the package name qtkeychain[-dev] has been reused and now contains the Qt5 artefacts that share both names and locations of their Qt4 counterparts.
On Fedora we have to use qtkeychain-qt5-devel, otherwise Mixxx still depends on some Qt4 libraries when building with qtkeychain=1:
Additionally I enabled the QtKeychain feature for our Linux CI build to test that the fix doesn't break the Debian/Ubuntu builds. I'm not sure if this is desired or not?