#815 Add Modularity category and release notes regarding module obsoletes
Closed 2 years ago by pbokoc. Opened 2 years ago by fivaldi.
fedora-docs/ fivaldi/release-notes master  into  master

@@ -20,6 +20,7 @@ 

  *** xref:developers/Development_Go.adoc[Go]

  *** xref:developers/Development_Haskell.adoc[Haskell]

  *** xref:developers/Development_LLVM.adoc[LLVM]

+ *** xref:developers/Development_Modularity.adoc[Modularity]

  *** xref:developers/Development_Dotnet.adoc[.NET]

  *** xref:developers/Development_Python.adoc[Python]

  *** xref:developers/Development_Ruby.adoc[Ruby]

@@ -0,0 +1,67 @@ 

+ 

+ include::{partialsdir}/entities.adoc[]

+ 

+ [[sect-modularity]]

+ = Modularity

+ 

+ [[modularity-obsoletes]]

+ == Module Obsoletes

+ 

+ Fedora 36 Modularity project comes with a new feature of EOL-ing/obsoleting

+ of old modular streams.

+ 

+ The obsolete feature itself has been introduced in

+ https://github.com/fedora-modularity/libmodulemd/releases/tag/2.10.0[libmodulemd-2.10.0],

+ but the full support within the modular pipeline became available in F36.

+ 

+ === Using Module Obsoletes

+ 

+ . Add obsoletes in the

+ https://pagure.io/releng/fedora-module-defaults[module-defaults] repository,

+ **branch f36**. Use `<module-name>:<stream>.yaml` naming convention for the

+ obsoletes metadata files. Make sure the files are stored in the `obsoletes/`

+ directory.

+ +

+ Follow the

+ https://github.com/fedora-modularity/libmodulemd/blob/main/yaml_specs/[module

+ obsoletes specification] for the obsoletes data format. As of the F36 release,

+ there's been v1 specification available and supported in the pipeline.

+ 

+ . Configure pungi to use the obsoletes and create a modular compose using pungi.

+ +

+ The relevant pungi config snippet:

+ +

+ ```

+     module_obsoletes_dir = {

+         'scm': 'git',

+         'repo': 'https://pagure.io/releng/fedora-module-defaults.git',

+         'branch': 'f36',  # must match the fedora-module-defaults branch

+         'dir': 'obsoletes'

+     }

+ ```

+ +

+ Follow https://docs.pagure.org/pungi[pungi

+ docs] on how to create a modular compose. Check the

+ https://docs.pagure.org/pungi/gathering.html#modular-compose[gathering phase

+ of a modular compose] and the corresponding configuration reference.

+ 

+ . The obsoletes metadata will appear in the `modules.yaml` file of the

+ resulting repodata.

+ +

+ When the obsoletes metadata appear in the repodata (modules.yaml file), DNF is

+ expected to handle the information regarding obsoletes and react accordingly.

+ 

+ [TIP]

+ ====

+ For the detailed generic workflow, please follow the

+ https://docs.fedoraproject.org/en-US/modularity/building-modules/fedora/module-obsoletes/[Fedora

+ Modularity docs].

+ ====

+ 

+ [IMPORTANT]

+ ====

+ There's a known bug in pungi which doesn't allow to obsolete

+ multiple streams of the same module. The issue is tracked in

+ https://pagure.io/pungi/issue/1592[pungi#1592] in Pagure.

+ ====

+ 

This should reflect #506 and should go to f36 branch, but I don't see any here..

@fivaldi the F36 branch exists now. Can you re-submit the PR to target that branch, please?

PR#820 is tracking the right branch. @bcotton This can be closed.

Pull-Request has been closed by pbokoc

2 years ago

Thanks for opening the new one!