[Development] Qt6/Qt5 coinstallability (Linux distributions)
Thiago Macieira
thiago.macieira at intel.com
Tue Nov 13 23:56:29 CET 2018
On Tuesday, 13 November 2018 13:43:20 PST Lisandro Damián Nicanor Pérez Meyer
wrote:
> a) Qt 5 and Qt 6 binaries should be coinstalable both in a developer
> (libraries + binaries + build tools) and in a user's (only required
> libraries and binaries) perspective. For example: a user should not need
> qmake to be present.
This does not apply for "application" executables that retain backwards
compatibility functionality. There's no need to version linguist, designer,
assistant or qdbus, qdbusviewer, so long as those applications can still be
used while developing Qt 5 applications.
The other extreme are development tools that almost never need to be run
directly by directly the user, at all. That's the case for rcc, uic, moc,
lupdate, lrelease, qmlcachegen, etc. Those should not be in the $bindir in the
first place: they should live in $libexecdir and ought to be found by way of
the .cmake and .pc files, as in:
pkg-config --variable=libexecdir Qt6Core
That only leaves front-end tools that are intricately tied to the Qt version
that need renaming. The only two I can think of that fits this description are
the "qml" and "qmlscene" pair. If we're feeling nice, we can do it too for
diagnostic tools, like qtdiag, qtpaths, qtplugininfo.
And then there's qmake. I'd really love if it were a backwards-compatible tool
that worked for both Qt 5 and 6. It's unlikely to happen, since choosing the
Qt version has always been done by selecting the proper qmake. So I imagine it
will be one of the renamed ones.
$ ls -1 `qmake -qt5-installed -query QT_INSTALL_BINS`
assistant
canbusutil
designer
fixqt4headers.pl
lconvert
linguist
lrelease
lupdate
moc
pixeltool
qdbus
qdbuscpp2xml
qdbusviewer
qdbusxml2cpp
qdistancefieldgenerator
qdoc
qgltf
qhelpgenerator
qlalr
qmake
qml
qmlcachegen
qmleasing
qmlimportscanner
qmljs
qmllint
qmlmin
qmlplugindump
qmlpreview
qmlprofiler
qmlscene
qmltestrunner
qscxmlc
qtattributionsscanner
qtcreator
qtcreator.sh
qtdiag
qtpaths
qtplugininfo
qtwaylandscanner
qvkgen
rcc
repc
sdpscanner
syncqt.pl
uic
xmlpatterns
xmlpatternsvalidator
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
More information about the Development
mailing list