Bug#1055437: avahi: Please provide a build-profile without GObject-Introspection

Simon McVittie smcv at debian.org
Tue Nov 7 10:44:23 GMT 2023


Control: reassign -1 avahi
Control: retitle -1 avahi: Please provide a build-profile without GObject-Introspection
Control: severity -1 wishlist
Control: tags -1 + pending
Control: affects -1 + src:cairo

On Mon, 06 Nov 2023 at 20:12:18 +0100, Samuel Thibault wrote:
> cairo build-depends on ghostscript, and we have this
> dependency chain:
> 
> ghostscript <- libgs10 <- libcups2 <- libavahi-client3
> 
> and avahi build-depends on gobject-introspection.

That's something that we would ideally disentangle to make bootstrapping
and cross-compiling easier.

For most packages, that depends on the GObject-Introspection mini-policy
changes in #1030223; but for src:avahi specifically, I think we can take
a short cut.

> But we can indeed perhaps just make avahi able not to build
> gir1.2-avahi-0.6.

That's not enough: it would also need to stop shipping the GIR XML,
which is currently in libavahi-gobject-dev.

Because libavahi-gobject-dev is non-critical functionality for avahi
(and in particular is not in the subset that cups depends on), I think
we can introduce a nogir build-profile that disables both gir1.2-avahi-0.6
and libavahi-gobject-dev, which would be enough to break your dependency
cycle when combined with the <!nocheck> you proposed in cairo (which I
haven't reviewed or tested, but it sounds like a good direction).

For most packages this would require more work to split the -dev package
into gir1.2-foo-1.0-dev and libfoo-dev, because normally the GIR XML is
in the main -dev package libfoo-dev which we cannot usefully disable -
but because GObject is only a secondary thing for Avahi, we can take
this short cut.

    smcv



More information about the pkg-gnome-maintainers mailing list