-
Notifications
You must be signed in to change notification settings - Fork 3.8k
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
Integrate AppImage for Linux releases #2913
Comments
I can't believe I haven't heard of this. |
Have a look at the AppImage build scripts ("recipes") of other Qt based applications:
By building on a CentOS 6 build host, the resulting binaries are known to run on most modern desktop Linux distributions. Possibly it's easiest to clone the probonopd/AppImages repository and start from there. I'd be happy to help if you run into any issues. |
How do I build this on a CentOS 6 build host? |
@probonopd are you asking how to build qgroundcontrol on centos 6, or how to get AppImage working? |
I am asking how to build qgroundcontrol on CentOS 6. This would make the AppImage more portable since the binaries currently provided by the project require at least GLIBC 2.14, which older distributions might not have. On the other hand, 2.14 is not that recent so maybe we can just live with it. |
Here is the Recipe that can be used to generate the AppImage for 64-bit Linux. |
And here is the resulting AppImage: |
Nice! It works on my Ubuntu 14.04 machine. The problem is we'd need to find a continuous integration service that offers CentOS 6. We could build on Ubuntu 12.04, but we had to upgrade because of udev issues. If you could document how to create the AppImage I'll add it to the builds with s3 and github deployment ASAP. |
Ok perfect. I see the script grabs an AppImageAssistant binary. I was thinking we might need to build or install it on travis-ci. Do you mind if we pull your script into the deploy directory and modify it work with the output of a freshly built release? We also need to fix the icon. |
Feel free to go ahead. If you like you can of course build AppImageKit on travis, but you don't have to. |
It should be tested, but the is AppImage is now created in the builds and uploaded to s3. http://qgroundcontrol.s3.amazonaws.com/master/qgroundcontrol.AppImage?dl=0 Thanks again @probonopd |
On Ubuntu 16.04:
Please see https://github.com/probonopd/AppImages/blob/master/recipes/qgroundcontrol/Recipe#L9-L24 for how to solve this. Also, the filename should have the version. See https://github.com/probonopd/AppImages/blob/master/recipes/qgroundcontrol/Recipe#L53-L62 for how to automate this. |
I'm pulling the debs just like your original script. I'm not sure what's wrong with it at the moment. For development builds we're trying to only store and link to the latest good binary for each branch. Is there some reason it's important to have the version in the name for AppImage? We could do it for proper releases. |
Sorry, I forgot to mention that the AppRun script also needs to set
As for the names, I just find it convenient to know the version something has. There is no hard technical requirement to include the name (or architecture). But if it can be automated, why not do it? |
@probonopd can you try http://qgroundcontrol.s3.amazonaws.com/master/qgroundcontrol.AppImage?dl=0 again? Do you know if it's possible to have an icon in Ubuntu unity for an AppImage? |
You added Regarding the icon I am not entirely sure how this works for Unity, it does show icons for most AppImages. Can you attach an icon to your main window and would that change it? |
Ah, I just copied your recipe. Thanks |
Yes, it was a bug in mine... updating the recipe |
Any ideas for the launcher icon? |
Regarding the icon I am not entirely sure how this works for Unity, it does show icons for most AppImages. Can you attach an icon to your main window in Qt and would that change it? |
I think it was just missing the extension in the desktop entry. |
Does this result in the icon being displayed? |
Travis-ci builds are especially slow during the day. We'll know shortly. |
Linus' subsurface project uses AppImage and it seems to have his seal of approval. This should help greatly simplify getting users up and running in Linux without worrying about dependencies.
http://appimage.org
The text was updated successfully, but these errors were encountered: