Re: Bug#980691: gnome-software: FTBFS: Package 'jcat', required by 'fwupd', not found
Control: retitle 980691 gnome-software: FTBFS: Package 'jcat', required by 'fwupd', not found
Control: retitle 980684 gnome-firmware: FTBFS: Package 'jcat', required by 'fwupd', not found
Control: reassign 980691 libfwupd-dev 1.5.5-2
Control: reassign 980684 libfwupd-dev 1.5.5-2
Control: merge 980691 980684
Control: affects 980691 + gnome-software gnome-firmware
On Wed, 20 Jan 2021 at 21:48:16 +0100, Lucas Nussbaum wrote:
> During a rebuild of all packages in sid, [gnome-software] failed to build
> on amd64.
> > Run-time dependency fwupd found: NO
> > ../meson.build:173:2: ERROR: Could not generate cargs for fwupd:
> > Package jcat was not found in the pkg-config search path.
> > Perhaps you should add the directory containing `jcat.pc'
> > to the PKG_CONFIG_PATH environment variable
> > Package 'jcat', required by 'fwupd', not found
(and a very similar bug report for gnome-firmware)
This can be worked around by adding more -dev build-dependencies to
gnome-software and gnome-firmware, but it's really a bug in the packaging
of libfwupd-dev. It should have Depends on each -dev package that is
required when linking against fwupd.pc using pkg-config (including
Requires.private), so that dependent packages like gnome-software aren't
required to know ahead of time what fwupd depends on.
Adding a superficial autopkgtest for each -dev package that links a
trivial executable against the library, and running it before upload, is
a surprisingly effective way to detect packaging mistakes like this one,
and I try to add an autopkgtest to every -dev package that I contribute
to. In this case, as well as jcat, it detects that there are other missing
dependencies: the one that first causes test failure is gio-2.0.pc,
provided by libglib2.0-dev.
I'm testing patches to resolve this and add the autopkgtest that I
suggest, but haven't tested them successfully yet, so I'm not tagging
this +patch right now. Please see