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: Make anylinux appimage #11243

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

Samueru-sama
Copy link

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

Uses this appimagetool which has a deploy everything mode that bundles glibc in the appimage that makes the appimage be able to run in any distro, be it very old distros or even musl distros. It also uses a static runtime which prevents the no libfuse2 issues in newer distros.

Note that I'm not replacing the existing appimage made with linuxdeploy, I'm adding an extra one, because go-appimage doesn't support the same arguments as linuxdeploy and also because there is a regression that the new appimage runtime has a hardcoded path to /usr/bin/fusermount* which means that some distros that keep /bin and /usr/bin separated might have trouble launching the appimage unless fusermount is symlinked to /usr/bin or the FUSERMOUNT_PROG env variable is set.

Fixes #11103

Update: Now glibc and all the dependencies are bundled manually instead.

Uses go-appimage to make an appimage with bundled glibc, which increases the compatibility of the appimage to any linux distribution.
@kirawi kirawi added the A-packaging Area: Packaging and bundling label Jul 20, 2024
@Samueru-sama
Copy link
Author

Samueru-sama commented Jul 21, 2024

Alright why doesn't the wildcard expand? 😅

I made sure that the wildcard wasn't in quotes but I still got mv: cannot stat 'helix-*-x86_64.AppImage.AppImage': No such file or directory errors.

I did that because the $VERSION var gets changed when making the second appimage.

Edit: I just did a crude test on my pc using dummy files and mv "$APP"-*-"$ARCH".AppImage works there without problems 🤔

Edit2: LOL nvm

Go-appimagetool replaces the existing AppRun, as result the env variable from the original appimage was missing.
@CrazyAce25
Copy link

Is there any update on the commits submitted by @Samueru-sama? Really wanting to make use of this on Chimera-Linux and EasyOS and have thus been waiting patiently.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-packaging Area: Packaging and bundling
Projects
None yet
Development

Successfully merging this pull request may close these issues.

build glibc into appimage
4 participants