On 10/14/20 7:29 AM, Dmitry Shachnev wrote: > Hi Norbert, Lukasz and all! > > Unfortunately, Calibre 5.x requires SIP 5 and PyQt5 that is built > against SIP 5. Moving PyQt5 to the new SIP is a major transition, > that happened in Debian recently (two weeks ago) and did not happen > in Ubuntu yet because of freeze. > > This requires changes in many packages simultaneously: at least > pyqt5, pyqt5charts, pyqt5webengine, qscintilla2, calibre, > python-poppler-qt5, veusz, krita and qgis. > > I am planning to land this change early in Groovy+1 cycle.
Just for the record, this is untrue. Arch Linux has built python3 PyQt5 using Sip 5 via /usr/bin/sip-build, since Dec 13 18:01:34 2019 while continuing to build python2 PyQt5 using Sip 4 via python2 configure.py This worked well enough that even though on Nov 24 20:33:38 2019 I began shipping multiple repository packages for calibre -- one "calibre" package built with python2 and one "calibre-python3" package built with python3 -- both using Sip 4, they worked fine. The calibre-python3 package was, as expected, buggy due to being beta quality, but it never failed due to pyqt5/sip itself. There are still various packages in our distro archives building with Sip 4 but successfully using the pyqt5 bindings built using Sip 5. Old versions of some of those packages (at least krita, qgis) did need patches to change the location of the sip dir. qscintilla2 did need to be rebuilt with no changes, then a week later the 2.11.4 update moved to sip-build. It's plainly possible to mix them at least a little. From memory, we did not even need to rebuild (most of) the packages. YMMV, but it should definitely be feasible to update pyqt5/sip5, test everything that build-depends on them, and leave many of them alone if they're not ready to move. >> Is the above (update to 5.2.0) possible in Ubuntu Focal, and if >> yes, what kind if steps are necessary? > > So for Focal and Groovy we need a version of Calibre that still uses > SIP 4. Last such version in Debian was 4.99.12+dfsg+really4.23.0-1, > Groovy already has that. If you know some specific fixes, maybe they > can be applied on top of what Focal or Groovy has. Even if you could solve the immediate, critical crashes, calibre + python3 is a combination that is only beta quality until 5.0.0, as many issues were found during the final stages of the beta. I strongly advise Ubuntu Focal to NOT ship beta-quality code that upstream never released and refuses to sign off on, for the next 5 years as an LTS. It is a recipe for heartbreak and bad relationships with upstream. It was never intended to be present in a stable, frozen distro release anywhere. In recent times, the Debian package for calibre has gained a lot of polish, and gotten rid of legacy baggage from the "bad old days" where upstream simply told all users that Debian was the main reason users should never use distro packages. I'm kind of hoping that Ubuntu doesn't become a new reason for upstream to begrudge distros. ... Possible options going forward: very much not ideal: - reinstate a stable legacy python2 build for Ubuntu (needs various python2 deps re-added) - dropping calibre from the archives - doing nothing: keep a broken package that crashes on startup and drives upstream nuts - cherry-picking some specific fix: keep a partially broken beta package that crashes at odd, unpredictable times, and drives upstream occasionally nuts ideal: - getting a Sip 5 collection in place which still supports some packages stuck on Sip 4, and package calibre 5.2.0 not great, but workable: - Revert code in calibre to make it build with Sip 4 again, and package calibre 5.2.0: https://github.com/kovidgoyal/calibre/commit/7a4b3f61ff24f8c39c8d5cf86c54da9de9267025 ... I suspect that last option would be the easiest resolution. It should work. -- Eli Schwartz Arch Linux Bug Wrangler and Trusted User
signature.asc
Description: OpenPGP digital signature
-- ubuntu-devel mailing list ubuntu-devel@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel