Ubuntu Focal update of broken Calibre package

Dmitry Shachnev mitya57 at ubuntu.com
Wed Oct 14 19:06:15 UTC 2020


Hi Eli!

On Wed, Oct 14, 2020 at 11:52:44AM -0400, Eli Schwartz wrote:
> > 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.

Most packages I mentioned will need a rebuild and a patch to use a different
location for PyQt5 *.sip files.

You can see this in Debian: after I uploaded new PyQt5 (built with SIP 5) to
unstable, immediately some packages started to fail to build from source:

- https://bugs.debian.org/971173 (krita)
- https://bugs.debian.org/971217 (python-poppler-qt5)
- https://bugs.debian.org/971172 (veusz)

And packages that were not rebuilt got runtime errors:

- https://bugs.debian.org/971538 (qgis)
- https://bugs.debian.org/970921 (calibre)

So what I said is true: this requires simultaneous changes in many packages,
even if it's just a rebuild for some of them.

> 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.

Tomorrow is final freeze, so it is really bad timing for this.

> 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.

That would be the easiest option, yes.

I don't volunteer to work on this (no time, sorry), but I can sponsor an
upload if someone gets a feature freeze exception for this and prepares/tests
the upload.

--
Dmitry Shachnev



More information about the ubuntu-devel mailing list