d/control.in: Only use libsysprof-capture-4-dev for shared library
authorSimon McVittie <smcv@debian.org>
Sun, 6 Aug 2023 11:51:25 +0000 (12:51 +0100)
committerSimon McVittie <smcv@debian.org>
Sun, 6 Aug 2023 11:58:58 +0000 (12:58 +0100)
commit169a0a3e6cf9a1543eaa41e7d6cd90b47529525b
tree80c7ff994263ff4e36e2acb7559632bbcb2494ce
parent1a92faa10f02c5481f7b5226366b2b7dedc0d661
d/control.in: Only use libsysprof-capture-4-dev for shared library

libsysprof-capture-4-dev is currently a virtual package provided by
libsysprof-4-dev, which also includes GTK 4 GUI components and so depends
on libgtk-4-dev. If the Architecture: amd64 build happens to finish before
the Architecture: all build starts, then the Architecture: all build will
fail with an unsatisfiable build-dependency: libsysprof-4-dev Depends on
libgtk-4-dev, which Depends on libgtk-4-common (>= ${source:Version}),
which hasn't been built yet. The result is that libgtk-4-common can't
be built and the builds deadlock. We've been lucky enough to avoid this
until now, but version 4.10.5+ds-1 was not sufficiently lucky and has
become uninstallable and unbuildable.

Because the sysprof integration is part of the architecture-specific
library, we can break this cycle by only installing libsysprof-4-dev when
we are building the architecture-specific library, and excluding it
when we are only building architecture-independent documentation and
common files.
debian/control
debian/control.in
debian/rules