[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:       Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange () redhat ! com>
Date:       2019-11-15 15:20:36
Message-ID: 20191115152036.GB2529156 () redhat ! com
[Download RAW message or body]

On Fri, Nov 15, 2019 at 02:53:08PM -0000, Petr Pisar wrote:
> On 2019-11-15, John M. Harris Jr <johnmh@splentity.com> wrote:
> > On Friday, November 15, 2019 6:32:21 AM MST Petr Pisar wrote:
> >> Example: I have Perl 5.26 as a default version. I have Perl 5.30 as an
> >> laternative version. Now I want to package Bugzilla that's written in
> >> Perl. How do you package Bugzilla so that it works with Perl 5.26 as
> >> well as with Perl 5.30?
> >
> > This sounds like a bug in Modularity.
>
> Modularity can achieve it when both Perls are packaged as a module. I'm
> only showing why we need default stream if we want modules.

I'm interested in how this should work when two different modules
interact, and we need a language binding across both modules.

Consider if we move the virtualization stack (QEMU & Libvirt) into a
module with two streams, one libvirt 5.8.0 and one libvirt 6.1.0.

Now we want to build Perl bindings for libvirt. We'll need the
corresponding version of perl-Sys-Virt either 5.8.0 or 6.1.0,
built for each virt module stream, but also built for each Perl
module stream 5.26 / 5.30. eg the combinatorial expansion

 -   perl-Sys-Virt 5.8.0   with libvirt 5.9.0 with perl 5.26
 -   perl-Sys-Virt 5.8.0   with libvirt 5.9.0 with perl 5.30
 -   perl-Sys-Virt 6.1.0   with libvirt 6.1.0 with perl 5.26
 -   perl-Sys-Virt 6.1.0   with libvirt 6.1.0 with perl 5.30

which module would the perl-Sys-Virt builds live in ?

If perl-Sys-Virt is part of the virt module, IIUC we'd only be
able to build it for one specific perl module stream.

If perl-Sys-Virt is part of the perl module, IIUC we'd only be
able to build it for one specific virt module stream

It looks to me like we have to create a new module just to hold
the perl-Sys-Virt package, and give this 4 streams, to cover the
combinatorial expansion of the perl & virt module streams. Is
this right ?

And we'd have to do create more modules for every other language
binding we ship (ocaml, python, ruby, etc) if the language runtime
uses modules.

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
_______________________________________________
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