-
Notifications
You must be signed in to change notification settings - Fork 725
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
CI/AppImage: Use fuse3 compatible appimagetool #3251
Conversation
I wouldn't be opposed to this, but I would be concerned about other host libraries breaking due to older library versions. e.g. a graphics driver depending on a symbol in newer libwayland/libc/etc; this has been a problem in the past with AppImages. |
Pardon my ignorance, but wouldn't this be prevented by building on a recent version of glibc? since it would get bundled there is no problem in choosing a more recent distro to build on. |
Sure, I suppose, but rolling release distros tend to be ahead of the LTS versions on the GitHub runners, so we may need a container... The irritating part would be when these distros do update, and then all of a sudden a previously-working binary stops running. Definitely something worth looking into though :) |
Backport from: stenzek/duckstation#3251 Co-Authored-By: Samuel <36420837+samueru-sama@users.noreply.github.com>
Backport from: stenzek/duckstation#3251 Co-Authored-By: Samuel <36420837+samueru-sama@users.noreply.github.com>
Backport from: stenzek/duckstation#3251 Co-Authored-By: Samuel <36420837+samueru-sama@users.noreply.github.com>
Backport from: stenzek/duckstation#3251 Co-Authored-By: Samuel <36420837+samueru-sama@users.noreply.github.com>
Backport from: stenzek/duckstation#3251 Co-Authored-By: Samuel <36420837+samueru-sama@users.noreply.github.com>
Backport from: stenzek/duckstation#3251 Co-Authored-By: Samuel <36420837+samueru-sama@users.noreply.github.com>
Backport from: stenzek/duckstation#3251 Co-Authored-By: Samuel <36420837+samueru-sama@users.noreply.github.com>
Backport from: stenzek/duckstation#3251 Co-Authored-By: Samuel <36420837+samueru-sama@users.noreply.github.com>
Backport from: stenzek/duckstation#3251 Co-Authored-By: Samuel <36420837+samueru-sama@users.noreply.github.com>
Backport from: stenzek/duckstation#3251 Signed-off-by: SternXD <xsternent@gmail.com>
Backport from: stenzek/duckstation#3251 Co-Authored-By: Samuel <36420837+samueru-sama@users.noreply.github.com>
Uses this appimagetool: https://github.com/probonopd/go-appimage
Fixes a common issue with libfuse2 not being installed by default in newer distros as it can use libfuse3 instead. (It also works if only libfuse2 is installed as well just in case).
I'm sorry for the
VERSION=test
hack I did there, this appimagetool needs that variable as it uses it to add the version to the title of the appimage. Normally that would be the output of./*AppDir/AppRun --version
but it seems duckstation doesn't support that flag.EDIT: Artifact if needed: https://github.com/Samueru-sama/duckstation/actions/runs/9899316061/artifacts/1693128006
This appimagetool also uses zstd compression, which results in a slightly smaller appimage.
Btw
go-appimage
can also do the job of linuxdeploy and it has a deploy everything mode, which makes the appimage be able to work everywhere including in much older distros and musl distros at the cost of increasing the size of the appimage by ~40 MiB edit actually it may be about 10 MiB lol