Skip to content
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

AppImage #467

Merged
merged 3 commits into from
Jan 17, 2019
Merged

AppImage #467

merged 3 commits into from
Jan 17, 2019

Conversation

probonopd
Copy link
Contributor

This PR, when merged, will compile this application on Travis CI upon each git push, and upload an AppImage to your GitHub Releases page.

Providing an AppImage would have, among others, these advantages:

  • Applications packaged as an AppImage can run on many distributions (including Ubuntu, Fedora, openSUSE, CentOS, elementaryOS, Linux Mint, and others)
  • One app = one file = super simple for users: just download one AppImage file, make it executable, and run
  • No unpacking or installation necessary
  • No root needed
  • No system libraries changed
  • Works out of the box, no installation of runtimes needed
  • Optional desktop integration with appimaged
  • Optional binary delta updates, e.g., for continuous builds (only download the binary diff) using AppImageUpdate
  • Can optionally GPG2-sign your AppImages (inside the file)
  • Works on Live ISOs
  • Can use the same AppImages when dual-booting multiple distributions
  • Can be listed in the AppImageHub central directory of available AppImages
  • Can double as a self-extracting compressed archive with the --appimage-extract parameter
  • No repositories needed. Suitable/optimized for air-gapped (offline) machines

Here is an overview of projects that are already distributing upstream-provided, official AppImages.

PLEASE NOTE: For this to work, you need to enable Travis CI for your repository as described here prior to merging this, if you haven't already done so. Also, You need to set up GITHUB_TOKEN in Travis CI for this to work; please see https://github.com/probonopd/uploadtool.

If you have questions, AppImage developers are on #AppImage on irc.freenode.net.

@probonopd
Copy link
Contributor Author

An AppImage for testing is available at https://github.com/probonopd/Quaternion/releases

@KitsuneRal KitsuneRal added the building/packaging Issues with CMake files or packaging label Jan 17, 2019
Copy link
Member

@KitsuneRal KitsuneRal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Many thanks for bringing this in such a complete way - I couldn't expect such a service. I'd like to do a couple of changes though, as described below.

.travis.yml Outdated Show resolved Hide resolved
.travis.yml Show resolved Hide resolved
@KitsuneRal KitsuneRal merged commit 1645661 into quotient-im:master Jan 17, 2019
@probonopd
Copy link
Contributor Author

Thanks for merging.

Now it would be great if the continuous builds would appear on https://github.com/QMatrixClient/Quaternion/releases so that people can find them easily.

@KitsuneRal
Copy link
Member

I've chosen to keep them at bintray instead, will update README.md soon: https://bintray.com/qmatrixclient/ci/Quaternion. GH Releases is kept for actual releases.

@KitsuneRal
Copy link
Member

And many thanks for pushing this forward!

probonopd added a commit to AppImage/appimage.github.io that referenced this pull request Jan 18, 2019
Link without version would be better; someone needs to write a parser for Bintray
quotient-im/Quaternion#467 (comment)
@probonopd
Copy link
Contributor Author

Thank you. Looks like we need to use this.

libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /run/firejail/appimage/.appimage-10328/usr/bin/../lib/libQt5QuickWidgets.so.5)

Please see https://github.com/AppImage/AppImageKit/wiki/Creating-AppImages#libstdcso6

@KitsuneRal
Copy link
Member

For the record, the latest images have this workaround.

As mentioned elsewhere, I can only provide AppImages for testing. For AppImages as "official" binary releases (as much as I want something of that kind) I need some basic security for AppImageKit to be in place that would ensure that it's not easy to subvert AppImageKit toolchain. Yes I know that Travis and AppVeyor are unknown variables in this respect as well; but these are relatively large organisations at least, and their infrastructure cannot be easily subverted.

@probonopd
Copy link
Contributor Author

Hi @KitsuneRal can you please define your exact needs, what would the AppImage project need to do in order to fulfill all of your security requirements? Please feel free to open an issue in https://github.com/AppImage/AppImageKit.

Thanks.

probonopd added a commit to AppImage/appimage.github.io that referenced this pull request Jan 24, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
building/packaging Issues with CMake files or packaging
Projects
Status: Version 0.0.9.4 - Done
Development

Successfully merging this pull request may close these issues.

2 participants