With the Qt 5.5.1 transition we hit a problem we never had before: 
src:qtx11extras-opensource-src migrated to testing before the rest of the Qt 
5.5.1 stack. The reasons are simple:

- it does not ends up depending on any qt5 internal so it doesn't has a 
dependency upon qtbase-abi-x-y-z

- it turned out to not use any symbol from qtbase >= 5.5.x, so after being 
built it's dependencies got satisfied with testing's ones.

Except it broke.

So basically we need a way to ensure the Qt 5 stack gets tied together. I can 
think in two possible ways of doing it:

a) Suggested by Adam Majer and improved by Felix Geyer: if package A gets 
built against any qtbase x.y.z lib make it depend upon the version used to get 
the package built by using Build-Depends-Package from deb-symbols(5).

With this solution we ensure that the libs gets tied together, but also apps 
rebuilt against this version. I don't know if there is a real use case for 
apps migrating faster than Qt itself except for simplifying transitions (and 
we still don't know how safe that could be).

We can't use this solution for arch:all packages.

b) Somehow (I think KDE does this) create a variable to be used in 
debian/control so it get substituted at build time against whatever we set up 
in, let's say, qtbase. We can use that variable in the whole Qt stack 
including source packages that build arch: all binaries like translations. 
Docs should not depend on binaries so maybe we need something different there.

With this solution apps building against qt 5.5.1 which use symbols < 5.5.1 
should migrate whenever they are ready, although it's not clear to me we 
really want this. On the other hand it let us tie up arch:all packages.

So before rushing I would like to know if someone sees something I don't here.

I somehow like option b more than a, but I would be glad to be show that a is 
superior (if it is).

Kinds regards, Lisandro.

"With great power comes great responsibility."
  Peter Parker's uncle.

Lisandro Damián Nicanor Pérez Meyer

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply via email to