[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