Tuesday 22 December 2020

Re: Ubuntu Focal update of broken Calibre package

Thanks Dmitry for pointing me in the right direction!

I tried to backport the set of Qt5 and qtwebengine packages and found out what large set of build dependencies it was!

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

Yes!  Qt5 is indeed a very large project too!  I'm sure there is a Lord of the Rings meme that applies here like: "One does not simply backport Qt5" 😄

Simply using the backportpackage tool on qtwebengine-opensource-src started a build dependency hunt that resulted in finding a massive set of Qt5 packages that needed to be backported (without relaxing version constraints).
A lot of these eventually resolved into being blocked on circular dependency chains.

I was able to spend a few hours on this to visually represent what I found (See Gist linked below):


I'm not sure how the Debian or Ubuntu teams build and backport Qt5 packages when so many build dependencies resolve circularly.
I suppose they must bootstrap this dependency chain somehow, but it seems like more work than I have time to figure out at the moment.

Any ideas for how to simplify this?

Thanks,
- James Cuzella 

On Sun, Dec 13, 2020 at 10:16 AM Dmitry Shachnev <mitya57@ubuntu.com> wrote:
Hi James!

On Fri, Dec 11, 2020 at 08:43:16PM -0700, James Cuzella wrote:
> I would appreciate any help with figuring out how to get that
> last python3-pyqt5.qtwebengine package to be generated from the pyqt5
> source package.  I'm assuming this is where it comes from, given that all
> the other similarly named ones were generated from that one.  Also, the
> Debian package site shows this as the source package:
> https://packages.debian.org/stretch/python3-pyqt5.qtwebengine

It used to be built from pyqt5 source, but since then it got a new source
package, pyqt5webengine:

https://launchpad.net/ubuntu/+source/pyqt5webengine

https://packages.debian.org/sid/source/pyqt5webengine

--
Dmitry Shachnev