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

Add building of AppImages for Releases #336

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

Conversation

JoshuaKimsey
Copy link

What started with discussion #335 about creating an AppImage for Gource has now become an automated build workflow to generate one for every Gource release. This AppImage is distro agnostic and should work across most all linux-based platforms, including immutable and atomic distros such as Bazzite (tested myself), Fedora Silverblue, Micro OS, SteamOS, etc. The AppImage is called with ./Gource-x86_64.AppImage and has access to all of the normal parameters that Gource has when called normally. Users can create aliases for the AppImage to even have it be called with the regular Gource if desired. With the growth in immutable and atomic distros, having access to programs like this without having access to the system files is useful. It also solves issues for any distros that might not package Gource in their repos, saving folks the trouble of needing to compile from source to use it.

Be curious to know what the thoughts are on this! Feel free to download the AppImage I generated on my fork and try it out. It should work across most Linux systems, but always good to get feedback on any possible issues too. :)

Created initial workflow for building App Image releases for Gource
- Removed the redundant artifact build
- Added Gource version to file name to match other releases.
@acaudwell
Copy link
Owner

Thanks for the workflow. Will consider supporting an AppImage.

@JoshuaKimsey
Copy link
Author

JoshuaKimsey commented Jan 17, 2025

Nevermind, apparently libfuse wasn't necessary for it to build here. Weirdly I know it threw an error in my container when I didn't have it, but hey if it works then I won't complain! Not sure how the random OpenAI dep and whatnot got in there, may have been autocompleted by accident. But it should be working now, it built successfully for Test-3: https://github.com/JoshuaKimsey/Gource/actions/runs/12825745954/job/35764309892

@acaudwell
Copy link
Owner

acaudwell commented Jan 17, 2025

I still see libfuse-dev in the dependencies. I gather maybe its needed to build the appimage but would be good to check.

@JoshuaKimsey
Copy link
Author

JoshuaKimsey commented Jan 18, 2025

its needed to build the appimage

Yeah, I just tried to see if it would build and it won't. Since the Fuse library is required on Ubuntu to run AppImages, a (possibly purposeful) poor design choice on Canonical's part, the libfuse-dev library is required to build them. Otherwise this error is thrown:

dlopen(): error loading libfuse.so.2

AppImages require FUSE to run. 
You might still be able to extract the contents of this AppImage 
if you run it with the --appimage-extract option. 
See https://github.com/AppImage/AppImageKit/wiki/FUSE 
for more information

But it should be good to go now.

- Flipped Graphics and Development for the categories since it is more of a development app. Though it really isn't of much importance since this is designed to be run from within a Terminal.
@JoshuaKimsey
Copy link
Author

Just did one small adjustment to the Categories declarations in the .desktop file. Though I'm also 99% positive those don't matter since this is supposed to be run from a Terminal and not via an app icon on the desktop or programs menu.

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