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

Support Debian/Ubuntu/Snapcraft #695

Open
mikoloism opened this issue Feb 18, 2024 · 20 comments
Open

Support Debian/Ubuntu/Snapcraft #695

mikoloism opened this issue Feb 18, 2024 · 20 comments

Comments

@mikoloism
Copy link
Contributor

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

@sayanarijit
Copy link
Owner

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

@mikoloism
Copy link
Contributor Author

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

@sayanarijit
Copy link
Owner

sayanarijit commented Feb 18, 2024

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
Copy link
Contributor Author

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
Copy link
Contributor Author

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
Copy link
Owner

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
Copy link
Contributor Author

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
Copy link
Owner

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

It was removed in 278642c

@mikoloism
Copy link
Contributor Author

mikoloism commented Mar 3, 2024

Hello dear @sayanarijit

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

@sayanarijit
Copy link
Owner

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

@mikoloism
Copy link
Contributor Author

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
Copy link
Owner

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
Copy link
Contributor Author

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
Copy link
Contributor Author

mikoloism commented Mar 8, 2024

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
Copy link
Contributor Author

mikoloism commented Mar 8, 2024

Ok, I'm found answer in here:

- name: Releasing assets
uses: softprops/action-gh-release@v1
with:
files: |
target/${{ matrix.target }}/release/xplr-${{ matrix.build }}.tar.gz
target/${{ matrix.target }}/release/xplr-${{ matrix.build }}.sha256
target/${{ matrix.target }}/release/xplr-${{ matrix.build }}.tar.gz.asc
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

@mikoloism
Copy link
Contributor Author

mikoloism commented Mar 8, 2024

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:

  • macos-release.yml
  • macos-aarch64-release.yml
  • linux-musl-release.yml
  • linux-aarch64-release.yml
  • linux-arm-release.yml
  • cargo-release.yml
  • snapcraft-release.yml

@sayanarijit
Copy link
Owner

sayanarijit commented Mar 8, 2024

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
Copy link
Owner

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

@sayanarijit
Copy link
Owner

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
Copy link
Contributor Author

mikoloism commented Mar 18, 2024

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.

mikoloism added a commit to mikoloism/xplr that referenced this issue Mar 18, 2024
when action triggered, the error displayed refer into:
sayanarijit#695 (comment)

to fix this:
- grant permissions to `multipass`
- enable `experimental` settings for `multipass`
- install `multipass_socket` as experimental flags
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