On Mon, Mar 30, 2020 at 10:30:51AM -0400, Ben Cotton wrote:
> <pre>
> document: TBD
> version: 1
> data:
>   # A string representing UTC date in ISO 8601 format: YYYY-MM-DD[T ]HH:MMZ
>   # When merging, entries with a newer 'modified' value will override
> any earlier values.
>   # MANDATORY
>   modified: 2020-03-19T23:26Z
> 
>   # A boolean option to cancel/reset all previously specified obsoletes
>   # Example: repo 'fedora' has Obsoletes:nodejs:12; we want to bring
> nodejs:12 back in 'updates'
>   # If used, following options will be ignored: eol_date, obsoleted_by
>   # OPTIONAL
>   <TBD>: <bool>

What obsoletes would be covered by this? Those for this particular stream?

>   # A string representing a Name of a module that is EOLed
>   # MANDATORY
>   module: nodejs
> 
>   # A string representing a Stream of a module that is EOLed
>   # MANDATORY
>   stream: 11
> 
>   # A string representing a Context of a module that is EOLed
>   # If not specified, all contexts get EOLed.
>   # NOTE: consider specifying a list of contexts
>   # OPTIONAL
>   context: aabbccddee
> 
>   # A string representing UTC date in ISO 8601 format: YYYY-MM-DD[T ]HH:MMZ
>   # It is strongly recommended to keep HH:MM to 00:00.
>   # If not specified, the module is EOLed immediately.
>   OPTIONAL
>   eol_date: 2020-03-19T00:00Z

Normally we want the obsoletes to happen when doing a 'dnf system-upgrade'
operation, and not based on time. Does this allow us to tell dnf for this
happen during an upgrade, but not before?

>   # A string describing the change, reason, etc.
>   # MANDATORY
>   message: "Module stream nodejs:11 is no longer supported. It is
> recommended to switch to nodejs:12"
> 
>   # If a stream is not EOLed but Obsoleted, provide details about the
> obsoleting stream:
>   # OPTIONAL
>   obsoleted_by:
>     module: nodejs
>     stream: 12

Is the obsoleting module enabled automatically?

> == User Experience ==
> Fedora users experience upgradability problems when upgrading to Fedora 32
> when they have any module streams enabled.
> 
> If a stream no longer exists on the version of Fedora they are upgrading to,
> DNF used to error out on resolving modular dependencies which was a
> clear release blocker.
> To workaround this case, all module streams are reset during the system 
> upgrade.
> By doing this, modularity users lose information about enabled streams
> and they need to re-enable them by hand.
> 
> This Change aims at removing the upgradability problems and allowing
> Fedora modularity users
> to upgrade their systems while keeping their streams enabled, reset or
> switched (obsoleted)
> according to newly provided modular metadata.

Thanks, that sounds like a reasonable UX.

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