Consider a library like libGL. At runtime, you want the drivers it might load to be installed. But when building an application, you just need the library itself. If the drivers themselves have non-trivial dependencies, the buildroot is more likely to fail to compose. The problem, in a sense, is that the devel package requires the package providing the API library, _and_ said required package requires the drivers. What if instead you had (in pseudo-spec): %package devel Requires: %{name}-sdk %package sdk %package libs Requires: foo-drivers where -libs and -sdk have identical %files, but -sdk has automatic provides for library sonames turned off (so it never satisfies a runtime dependency). This would duplicate some content on the mirrors, but not the installed system, and it would let you compose a buildroot with only the API surface you link against. --- Is this all dodging the issue that nothing agrees what Recommends: means? And that nobody's compose tools or comps files really understand what drivers they want, and that propagating that information is an unbounded task? Well, yeah, a bit. I still think it'd solve a real problem, I'm just wondering if the idea is too ugly to consider. - ajax _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx/message/CHZR6OMICCL3Y6V7OFPV7MR62CSQY77C/