sayanarijit / xplr

A hackable, minimal, fast TUI file explorer
https://xplr.dev
MIT License
4.06k stars 75 forks source link

Support Debian/Ubuntu/Snapcraft #695

Open mikoloism opened 4 months ago

mikoloism commented 4 months ago

Hi and Good job! is there build and release for Debian-base package? or maybe Snapcraft package?

sayanarijit commented 4 months ago

Hi, I haven’t seen any. I maintain the github, crates and nixos releases. Others are maintained by community contributors.

mikoloism commented 4 months ago

How we can to build and maintain our package? exactly my question is, can we add it to installation list?

sayanarijit commented 4 months ago

Before that, someone has to submit and maintain the xplr build on the distro repo. I did give snap a try, but it required significant manual efforts. So I had to discontinue. https://www.reddit.com/r/Ubuntu/comments/uvwohe/is_anyone_interested_in_maintaining_xplr_in_snap/

https://forum.snapcraft.io/t/request-deletion-of-snap-xplr/30145

mikoloism commented 4 months ago

thereThank you for the detailed explanation, and I appreciate the effort you've put into maintaining the project. I'm interested in contributing to the maintenance and packaging of xplr for Debian-based distributions. I believe it would be beneficial to make it more accessible to a wider audience.

I'll look into what it takes to create and maintain a package for Debian-based systems. If you have any guidance or specific requirements for the process, I'd be happy to collaborate and work on this together. Let's make xplr more easily installable for GNU/Linux users!

mikoloism commented 4 months ago

I wanted to inquire about the status of the unsupported Snap release in our GitHub CI Actions commits. Could you please provide more information on where and when this unsupported release is occurring?

sayanarijit commented 4 months ago

I'm interested in contributing to the maintenance and packaging of xplr for Debian-based distributions.

Cool. I guess debian/ubuntu wiki or launchpad could provide some useful information.

I wanted to inquire about the status of the unsupported Snap release in our GitHub CI Actions commits. Could you please provide more information on where and when this unsupported release is occurring?

sorry I didn’t get the question. Are you asking why the snap build was failing? If yes, I think it was some security related thing specific to snap. I had to get some permission from the snap team to be able to build xplr. There’s currently no snap support planned by me.

mikoloism commented 4 months ago

sorry I didn’t get the question. Are you asking why the snap build was failing?

Ah, I see I might not have been clear. My question was more aimed at understanding the specific point in the commit history where support for snap packages was discontinued or if the inclusion of snap build in the CI Actions was intentionally omitted?

sayanarijit commented 4 months ago

Ah got it. This was the final snap file: https://github.com/sayanarijit/xplr/blob/ad2c7ab69561a0e7df3f5c3238305706bf953ca2/snap/snapcraft.yaml

It was removed in https://github.com/sayanarijit/xplr/commit/278642cc4111f5339382975b1c97b40cf42c335c

mikoloism commented 4 months ago

Hello dear @sayanarijit

again me, Is it enough to publish on GitHub releases?\ Is it also considered for snapcraft repository?

sayanarijit commented 4 months ago

Sorry I don’t understand the questions. Can you pls elaborate?

mikoloism commented 4 months ago

Do you think it's enough to just put the xplr.snap file in GitHub Releases?

something like vercel/hyper image

Or do you think it is better for the user to be able to install it through the snap install xplr command?

Considering that we have reached almost 50% of the way to publish on GitHub Releases, but they are very strict about publishing on snapcraft.io.

sayanarijit commented 4 months ago

Ah I didn't know we can release snap package on github like this. I never gave it a try. Ofcourse I'm willing to add github release for snap, deb etc. but I don't know how to package and troubleshoot them, so haven't added yet. If you can, please feel free to add a CI/CD action for the same.

mikoloism commented 4 months ago

If you can, please feel free to add a CI/CD action for the same.

Sure, may you will probably receive a PULL REQUEST in the next few days

mikoloism commented 4 months ago

Hi again, is there manual generation of GitHub Releases or is it built from GitHub Action? In other words, are you manually creating GitHub releases?

mikoloism commented 4 months ago

Ok, I'm found answer in here:

https://github.com/sayanarijit/xplr/blob/ded2e108bf12dd5a8bb3b2bd0a8bdafa73fee410/.github/workflows/cd.yml#L98-L107

mikoloism commented 4 months ago

What is your opinion about separating all the targets on the .github/workflows/cd.yml as a separate and isolated action file? to make maintenance easily.

for example:

sayanarijit commented 4 months ago

It might result in redundant code. But i guess it’s fine because that way changes in one build config won’t impact others. Also it will avoid some complexity of using matrix for different targets.

sayanarijit commented 4 months ago

Thanks for the pr btw. I’ll review tomorrow.

sayanarijit commented 3 months ago

Hey, unfortunately, snap build failed with the following error:

Starting Snapcraft 8.0.4
Logging execution to '/home/runner/.local/state/snapcraft/log/snapcraft-20240318-103346.813681.log'
Launching a VM.
launch failed: multipass socket access denied
An error occurred with the instance when trying to launch with 'multipass': returned exit code 2.
Ensure that 'multipass' is setup correctly and try again.
rm: cannot remove './*.snap': No such file or directory

I'll disable the job for this release. Let's try this in next release. Need to test things properly in a docker container.

mikoloism commented 3 months ago

Hummm, the multipass installed successfully, but have not access to permissions, it need to grant permissions via snap connect multipass:* and installing experimentally multipass_socket

I will fix it and make PR.