[packman] yt-dlp 2022.08.08 broken on 15.3

Jason Craig os-dev at jacraig.com
Fri Aug 12 21:12:40 CEST 2022

On 8/12/2022 1:30, Eric Schirra wrote:
> Am 12. August 2022 03:38:50 MESZ schrieb Jason Craig <os-dev at jacraig.com>:
>> On 8/11/2022 17:53, Eric Schirra wrote:
>>> And I think this packages are not in Leap or sles for python 3.9 or 3.10.
>>> Python 3.6 is simple dead.
>>> And Leap, also 15.4, rides a dead horse.
>>> Only solutions are build all require modules for python 3.9/3.10 yourself, put the require modules in yt-dlp package, use Tumbleweed or another distribution.
>> Well, since those packages are all available via PyPi as wheels there is the alternative of
>> $ python3.10 -m venv [dir]
>> $ [dir]/bin/pip install yt-dlp
>> $ [dir]/bin/yt-dlp [whatever you want to do]
>> Subbing of course whatever updated version of Python is available on 15.3 that you have installed, as well as having installed python310-virtualenv (or whatever version).
>> You do waste some space on those duplicated packages from above (it is about 56M for me, but on Tumbleweed), and you have to keep things updated via pip in that venv, so there are drawbacks. But this is probably the easiest option if no one is going to build those packages for Leap.
> Mixing different installation types (rpm / pip) is never good. Even after a short time, it can no longer be traced. This can then cause other problems at a later point in time.

I'm not mixing installation types, in fact I am specifically separating 
things. If I were using the system pip to install this then yes I would 
agree with you that is a bad idea. Instead, this is a virutalenv, which 
creates a completely isolated "copy" of Python (in reality, it links to 
the system Python whereas all the libs are the virtualenv's own copy). 
Thus things under /usr are absolutely not touched, RPM-installed 
packages are not hampered and everything under [dir] in my example 
stands on it's own. As I said, this has the disadvantage of wasting a 
little space and that you need to keep the libraries within the 
virtualenv (i.e. pip, yt-dlp and it's dependencies) up to date on your 
own (as noted, since it links to whichever Python is was created with, 
the system--RPM--keeps Python itself up to date). This is a simple 
command like

$ [dir]/bin/pip install -U pip yt-dlp [other] [pkgs] [and] [deps] [here]

But where one's package manager doesn't provide a specific package is 
absolutely a use case for a virtualenv, another popular one being when a 
package (or sometimes just the humans involved) thinks it needs really 
specific versions of dependencies.

> And the real problem was that the rpm package yt-dlp does not work.
> And under given conditions, a functioning rpm package cannot be created.

Right, so we're looking for a solution, no?

> Of course, you can install everything manually. With all its disadvantages. But this is nothing for the masses.
> And certainly not a functioning rpm package.

Your solution "for the masses" was "build all require modules for python 
3.9/3.10 yourself" (or switch distros). I fail to see how that is a 
better solution.

Jason Craig

More information about the Packman mailing list