Hi all, I implemented a new rule for namcap [1] to check if dependencies from pkg-config .pc files are satisfied. These are used by the 'pkg-config - -cflags --libs <library name>' command to set the appropriate CFLAGS and LDFAGS when building any dependent (direct and indirect) packages. If any of dependencies specified in 'Requires' or 'Requires.private' fields are missing, pkg-config throws an error. These dependencies are mostly covered by link-level dependencies, but there are some exceptions. Some packages already aware about this (e.g. glib2 -> libsysprof-capture; libx11 -> xorgproto), so we only need to fix a few others. I checked 590 core packages, and I found 13 packages with missing dependencies. [2] I propose the following solutions: - Some missing dependencies (gobject-introspection, systemd, util- linux) are caused because the pkg-config files are packaged separately from the libraries. This shouldn't happen in our distribution, because we don't split development packages. pkg-config files and the related header files should be in the same package where the library is found. - Some packages depend on specific header or data files (xorgproto, wayland-protocols) without linked library in it. Sometimes just a struct is needed from a header file in another package (libxi -> libxfixes). [3] Sometimes a library is used by dlopen() instead of linking (libepoxy -> libglvnd). [4] These should be added as dependencies if defined in a pkg-config file. - If you are sure that the dependency is unnecessarily, then contact with upstream. If no objections, I'll open tasks in Flyspray for these issues. [1] https://gitlab.archlinux.org/pacman/namcap/-/merge_requests/28 [2] https://md.archlinux.org/s/iXr206Xb1 [3] https://gitlab.freedesktop.org/xorg/lib/libxi/-/blob/08431d0684f9a1edf199f6c... [4] https://github.com/anholt/libepoxy/blob/8db879f810e2dbc63824c43c17eeea0d3dbc... #L547-L559 -- Balló György Package Maintainer / Trusted User