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

Provide a Flatpak/Submit to Flathub #9808

Open
6 of 9 tasks
Throun opened this issue Apr 28, 2024 · 11 comments
Open
6 of 9 tasks

Provide a Flatpak/Submit to Flathub #9808

Throun opened this issue Apr 28, 2024 · 11 comments
Labels
docs/meta/cleanup related to docs, code cleanup, templates, devscripts etc question Question

Comments

@Throun
Copy link

Throun commented Apr 28, 2024

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

  • I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

Provide a description that is worded well enough to be understood

First off, thank you for this great project!

Atomic systems like Fedora Silverblue are commonly designed around using flatpaks as the primary, if not only, way of installing software, leaving users unable to use yt-dlp. There are some graphical programs available on Flathub that use yt-dlp, but they are limited in how much you can do compared to the command line. I believe the project should either build a flatpak or make a submission request to Flathub to allow affected users the ability to use this software.
Flatpak also helps provide a standardized environment for users; what works on one system should work exactly the same on another. This might help weed out issues that are from distros/users rather than the project.

I have written a preliminary manifest that someone can use as a start if there is interest:
downloaders.yaml.txt
org.yt_dlp.yt_dlp.yaml.txt
python3-modules.yaml.txt
I am willing to answer any questions about this to the best of my ability.

Provide verbose output that clearly demonstrates the problem

  • Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
  • If using API, add 'verbose': True to YoutubeDL params instead
  • Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output

No response

@Throun Throun added enhancement New feature or request triage Untriaged issue labels Apr 28, 2024
@MrRawes
Copy link
Contributor

MrRawes commented Apr 28, 2024

i'm running fedora silverblue, you can already run the yt-dlp release binary and flatpak isn't that well designed for cli apps

@Throun
Copy link
Author

Throun commented Apr 28, 2024

flatpak isn't that well designed for gui apps

Do you mean CLI apps? Yes, flatpak's not ideal for them, but they can work (John the Ripper, Corese-Command).

Anyways, the binary, while nice, cannot autoupdate (you can use -U, but that's manual) and doesn't include all dependencies, especially ffmpeg. Having an additional method of installation also wouldn't hurt, I imagine.

@bashonly
Copy link
Member

This is not something I would be interested in maintaining, but I'd like to hear from the other maintainers

@Throun
Copy link
Author

Throun commented Apr 28, 2024

I'm willing to maintain this if necessary, I just would like input to ensure it meets with maintainers' approval.

@Grub4K
Copy link
Member

Grub4K commented Apr 28, 2024

Why not provide the flatpak yourself?

General philosophy is that all packaging should be done third party and only the release binaries/pypi package are officially maintained.

@Throun
Copy link
Author

Throun commented Apr 28, 2024

Flathub recommends making a request with developers first and I felt I should bring it up here before submitting anything, in case anyone had concerns.

@bashonly
Copy link
Member

bashonly commented Apr 29, 2024

from flathub:

App developers can submit their apps to be distributed to Flathub's growing user base, thus providing a single gateway to the entire Linux desktop ecosystem.

Some apps have a checkmark on the app page under the developer name. This means the app is published on Flathub by its original developer or a third party approved by the developer.

Some apps are published by third parties that are unaffiliated with the original developer. This is allowed, but such apps are not eligible for the checkmark.

If a flatpak is submitted to flathub by a third party, we will not officially approve it nor will we claim any affiliation with it, since then we would need to consistently monitor it and it would be no less work than maintaining it ourselves.

If none of the other maintainers want to take this on, then you can feel free to submit an unofficial flatpak.

Note about your flatpak manifest: If you want to include the python dependencies, make sure to include the default optional dependency group (e.g. pip install -U yt-dlp[default]), since we intend to move most/all of our required dependencies into that optional group in the near future. You may also want to include secretstorage, which is needed for --cookies-from-browser to work with chromium browsers.

@bashonly bashonly added docs/meta/cleanup related to docs, code cleanup, templates, devscripts etc question Question and removed enhancement New feature or request triage Untriaged issue labels Apr 29, 2024
@Throun
Copy link
Author

Throun commented Apr 29, 2024

That's understandable.

Note about your flatpak manifest: If you want to include the python dependencies, make sure to include the default optional dependency group (e.g. pip install -U yt-dlp[default]), since we intend to move most/all of our required dependencies into that optional group in the near future. You may also want to include secretstorage, which is needed for --cookies-from-browser to work with chromium browsers.

In case you didn't see it, the manifest sources the necessary python dependencies from the python3-modules file.

@bashonly
Copy link
Member

bashonly commented Apr 29, 2024

In case you didn't see it, the manifest sources the necessary python dependencies from the python3-modules file.

Ah, I just took a quick glance and missed that. My bad. Clearly I am not cut out to maintain a flatpak

@Throun
Copy link
Author

Throun commented Apr 29, 2024

It's OK, I learned most of this through trial-and-error myself. It's one of the reasons I don't mind maintaining this if it comes to it.

@pukkandan
Copy link
Member

For us to support a package,

  1. The update process must be fully automated
  2. Someone needs to be willing to maintain any future breakages

This is why we used to provide brew taps, but dropped it when the contributor in charge of maintaining it disappeared.

Since flathub recommends manual checking before each release, it's probably not suitable for us to maintain.

If that is a non-issue, and you are volunteering to help us maintain it in case of future breakages, then we can support it.

Honestly, I think the needed coordination is more work than it's worth just to get marked as "official", but your choice

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docs/meta/cleanup related to docs, code cleanup, templates, devscripts etc question Question
Projects
None yet
Development

No branches or pull requests

5 participants