Gource icon indicating copy to clipboard operation
Gource copied to clipboard

Add building of AppImages for Releases

Open JoshuaKimsey opened this issue 11 months ago • 5 comments

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

JoshuaKimsey avatar Jan 13 '25 03:01 JoshuaKimsey

Thanks for the workflow. Will consider supporting an AppImage.

acaudwell avatar Jan 17 '25 03:01 acaudwell

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

JoshuaKimsey avatar Jan 17 '25 08:01 JoshuaKimsey

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

acaudwell avatar Jan 17 '25 20:01 acaudwell

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.

JoshuaKimsey avatar Jan 18 '25 06:01 JoshuaKimsey

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.

JoshuaKimsey avatar Jan 19 '25 05:01 JoshuaKimsey