On 10/15/19 9:26 PM, Stephen Gallagher wrote:
Module stream metadata would gain two new optional attributes,
"upgrades:" and "obsoletes:".

If the "upgrades: <older_stream>" field exists in the metadata, libdnf
should switch to this stream if the following conditions are met:
1) Changing the stream would not introduce conflicts.
2) The stream is marked as `default_enabled` or `dep_enabled`.

The "obsoletes: <older_stream>" field would be stronger. Its use
should require a special exemption (with a strong justification) and
it would cause libdnf to switch from that stream to this one
*unconditionally*  (failing the transaction if that transition would
cause conflicts). This would essentially be an "emergency escape" if
we need it.

Modularity has multiple use cases: your proposal addresses the OS usage where modularity manages installed distribution's dependency versioning issues. What would happen if someone installed certain module stream to manage their own version requirements? Presumably, they might want to _never_ change the stream. How is that handled in your scheme? I think the "upgrades:" case would be fine, because explicit installation would not have the "default_enabled" attribute. However, if a new module declared the "obsoletes:", it would replace them no matter what. Would there be a way to prevent that, or are you arguing that such override should not be allowed?
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@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

Reply via email to