Hi, Am 10.08.19 um 12:16 schrieb David Haller:
Please, please do no longer use deps on -devel packages, but depend on pkgconfig() deps.
It would help getting your point across if you explained why that's better. There are lots of "syntactic sugar" in dependencies besides pkgconfig(), for example cmake(). I appreciate these being available, but I didn't know this was considered mandatory. I didn't look at Axel's package, but I had no indication it was using pkg-config to look up dependencies. (Although it's possible in CMake: https://cmake.org/cmake/help/latest/module/FindPkgConfig.html.)
There are some libs left without pkgconfig files (e.g. libjpeg IIRC), but in all other cases, use pkgconfig(). In this case, it's:
BuildRequires: pkgconfig(icu-uc)
Probably also pkgconfig(icu-i18n) then, since the CMake file says link_libraries(icuuc icui18n)
$ rpm -qlf /usr/lib64/libicuuc.so | grep pkgconfig | xargs grep cuuc /usr/lib64/pkgconfig/icu-uc.pc:Libs: -L${libdir} -licuuc -licudata ^^^^^^ ^^^^^
which means that the dep to libicuuc.so is in icu-uc.pc, i.e. use
pkgconfig(icu-uc)
as a dep. Generally, 'rpm -qlf foo.so | grep pkg' gives you the pkgconfig files, and if you're missing some specific lib, grep those for the lib as shown above, if the package has more than one .pc file.
Why not just this? $ rpm -qf --provides /usr/lib64/libicuuc.so
And BTW, this has been valid since *at least* 8 years ago! There just is no excuse for using -devel deps unless a package has no pkgconfig files.
I'm not sure what made this mail thread warranting a rant. I appreciate your suggestions, but I also ask for leniency in case I ever forgot to link the appropriate pkgconfig and added the -devel package instead. Best regards, Aaron -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org