Package: qtbase5-dev-tools
Version: 5.11.3+dfsg1-4
File: /usr/lib/<triplet>/qt5/bin/uic
User: [email protected]
Usertags: ftcbfs
Control: affects -1 + src:xca

This bug is a variant of #909575. It's the same basic situation: xca
uses the host architecture Qt5Core.pc and extracts host_bins. It then
expects $host_bins/uic to work, but that file is missing. This is the
same situation as #909575 except that we're now talking about
$host_bins/uic rather than $host_bins/qmake and that uic is not
architecture-dependent and doesn't need a wrapper. So what is wrong this
time?

$host_bins/qmake is shipped in qt5-qmake, which is Multi-Arch: same. So
when you depend on qt5-qmake, this file is present. $host_bins/uic is
shipped in qtbase5-dev-tools, which happens to be Multi-Arch: foreign.
So when you depend on it, you only get it for the build architecture.
The host architecture QtCore.pc references the host architecture
$host_bins/uic though, which is missing. So what needs to be done here?

We need to move these compatibility symlinks out of qtbase5-dev-tools
into some other package that is marked Multi-Arch: same and that is
usually in the dependency tree that pulls qtbase5-dev-tools. I guess
that this means moving it to qtbase5-dev, which is already Multi-Arch:
same and often included.

I also suggest that you extend the description of qtbase5-dev-tools with
something saying that it is an internal package and that no other
package should depend on it directly. It should likely also give a hint
about what to depend on instead.

I would like to thank Dmitry Shachnev for taking the time to discuss the
matter. He explained essential bits that lead to the full understanding
written down herein.

Helmut

Reply via email to