|
Bugzilla – Full Text Bug Listing |
| Summary: | calibre: fails to build on missing dependencies | ||
|---|---|---|---|
| Product: | [openSUSE] openSUSE Distribution | Reporter: | Lubos Kocman <lubos.kocman> |
| Component: | Other | Assignee: | Eric Schirra <ecsos> |
| Status: | RESOLVED FIXED | QA Contact: | E-mail List <qa-bugs> |
| Severity: | Normal | ||
| Priority: | P5 - None | CC: | lubos.kocman, mlin, nwr10cst-oslnx |
| Version: | Leap 15.4 | ||
| Target Milestone: | --- | ||
| Hardware: | Other | ||
| OS: | Other | ||
| Whiteboard: | |||
| Found By: | --- | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
|
Description
Lubos Kocman
2022-04-11 08:34:56 UTC
The package was built until 11.11.2021. What and why was something changed after that? And what should we do now? The biggest reason is Leap 15.4(inherited SLE15 SP4 feature change) no longer ship python2, skip_python2 has been set to 1 in prjconf plus macros has changed, therefore BuildRequires: python-* is clearly to ask that package does not implies to python2-* or python3-*. And it seems calibre in Leap 15.4 is a outdated version which is python2 base. (In reply to Max Lin from comment #2) > The biggest reason is Leap 15.4(inherited SLE15 SP4 feature change) no > longer ship python2, skip_python2 has been set to 1 in prjconf plus macros > has changed, therefore BuildRequires: python-* is clearly to ask that > package does not implies to python2-* or python3-*. > > And it seems calibre in Leap 15.4 is a outdated version which is python2 > base. Yes. Because calibre 5.41.0 need: python3 >= 3.8 and all subpackage for python >= 3.8 But Leap 15.4 has python 3.6 enabled which was deprecated and end of life since 23.12.2021. Imho, the Standard and all subpackages should switch to python >= 3.8 So. What can i do? (In reply to Eric Schirra from comment #3) > (In reply to Max Lin from comment #2) > > The biggest reason is Leap 15.4(inherited SLE15 SP4 feature change) no > > longer ship python2, skip_python2 has been set to 1 in prjconf plus macros > > has changed, therefore BuildRequires: python-* is clearly to ask that > > package does not implies to python2-* or python3-*. > > > > And it seems calibre in Leap 15.4 is a outdated version which is python2 > > base. > > Yes. Because calibre 5.41.0 need: > > python3 >= 3.8 and all subpackage for python >= 3.8 > But Leap 15.4 has python 3.6 enabled which was deprecated and end of life > since 23.12.2021. > > Imho, the Standard and all subpackages should switch to python >= 3.8 > > So. What can i do? Leap 15.4's default python is 3.6, although we do have python 3.9 exists but we provide it just interpreter because multiple python3 version has not supported in Leap 15(and SLE15), so python module has compiled with python 3.6 only. Can we have a working version with python 3.6? (In reply to Max Lin from comment #4) > Leap 15.4's default python is 3.6, although we do have python 3.9 exists but > we provide it just interpreter because multiple python3 version has not > supported in Leap 15(and SLE15), so python module has compiled with python > 3.6 only. Can we have a working version with python 3.6? In setup.py from calibre it is python >= 3.7 And in sources.json it is python 3.8 So i think 3.7 is minimum. This problem with eol python 3.6 has many, many other packages also. :-( PS: Who fix security issues? Upstream does nothing. Only Suse? So many free time? hmm.... Hello Max and Lupos, what can we do? In my opinion, the default python3 version in Leap should be at least version 3.7. Then you would have solved quite a few problems. Not only this one. And you wouldn't have to be responsible for security problems anymore. (In reply to Eric Schirra from comment #6) > Hello Max and Lupos, > > what can we do? > > In my opinion, the default python3 version in Leap should be at least > version 3.7. > > Then you would have solved quite a few problems. Not only this one. > And you wouldn't have to be responsible for security problems anymore. I can't speak for SLE PMs about the default python3 version, I guess it would not change to python 3.7 in the whole 15 scope, therefore Leap wouldn't. Regarding this issue, IMO there are two options, 1) have a python 3.6 working version, backport fix to calibre as much as possible if there are reports against it. Yes, it's a dated version I know...unfortunately. 2) don't ship calibre on Leap 15.4, if users needing it they can set up an project on OBS for rebuild all required python deps with python > 3.6 and calibre. Lubos, do you have any other idea? Hello Eric, we do have a feature to change that https://jira.suse.com/browse/PM-3390 But that's not happening in 15.4. Until then we have to find another solution. One would be to build it against the parallely oferred python39 Let's discuss this on python@lists.opensuse.org (In reply to Lubos Kocman from comment #8) > Hello Eric, > > we do have a feature to change that https://jira.suse.com/browse/PM-3390 > But that's not happening in 15.4. > > Until then we have to find another solution. One would be to build it > against the parallely oferred python39 err.. this would not work since 15.4/SLE15 don't support multiple-python3, without that all python deps on listed BuildRequires will pulling py3.6 based package still, eg. python-Pillow is py3.6 base, force to add python3.9 at the build time will not make it works. (In reply to Max Lin from comment #9) > (In reply to Lubos Kocman from comment #8) > > Hello Eric, > > > > we do have a feature to change that https://jira.suse.com/browse/PM-3390 > > But that's not happening in 15.4. > > > > Until then we have to find another solution. One would be to build it > > against the parallely oferred python39 > > err.. this would not work since 15.4/SLE15 don't support multiple-python3, > without that all python deps on listed BuildRequires will pulling py3.6 > based package still, eg. python-Pillow is py3.6 base, force to add python3.9 > at the build time will not make it works. That is the point. Just using python3.9 is not enough. The other python modules are built on 3.6. So they and therefore calibre do not work with python 3.9. This affects, as already mentioned, quite a few other python applications. For me, there is only one solution. And that is to say goodbye to the dead python version 3.6. I don't know any other solution. (In reply to Max Lin from comment #11) > https://build.opensuse.org/request/show/975762 And this is supposed to be the solution? Sad. Sad. Not only because of calibre. But also because of all the other python applications that have to be deleted because of an old, no longer supported and dead python version. Here people complain that there are too few developers and helpers. At the same time resources are wasted to support a dead version. Have fun should a security gap occur. Because that must be fixed then all alone by SUSE people. If just has too much resources free, you can do that. :-( I do not understand this. But well, I don't have to understand everything. (In reply to Eric Schirra from comment #12) > (In reply to Max Lin from comment #11) > > https://build.opensuse.org/request/show/975762 > > And this is supposed to be the solution? Is there any option? I mean you want to say goodbye to the dead python version 3.6, I read it as *there is no way to provide a working calibre with python 3.6 base*, on the other side, we have no way to get python 3.8 or above plus python applications compiled with that into the 15.4, I don't have any other solution, unfortunately... keep it as unresolvable there isn't a solution also... Providing python 3.8 or above, and get all other python applications to compile with that is an BIG topic already, sadly we can not have that to be implemented in 15.4, hopefully it can be implemented in the next version... I have found now a solution for calibre under Leap 15.4
The last version which can build is 4.23.0.
But this version need many more newer packages:
unresolvable: nothing provides libmtp-devel >= 1.1.17
(got version 1.1.16-3.3.1)
nothing provides pkgconfig(hunspell) >= 1.7.0
(got version 1.6.2 provided by hunspell-devel-32bit)
(got version 1.6.2 provided by hunspell-devel)
nothing provides pkgconfig(libopenjp2) >= 2.3.1
(got version 2.3.0 provided by openjpeg2-devel)
nothing provides pkgconfig(libpng16) >= 1.6.37
(got version 1.6.34 provided by libpng16-devel)
nothing provides pkgconfig(readline) >= 8.0
nothing provides python3-beautifulsoup4 >= 4.9.1
(got version 4.8.2-1.18)
nothing provides python3-cchardet >= 2.1.7
(got version 2.1.5-bp154.1.29)
nothing provides python3-dnspython >= 2.0.0
(got version 1.15.0-1.25)
nothing provides python3-feedparser >= 6.0.8
(got version 5.2.1-bp154.1.31)
nothing provides python3-html5-parser >= 0.4.10
(got version 0.4.9-bp154.1.28)
nothing provides python3-html5lib >= 1.1
(got version 1.0.1-1.22)
nothing provides python3-ifaddr >= 0.1.7
(got version 0.1.6-bp154.1.31)
nothing provides python3-mechanize >= 0.4.7
(got version 0.4.5-bp154.1.30)
nothing provides python3-msgpack >= 1.0.0
(got version 0.5.6-1.19)
nothing provides python3-netifaces >= 0.10.9
(got version 0.10.6-1.31)
nothing provides python3-packaging >= 20.4
(got version 20.3-1.9)
nothing provides python3-pycryptodome >= 3.9.8
(got version 3.9.0-6.1)
nothing provides python3-regex >= 2020.07.14
(got version 2020.2.20-1.1)
nothing provides python3-setuptools >= 49.6.0
(got version 44.1.1-150400.1.4)
nothing provides python3-texttable >= 1.6.3
(got version 1.6.2-bp154.1.29)
nothing provides pkgconfig(libwebp) >= 1.1.0
(got version 1.0.3 provided by libwebp-devel)
(got version 1.0.3 provided by libwebp-devel-32bit)
nothing provides python3-six >= 1.15.0
(got version 1.14.0-12.1)
nothing provides python3-soupsieve >= 2.0.1
(got version 1.9.5-1.17)
nothing provides python3-py7zr >= 0.11.1
nothing provides python3-speechd >= 0.10.1
(got version 0.8.8-3.6.3)
nothing provides python3-zeroconf >= 0.31.0
(got version 0.25.1-bp154.1.17)
So if this packages would be updated, you could build calibre in version 4.23.0.
In my home repo I now have a working version for Leap 15.4. tested by myself.
The package itself is called calibre4 there.
|