Re: RHEL 9 and modularity

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

 



On Mon, 22 Jun 2020 at 04:12, Naheem Zaffar <naheemzaffar@xxxxxxxxx> wrote:
>
>
>
> On Mon, 22 Jun 2020, 02:57 clime, <clime@xxxxxxxxxxxxxxxxx> wrote:
>>
>> On Fri, 19 Jun 2020 at 01:59, Josh Boyer <jwboyer@xxxxxxxxxx> wrote:
>> >
>> > On Thu, Jun 18, 2020 at 5:51 PM clime <clime@xxxxxxxxxxxxxxxxx> wrote:
>> > >
>> > > On Thu, 18 Jun 2020 at 15:25, Josh Boyer <jwboyer@xxxxxxxxxx> wrote:
>> > > >
>> > > > On Thu, Jun 18, 2020 at 9:05 AM Igor Raits
>> > > > <ignatenkobrain@xxxxxxxxxxxxxxxxx> wrote:
>> > > > >
>> > > > > -----BEGIN PGP SIGNED MESSAGE-----
>> > > > > Hash: SHA512
>> > > > >
>> > > > > On Thu, 2020-06-18 at 08:44 -0400, Josh Boyer wrote:
>> >
>> > <snip>
>> >
>> > > > > > Hopefully that provides some context and helps FESCo and the wider
>> > > > > > community understand where Red Hat is headed with modularity on the
>> > > > > > Enterprise side.
>> > > > >
>> > > > > Sadly no. It helps to understand your plans, however it does not help
>> > > > > to understand the reasons behind, whether you can't change UX in the
>> > > > > RHEL 9, or you think that technology is good enough for your use-cases
>> > > > > or any other reasons.
>> > > >
>> > > > The base requirement is that the UX remain largely the same.  As I
>> > > > said, from a RHEL perspective, we need RHEL 8 and RHEL 9 to have
>> > > > commonality so that our customers are not forced to learn something
>> > > > entirely different to adopt RHEL 9.  Improvements in the underlying
>> > > > functionality are of course welcome and planned, but we are not going
>> > > > to do something like replace modules with a different artifact type,
>> > >
>> > > Hello Josh,
>> > >
>> > > you can change the artifact type while keeping interface the same and
>> > > it would be a _HUGE_ win because it would make modularity finally
>> > > understandable for mere humans and better maintainable.
>> > >
>> > > Namely, modules should become rpms and therefore obey standard rpm rules.
>> >
>> > I'm not sure I entirely understand what you mean, but it sounds like
>> > you have some interesting ideas.
>> >
>> > I'm looking forward to seeing what you and the community can build
>> > from them, and how they could be brought into RHEL 10+!  That kind of
>> > collaboration is what makes Fedora great.
>>
>> I know this probably won't change anything because this was mentioned
>> many times (by me at least) and nothing has changed but still...
>>
>> Currently, modules are essentially yum sub-repos, they are not really
>> "modules", instead they are collections of rpms that reinvent rpm-like
>> relations (obsoletes, requires, build-requires, etc.).
>>
>> There is no reason for this wheel-reintervention. Modules (the
>> collections) can be simply squashed into an rpm by automation and this
>> resulting rpm can go to the modular repo together with other modules.
>>
>> That way we don't have two types of objects we complex inter-relations
>> but only one we well-known behavior.
>>
>> I wonder if this is clear to everyone but nobody really cares or
>> doesn't really want to say it or I don't know.
>>
>> Is this clear to everyone? I mean either I am stating an obvious stuff
>> that nobody really considers worth typing or idk.
>
>
> How would this work when there are optional rpms in the module?
>
> You do not need to install every rpm in  eg the php module (different graphics/database backends) for that module to be useful, but every version of the module will have the rpm as an option which wont work outside a module of multiple rpms.

Glad you ask, I wasn't precise...

Well, I didn't mean everything always needs to be squashed, instead,
it would be an optional step in modulemd processing. For some
use-cases (like delicately compiled postgresql server), you can create
a single rpm that contains all - postgresql-server, postgresql,
postgresql-libs compiled in a specific way, optionally with some
postgresql modules pre-included, so it would be let's say time-series
optimized postgresql. Here it makes sense to make a single rpm from it
- you install that and you are all set up for your use-case.

Then there are language stacks where you might want to build things in
a specific order - there nothing really needs to be squashed (or
certain subset can if it makes sense) but you can still use modularity
to easily batch-build certain rpms. If there are runtime optional
deps, they can be described by Recommends/Suggests.

Basically, once a "module" (things that comes from modulemd) is built,
it should be put into normal repos and the "module" boundary should be
forgotten (unless it is a single rpm), i.e. "module" is a built-time
thing, at install-time we just have standard packages with standard
deps.

dnf interface could be kept given that we "Stream" rpm property is
added. This is still a bit rough what I am saying but hopefully it
makes at least a bit of sense...

clime

>
> _______________________________________________
> 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