[prev in list] [next in list] [prev in thread] [next in thread] 

List:       fedora-devel-list
Subject:    Re: Modularity and the system-upgrade path
From:       Petr Pisar <ppisar () redhat ! com>
Date:       2019-11-19 10:04:56
Message-ID: slrnqt7fi8.6pv.ppisar () dhcp-0-146 ! brq ! redhat ! com
[Download RAW message or body]

On 2019-11-15, Przemek Klosowski via devel <devel@lists.fedoraproject.org> 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@lists.fedoraproject.org
To unsubscribe send an email to devel-leave@lists.fedoraproject.org
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@lists.fedoraproject.org

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic