[Development] Proposing CMake as build tool for Qt 6

Lisandro Damián Nicanor Pérez Meyer perezmeyer at gmail.com
Sat Jun 15 00:18:18 CEST 2019


Hi Matthew!

On Fri, 14 Jun 2019 at 18:36, Matthew Woehlke <mwoehlke.floss at gmail.com> wrote:
>
> On 14/06/2019 14.35, Lisandro Damián Nicanor Pérez Meyer wrote:
> > On Thu, 13 Jun 2019 at 17:02, Thiago Macieira wrote:
> >> That means you should NOT do that strong dependency. app5 should
> >> require qdbus >= Qt5, which means Qt 6's should suffice.>
> > Except you can't ship both version in the same binary-package,
>
> ...so? Pick one (and only one) to install.
>
> > so there is no way to express that relationship *with versioning*.
>
> Requires: qdbus >= 5.0  # satisfied by qdbus-6.3
>
> The whole point, as I understood it, was that the above is supposed to
> work. (If packagers aren't packaging qdbus separately, well, that's
> *their* problem.)

Correct, but that as long as the application is backwards compatible
and/or doesn't make use of external plugins (so far you shouldn't be
able to run a Qt4 plugin on a Qt5 designer). So far we have this
promise only with qdbus. The list of user-facing applications is much
longer:

ls -1 `qmake -qt5 -query QT_INSTALL_BINS`

> On 14/06/2019 15.05, Thiago Macieira wrote:
> > I was thinking that you'd split the package so that Qt 3, 4 and 5's
> > qdbus is never installed, but instead you always get the one from Qt
> > 6. That means Qt 6 is always installed in a system that needs qdbus,
> > regardless of whether any applications use it.
> That shouldn't be necessary. Just make "qdbus" a virtual package, and
> install the one for which you are willing to drag in Qt.
>
> i.e. qdbus5-5.13 → Provides: qdbus = 5.13
>
> (At this point, I'm talking about things *packagers* need to do. Qt can
> just ship /usr/bin/qdbus.)
>
> I'm not sure if package managers are smart enough to pick whichever
> concrete package satisfies a virtual dependency with the fewest
> dependencies of its own, but again, that's not *Qt's* problem.

And again, that's correct as long as we have the conditions I wrote
above. If they are don't met then yes, it becomes a Qt problem.


-- 
Lisandro Damián Nicanor Pérez Meyer
http://perezmeyer.com.ar/
http://perezmeyer.blogspot.com/


More information about the Development mailing list