| |
@@ -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..