Use Requires.private: instead of Libs.private:
Use UDEV_PC and SELINUX_PC for Require.private:
It looks like usage of Requires.private is prefered from Libs.private.
However pkg-config documentation is really poor here. But here is
short outcome:
There is a difference in Libs.private: and Requires.private: where
we specify libselinux instead of -lselinux -lsepol.
We leave resolving of query like 'pkg-config --libs --static devmapper'
on taking proper selinux and udev libs to their .pc files instead of
hardcoding them into our .pc file which is might give incorrect answer.
- i.e. dependency of libselinux package might change and we may return
wrong list of linked libraries.
http://bugs.freedesktop.org/show_bug.cgi?id=4738
http://err.no/personal/blog/tech/2008-03-25-18-07_pkg-config,_sonames_and_Requires.private
Version 2.02.65 -
=================================
+ Switch usage of Libs.private: to Requires.private: in devmapper.pc, lvm2app.pc.
Use field Requires.private: for devmapper-event.pc.
Add devmapper library to linked libdevmapper-event.so.
Link liblvm2cmd.so with devmapper-event and devmapper libs.
Version: @DM_LIB_PATCHLEVEL@
Cflags: -I${includedir}
Libs: -L${libdir} -ldevmapper
-Libs.private: @SELINUX_LIBS@ @UDEV_LIBS@
+Requires.private: @SELINUX_PC@ @UDEV_PC@
Version: @LVM_MAJOR@.@LVM_LIBAPI@
Cflags: -I${includedir}
Libs: -L${libdir} -llvm2app
-Libs.private: -ldevmapper
+Requires.private: devmapper