marhkb / pods

Keep track of your podman containers
GNU General Public License v3.0
737 stars 14 forks source link

Flathub Beta submission #300

Closed Eonfge closed 2 years ago

Eonfge commented 2 years ago

Cool to see all the projects focussing on Podman. Yesterday I was checking out Podman Desktop, and to day I stumbled upon your project.

While trying it out, I was wondering if you could add your project to Flathub. Now, I understand that you don't consider your application ready for prime-time, but Flathub also has a beta-channel that might be perfect way for you to get the app in the hands of testers.

If you need any help submitting your app to Flathub, feel free to ask me for help. I maintain a multitude of packages so I'll gladly help.

marhkb commented 2 years ago

Thanks for offering your help. I've been thinking about publishing on Flathub Beta for quite some time and think it makes perfect sense at this point.

But so far, I have been procrastinating on the subject. This is mainly because I have no experience in publishing on Flathub and I have lacked the time to learn the ropes.

Ideally, it would end up that the release on Flathub Beta would be triggered by new commits on the main branch. But I can't assess to what extent this is possible.

Eonfge commented 2 years ago

There is a tool called x-checker-data that automatically creates pull requests when a package-source changes. It can even be instructed to auto-deploy if you're not too concerned about it. Perfect for Beta if you ask me.

Since you already have a working Flatpak, getting through the entire process would be rather easy.

The biggest challenge would be, to parse the rust-dependency list into a Flatpak specced list of reproducible resources. Since you can't download resources while building (that would break reproducibility) you must have a file that dictates all resources before.

here is the full explanation on that;

https://github.com/flatpak/flatpak-builder-tools/tree/master/cargo

marhkb commented 2 years ago

Thanks for your help. That has already brought me further. I think I'll do without automatic deployment for now and create manual pre-release versions on Github, which will then be published on Flathub Beta. Maybe that can be addressed later when I'm more familiar with all the processes.

The biggest challenge would be, to parse the rust-dependency list into a Flatpak specced list of reproducible resources. Since you can't download resources while building (that would break reproducibility) you must have a file that dictates all resources before.

I haven't thought about that at all. :-) For that, I will take the dist-vendor.sh script, which is already in build-aux dir (from the rust-template). Have seen that this is the standard procedure of many rust projects like Kooha.

What is still not so clear to me:

The submission instructions describe the steps to submit a new app.

Unfortunately, the instructions do not handle submissions for Flathub Beta. How exactly do I communicate that I only want to do beta releases? Is the newly created repository empty, or does it already contain my PR as the first commit on the master branch? That would be exactly what I want to avoid, wouldn't it?

marhkb commented 2 years ago

https://github.com/flathub/flathub/pull/3483

Eonfge commented 2 years ago

Sorry for not having the time to reply. I was rather busy, and my Steam Deck came in so I had my mind elsewhere.

Seems that you've been quite far in your submission. The biggest issue that might come up right now, is that you're not building from source. Another benefit with building from source, is that you can use tags to auto-build and distribute new versions.

Eonfge commented 2 years ago

home/kevin/Projects/flatpak-builder-tools/cargo/flatpak-cargo-generator.py ./Cargo.lock -o cargo-sources.json

File that contains all the sources, using the flatpak-cargo-generator cargo-sources.zip

Interesting idea... you could add this file to your pre-commit hooks, so that every time you push to git, you add a full list of resources for Flatpak.

marhkb commented 2 years ago

Thanks for your help. The PR has been accepted. For now, I plan to push manual updates to the beta channel.