Closed ppisar closed 3 months ago
LGTM 👍
I found a proper fix. pkgconf supports this kind of header-only dependency by adding it to Requires.private.
That PR of course is wrong because 'zck` dependency is not used only on static linking. (Look on explanation #305)
That PR is good because "pkfconf --cflags" reports an error if zck is not installed.
Add a private dependency on zck to librepo.pc if zchunk support is enabled
If librepo is built with zchunk support, zchunk's zck.h header file is included from librepo public header files, thus applications building against librepo needs zchunk header files available at build time. Those who only use pkg-config for tracking dependencies, reported build failures:
This patch adds the dependency on zck to librepo.pc.
It enhances Requires.private instead of Requires to prevent from contaminating "pkgconf --libs librepo" with -lzck. Contrary, "pkgconf --cflags librepo" correctly appends include path to zck header files. The dependency on zck.pc is only checked and enforced with "pkgconf --cflags librepo" invocation. This behaviour is a feature. See https://github.com/pkgconf/pkgconf/issues/352 and https://github.com/pkgconf/pkgconf/issues/300.
Fixes: #305