#1051375 libcairo2-dev: missing-pkgconfig-dependency cairo-script-interpreter => lzo2

Package:
libcairo2-dev
Source:
libcairo2-dev
Description:
Development files for the Cairo 2D graphics library
Submitter:
Paul Wise
Date:
2023-09-11 01:48:02 UTC
Severity:
normal
#1051375#5
Date:
2023-09-07 00:40:37 UTC
From:
To:
The libcairo2-dev package is missing some sort of relationship with the
liblzo2-dev package because the cairo-script-interpreter.pc file
references the lzo2.pc file in Requires.private. Most uses of the
cairo-script-interpreter.pc file probably aren't for static linking
in Debian so probably Recommends or Suggests would be enough.

This bug report brought to you by adequate:

https://bonedaddy.net/pabs3/log/2013/02/23/inadequate-software/

$ pkg1=libcairo2-dev

$ adequate libcairo2-dev
libcairo2-dev:amd64: missing-pkgconfig-dependency cairo-script-interpreter => lzo2

$dpkg -L libcairo2-dev | grep -F cairo-script-interpreter.pc
/usr/lib/x86_64-linux-gnu/pkgconfig/cairo-script-interpreter.pc

$ grep lzo2 /usr/lib/x86_64-linux-gnu/pkgconfig/cairo-script-interpreter.pc
Requires.private: zlib, libpng, fontconfig >=  2.2.95, freetype2 >=  9.7.3, x11, xext, xrender >=  0.6, xcb >=  1.6, xcb-render >=  1.6, xcb-shm, pixman-1 >=  0.36.0, lzo2

$ apt-file search lzo2.pc
liblzo2-dev: /usr/lib/x86_64-linux-gnu/pkgconfig/lzo2.pc

$ apt-cache show libcairo2-dev | grep liblzo2-dev

$ COLUMNS=80 man adequate | grep -A5 pkgconfig
       missing-pkgconfig-dependency
           Dependency of a pkg-config (.pc) file shipped by this package
           couldn't be satisfied.

           References: Debian Policy §8.4.

#1051375#10
Date:
2023-09-11 01:43:22 UTC
From:
To:
I believe we need to use a Depends for things listed in either
Requires or Requires.private for the pkgconfig file to work.

Currently, it looks like nothing in Debian is using that particular
pkgconfig file.
gtk4 looks for it but it fails because the lzo2-dev dependency is not
installed. However, gtk4 then falls back to just using the library
directly without needing the pkgconfig file and that works fine.

Thank you,
Jeremy Bícha