Re: Modularity vs. libgit

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Jun 16, 2019 at 2:53 AM Remi Collet <Fedora@xxxxxxxxxxxxxxxxx> wrote:
>
> Le 14/06/2019 à 20:03, Josh Boyer a écrit :
> > On Fri, Jun 14, 2019 at 3:50 AM Remi Collet <Fedora@xxxxxxxxxxxxxxxxx> wrote:
> >>
> >>
> >>> IMHO, having library in modules is an error, this can only raise issues
> >>
> >> Some examples, taken from RHEL-8
> >>
> >> libJudy is part of the mariadb module ... (without -devel)
> >> libssh2 is part of the virt module... (without -devel)
> >> libzip is part of the php module...
> >> etc
> >>
> >> How are we going to manage this in EPEL ?
> >
> > Can you elaborate further?
>
> How are you going to build package requiring libssh2 in EPEL ?
>
> Dependency on "virt" seems terribly strange
> and we don't have the "devel" package, and are not allowed per
> Guidelines to replace things which are part of RHEL.
>
> So probably we have to add libssh2 in EPEL, but what will happen if
> soname change ? making installation if "virt" module impossible ?
>
> As "libssh2" is only used by "virt", and is not part of the provided
> contract of the module, we can imagine
>
> - virt version x with libssh2 version 1
> - virt version y (major update = new stream) with libssh2 version 2
> - virt version y (minor update, same stream) with libssh2 version 3
> - etc
>
>
> Next problem, I need libssh2 and libjudy (and some others) in the PHP
> module, so ?
>
> - add a module dependency on mariadb and virt ?
>
> => this can't work and don't make sense
>
> - add the judy and libssh2 and other lib in the php module ?
>
> => at some point, we are going to generate conflicts between modules

Why can't libssh2 be packaged into a module of its own in EPEL?  Yes,
this looks odd at first, but it doesn't expressly replace the RHEL
version, and it allows you to have module dependencies that do make
sense.

Granted, that may mean modules could conflict but in this specific
case I'm not immediately seeing that.  If the soname changes in the
libssh2 module, the installation files would also change and the virt
module could continue using its own copy, right?

> IMHO, such libraries have to be in the base distribution.

Ah, well in many cases, yes.  There are cases where a library is
considered an internal implementation detail and not for general usage
outside of the core functionality it was included for.  Modules
actually make this possible in a way, with the pitfalls you're
highlighting.  The usecases also differ greatly between one OS and
another, so what makes sense in e.g. RHEL might not make sense in
Fedora or even EPEL.

josh

> Another funny thing, I have some PHP extensions which use nodejs, how to
> mange this in a modular world ?
>
> - make PHP module depends on NODEJS module ?
>
> - create another module only for these extensions ?
>
>
>
> For memory, PHP is not available as module in Fedora, because of such
> issues (and PHP stack is hundreds of packages, with tons of library
> bindings).
>
> But I really want to see more PHP stuff in EPEL, as for previous
> version, and this have to be managed as module.
>
>
>
>
> Remi
> _______________________________________________
> 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
_______________________________________________
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




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux