Move build system back to Trusty (with fixes) #1115
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This patch resolves #1114 by reverting our AppImage build system back to Ubuntu 14.04, but with custom builds for libyubikey and libykpers-1. It also ships a required code fix to prevent the YubiKey from appearing twice in the menu (only happens when building with 14.04, newer Ubuntu versions are not affected, but it may also be a problem of a specific Qt version).
Additionally, this patch resolves #691 by restricting our global menu workaround to Qt versions older than 5.9.0.
Motivation and context
Moving to CentOS solved a few problems. It cleaned up our Dockerfile and didn't necessarily require a newer Qt version and YubiKeys worked out of the box. Unfortunately, AppImages built with CentOS don't integrate with Ubuntu's global menu (at least not with the standard Qt 5.6) and don't run on older Ubuntu-based systems (we expected that).
The loss of compatibility would be an okay trade, if there were no way to enable (bug-free) YubiKey support for Trusty-built AppImages. But with a bit more tinkering and a few additional code fixes, I managed to do exactly that, so there is no more reason to keep our CentOS build system.
I would also suggest to provide a new 2.2.2 build which was built with the fixed Ubuntu 14.04 system (but with the 2.2.2 code base, of course, accepting that YubiKeys are detected twice). We cannot replace already published binaries, but we can add an additional AppImage build to the release page and link that from the website instead of the previous CentOS-based AppImage. An upcoming 2.2.3 (or 2.3.0, whichever comes first) may then also ship the code fixes.
How has this been tested?
AppImage runs fine on Ubuntu 16.10 and 14.04, YubiKey is detected successfully and only once.
Global menu is working in Unity.
Types of changes
Checklist:
-DWITH_ASAN=ON
. [REQUIRED]