On 2019-11-15, Przemek Klosowski via devel <devel@xxxxxxxxxxxxxxxxxxxxxxx> wrote: > Of course in practice the combinatorial behavior only happens within the > subsets of software that depend on each other, but, nevertheless, it > seems to me that this means that we have to control and limit the number > of interdependent modules drastically, like to single digits. > When it matters, maintainers can limit the number of combinations. E.g. you can restrict to 2 combinations like this: - buildrequiers: libvirt: [5.8.0] perl: [5.26] platform: [f32] requires: libvirt: [5.8.0] perl: [5.26] platform: [f32] - buildrequiers: libvirt: [6.1.0] perl: [5.30] platform: [f32] requires: libvirt: [6.1.0] perl: [5.30] platform: [f32] But don't forget that if a built module can actually work with many streams at run-time, you cam simplify it like this: - buildrequiers: libvirt: [5.8.0] perl: [5.26, 5.30] platform: [f32] requires: libvirt: [5.8.0, 6.1.0] perl: [5.26, 5.30] platform: [f32] This declares that you want to make two builds and each of the builds will be compatible with both libvirt streams. This is what Java modules often do. > we haven't found the right abstraction for dealing with software > versioning yet. > I'm pessimistic. Fedora as any binary distribution distributes binaries. ABI changes usually proliferate quicker than API incompatibilities. That's why e.g. Gentoo does not have this issue because there you simply put "spec files" for multiple versions into a repository and the exact binary combination is formed at installation time on a user's machine. There is missing "Koji" in the the distribution chain. -- Petr _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx