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

CI/AppImage: Use fuse3 compatible appimagetool #3251

Merged
merged 1 commit into from
Jul 13, 2024
Merged

CI/AppImage: Use fuse3 compatible appimagetool #3251

merged 1 commit into from
Jul 13, 2024

Conversation

Samueru-sama
Copy link
Contributor

@Samueru-sama Samueru-sama commented Jul 11, 2024

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

@stenzek stenzek merged commit 5567c73 into stenzek:master Jul 13, 2024
6 checks passed
@stenzek
Copy link
Owner

stenzek commented Jul 13, 2024

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

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.

@Samueru-sama
Copy link
Contributor Author

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

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.

@stenzek
Copy link
Owner

stenzek commented Jul 13, 2024

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 :)

kamfretoz added a commit to kamfretoz/pcsx2 that referenced this pull request Aug 5, 2024
Backport from: stenzek/duckstation#3251

Co-Authored-By: Samuel <36420837+samueru-sama@users.noreply.github.com>
kamfretoz added a commit to kamfretoz/pcsx2 that referenced this pull request Aug 6, 2024
Backport from: stenzek/duckstation#3251

Co-Authored-By: Samuel <36420837+samueru-sama@users.noreply.github.com>
kamfretoz added a commit to kamfretoz/pcsx2 that referenced this pull request Aug 6, 2024
Backport from: stenzek/duckstation#3251

Co-Authored-By: Samuel <36420837+samueru-sama@users.noreply.github.com>
kamfretoz added a commit to kamfretoz/pcsx2 that referenced this pull request Aug 7, 2024
Backport from: stenzek/duckstation#3251

Co-Authored-By: Samuel <36420837+samueru-sama@users.noreply.github.com>
kamfretoz added a commit to kamfretoz/pcsx2 that referenced this pull request Aug 7, 2024
Backport from: stenzek/duckstation#3251

Co-Authored-By: Samuel <36420837+samueru-sama@users.noreply.github.com>
kamfretoz added a commit to kamfretoz/pcsx2 that referenced this pull request Aug 7, 2024
Backport from: stenzek/duckstation#3251

Co-Authored-By: Samuel <36420837+samueru-sama@users.noreply.github.com>
kamfretoz added a commit to kamfretoz/pcsx2 that referenced this pull request Aug 7, 2024
Backport from: stenzek/duckstation#3251

Co-Authored-By: Samuel <36420837+samueru-sama@users.noreply.github.com>
kamfretoz added a commit to kamfretoz/pcsx2 that referenced this pull request Aug 7, 2024
Backport from: stenzek/duckstation#3251

Co-Authored-By: Samuel <36420837+samueru-sama@users.noreply.github.com>
F0bes pushed a commit to PCSX2/pcsx2 that referenced this pull request Aug 8, 2024
Backport from: stenzek/duckstation#3251

Co-Authored-By: Samuel <36420837+samueru-sama@users.noreply.github.com>
SternXD pushed a commit to EmulationCollective/XBSX2 that referenced this pull request Aug 27, 2024
Backport from: stenzek/duckstation#3251

Signed-off-by: SternXD <xsternent@gmail.com>
RedPanda4552 pushed a commit to RedPanda4552/pcsx2 that referenced this pull request Dec 20, 2024
Backport from: stenzek/duckstation#3251

Co-Authored-By: Samuel <36420837+samueru-sama@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants