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

Flatpak builds #1437

Open
orowith2os opened this issue Dec 23, 2022 · 7 comments
Open

Flatpak builds #1437

orowith2os opened this issue Dec 23, 2022 · 7 comments

Comments

@orowith2os
Copy link

orowith2os commented Dec 23, 2022

Hi, I'm recently getting into IRC to help contribute to the Asahi Linux project. I noticed that irssi doesn't provide any Flatpak bundles, so I wanted to ask, how well does irssi handle Linux standards? Does it follow the appropriate xdg base directories? Having flatpak binaries available, at least on Flathub, seems best to ensure a stable experience for end users in a simple way.

@orowith2os
Copy link
Author

Turns out irssi doesn't follow XDG base directory standards, but we can use --persist in the Flatpak for that.

@ailin-nemui
Copy link
Contributor

ailin-nemui commented Apr 4, 2023

if there were to be a flatpak, it must support loading the python, icb, fish, xmpp etc. plug-ins as well as support all kinds of perl scripts (a sample collection can be found on scripts.irssi.org) and scripts such as scriptassist and desktop-notify must work and show notifications on the gnome desktop. furthermore, /set autolog on must work and users must be able to find and grep their log files at ~/irclogs as they used to be. care must be taken that /DCC file up- and downloads work. finally, the flatpak maintainer must be an active user of this flat to ensure the quality is suitable for daily usage

@orowith2os
Copy link
Author

orowith2os commented Apr 4, 2023

I will be using the Flatpak often, so that's not a worry.

As for everything else, I need to figure out the plugins system; I'd appreciate some tips on where they need to be installed, and how it works.

I think notifications will work just fine if irssi uses libnotify, or uses the notifications portal.

The log files will not be in the standard home directories, but will instead be moved to ~/.var/app/org.irssi.irssi; it's not recommended for a Flatpak to pull in data from the host.

@ailin-nemui
Copy link
Contributor

ailin-nemui commented Apr 4, 2023

my fear is that it will be hard to deliver a satisfactory irssi experience in flatpak.

you can try to follow this test protocol, but I'm sure I forgot some things:

  1. you can start irssi from your terminal -- it is documented how to start it

  2. you can generate a private key and register it with irssi to successfully log in to your nickserv account (regular guide: https://github.com/shabble/irssi-docs/wiki/liberachat_certfp -- differences should be documented if needed)

  3. you can manually edit the config file and theme file, and new themes can be installed by the user

  4. you can /run scriptassist (see https://scripts.irssi.org/)

  5. /script install desktop-notify works and displays notifications on your desktop

  6. additional perl script dependencies can be installed with cpan Dependency or cpanm Dependency and are properly accessible from the flatpak (maybe the spellcheck script could be a good test here, it needs aspell)

  7. you can compile the python module (plug-in), /load python and display the built-in help (/py exec import irssi;help(irssi))

    (in a regular install, the module files would be placed in the $libdir/irssi/modules folder and the startup files in the $prefix/share/irssi/scripts folder)

  8. (maybe verify the same for fish encryption as it is also popular)

  9. additional python script dependencies can be installed with pip and are properly accessible from the flatpak

  10. /set autolog on and verify that the user can read their log files also from outside the flatpak

  11. use /dcc send otheruser /data/movies/some_file.mp4 and verify that irssi can send arbitrary user-selected files from their system

  12. use /dcc get myuser and verify that irssi can receive file transfers and the user can play the received movies from outside the flatpak

  13. you can run /upgrade after updating the flatpak to in-process replace irssi with the new version

  14. the adv_windowlist script can successfully show its window list in a new XTerm when run in a plain terminal, or in a tmux pane when the flatpak is launched in tmux

if some paths are deviating from the regular folders then that may be acceptable (although not ideal) as long as it is clearly documented, however it is highly troublesome if the output of commands such as /log or /save does not show the actual/real path, thus leading to confusion for the user when they cannot find their config files or log files.

irssi supports a command line option to relocate the ~/.irssi folder, --home. maybe that can somehow be helpful?

@orowith2os
Copy link
Author

irssi supports a command line option to relocate the ~/.irssi folder, --home. maybe that can somehow be helpful?

I'd appreciate it if irssi handled things like that in a configuration file that follows the XDG base directory standards, rather than rely on putting everything in a directory directly in the home folder.

@ailin-nemui
Copy link
Contributor

that would be a separate issue, but you could finish #1251

@orowith2os
Copy link
Author

I'd love to, but C isn't my style. I'd love to give pointers on how it should be handled though, because what from what I can see and understand, your suggestions on that pull request don't really follow the standards.

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

No branches or pull requests

2 participants