Re: Modularity and the system-upgrade path

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

 



On Fri, Oct 4, 2019 at 9:32 PM Miro Hrončok <mhroncok@xxxxxxxxxx> wrote:
>
> On 04. 10. 19 16:57, Stephen Gallagher wrote:
> > Right now, there are two conflicting requirements in Fedora Modularity
> > that we need to resolve.
> >
> > 1. Once a user has selected a stream, updates should follow that
> > stream and not introduce incompatiblities. Selected streams should not
> > be changed without direct action from the user.
> > 2. So far as possible, Modularity should be invisible to those who
> > don't specifically need it. This means being able to set default
> > streams so that `yum install package` works for module-provided
> > content.
> >
> > Where this becomes an issue is at system-upgrade time (moving from
> > Fedora 30->31 or continuously tracking Rawhide). Because of
> > requirement 1, we cannot automatically move users between streams, but
> > in the case of release upgrades we often want to move to a new default
> > for the distribution.
>
>
> Wouldn't it be easier if the "default stream" would just behave like a regular
> package?
>
> I can think of two solutions of that:
>
> 1. (drastic for modular maintainers)
>
> We keep miantaining the default versions of things as ursine packages. We only
> modularize alternate versions.
>
> Pros: Users who don't want alternate versions won't be affected by imperfections
> of our modular design. No Ursa Major/Prime needed in the buildroot.
>
> Cons: Modular maintainers who do modules with just one stream because it is
> easier for them would need to rollback to what's easier for everybody else but
> them. Modular maintainers who do multiple modular streams would need to maintain
> both the alternate streams and ursine packages.

I think this is the best way forward, and I don't think it's "drastic"
for maintainers. They *already* maintain a default branch, for which
similar Packaging / Update Guidelines apply than for non-modular
packages. They could even use a package.cfg file to automatically
build stuff for multiple fedora branches ...

In my opinion, this is also the most "fair" approach, because it
doesn't shift the maintenance burden from one packager to *everyone
else*.

It results in the least disruption for users who want default versions
of things.
It means no more disruptions for packagers who rely on the packages in
question - they can just target the default ("ursine") versions.

Another benefit of this would be that the "*-modular" repositories
could be disabled by default, which would eliminate a whole lot of
upgrade issues for "normal users".
Only people who *actually want* alternate versions would enable
modules (and *-modular repos?), and they can then expected to know how
to handle upgrade issues.

> 2. (potentially dangerous consequences?)
>
> We put the default modular stream into our regular repos, similarly to what we
> try to do in the buildroot. "dnf install Foo" would install the Foo package and
> would not enbale any streams or modules. The modular maintainers would keep
> maintaining the modules as now, the infrastructure would compose the defaults
> into the regular repo (or an additional but default-enabled one).
>
> Pros: Maintainers would keep doing what they desire.
>
> Cons: We would need to make this technically possible and figure out all the
> corner cases (however AFAIK this needs to be done for the "modules in buildroot"
> thing as well).

I see some issues with this approach. For example, the modularized
Java packages dropped a whole lot of "cruft", which now makes these
packages slightly incompatible with the non-modular packages - this
includes dropping Epoch from packages, dropping subpackages without
obsoleting them, etc. This is probably not a problem for module
streams, but it definitely *is* a problem if such modular packages
start to get treated like "normal packages".

> WDYT?

I think that letting people drop ownership and maintenance of "normal
packages" and *only* doing modules instead was a mistake. But that's
just my opinion ;)

Fabio

> --
> Miro Hrončok
> --
> Phone: +420777974800
> IRC: mhroncok
> _______________________________________________
> 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