phuhl/linux_notification_center

[Request] Appimage as packaging format

Opened this issue · 7 comments

I'm on linux mint and use a custom appimage bundled using arch2appimage. It works okay and reads config from $HOME/.config/deadd just like one built from source. The binary provided as official release doesn't seem to respect user configs but appimage will

phuhl commented

Hi, thank you for the suggestion.

I have no idea how to do this. Would that be a config file that needs to be written? If so, could you create a PR?

An appimage is almost equivalent of .exe but on linux. One makes the appimage executable and it then it just runs when executed.
Here is my custom appimage for dead, you can extract, make it executable and try it out

phuhl commented

I see, could you write the cli command you used to create it? Maybe we can add it as a CI run

step1: Download appimagetool and make it executable.

Link to official Appimagetool

step2: Create a ".AppDir" folder

eg. deadd-notification-center.AppDir
This directory needs;
*AppRun (which is scipt or symlink pointing to the executable binary, the script is better though)
*.desktop file and an icon with name that matches the one in .desktop file
*Directories and files of the application like usr, bin and etc. Core dependencies directories and files can also be added to increase compatibility.

step3: Create the appimage

Run in a terminal:
[path-to-appimagepool] [path-to-.AppDir-directory]
this will output the appimage in the home directory. If there are any errors, suggestions will be presented in the terminal.

step4: Integrating Appimage with system

Make the appimage executable
The appimage (path-to-appimage) can be added to the autostart, to launch deadd with desktop.

Documentation

Example of AppDir

phuhl commented

Ok, just to clarify, what exactly you intend with this issue:

  • You seem to have figured out how to build an app image.
  • It seems to work.
  • You seem unsatisfied with a released binary ("The binary provided as official release doesn't seem to respect user configs but appimage will"). Which one? The one on chaotic aur?
    • Or are you referring to another binary? The one in the repo, that is also used for the AUR deadd-notification-center-bin package?
  • Are you maintaining chaotic aur? Or is that completely unrelated :D
  • You explained, how to build an app image. But what now? You want it to be hosted somewhere, I suppose?
    • I'd rather not have it in the repository directly as it is a build output and that just increases the repositories size unnecessarily. We could add a build step to the Makefile instead, maybe.
    • If you'd like it to be hosted in some repository (e.g. chaotic aur), then we'd need a maintainer for that. As I am not using appimages or chaotic aur, I wouldn't be a great fit here. Maybe you are?

Cheers

Main aim was proposing appimage as one of official release formats for non arch users

The official releases binary still use deadd.conf but I had updated my configs to deadd.yml, that is why I thought it didn't respect user configs.