Modularity
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 libmodulemd-2.10.0, but the full support within the modular pipeline became available in F36.
Using Module Obsoletes
-
Add obsoletes in the module-defaults repository, branch f36. Use
<module-name>:<stream>.yaml
naming convention for the obsoletes metadata files. Make sure the files are stored in theobsoletes/
directory.Follow the 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 pungi docs on how to create a modular compose. Check the 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.
For the detailed generic workflow, please follow the Fedora Modularity docs. |
There’s a known bug in pungi which doesn’t allow to obsolete multiple streams of the same module. The issue is tracked in pungi#1592 in Pagure. |
Want to help? Learn how to contribute to Fedora Docs ›