Hosting modules for Fedora
The Modularity project has been retired and there are no modules in Fedora 39 or newer or in EPEL. This page is only retained for historical reference. |
Since modules are technically collections of RPM packages with metadata, they are hosted the same way as traditional RPM packages are — in a repository. Apart from the packages, such repository must also contain the modular metadata (modulemd) that come with the modules.
Creating a modular repository
Modular repositories are created in two steps:
-
Creating the repository using
createrepo_c
-
Adding modular metadata (modulemd) using
modifyrepo_c
Modular repository must contain the modular metadata (modulemd) in the repodata. Excluding the metadata will cause all the modular packages to become nonmodular packages which could have negative consequences. |
To create a repository out of RPM packages, run:
$ createrepo_c DIRECTORY
-
DIRECTORY
— path to a directory with RPM packages that will be converted into a repository
To add the modular metadata (modulemd), run:
$ modifyrepo_c --mdtype=modules modules.yaml REPO
-
modules.yaml
— YAML multidocument containing all modulemds — the final form of modulemd produced by the build system -
REPO
— path to the repository — the directory from the previous step
Want to help? Learn how to contribute to Fedora Docs ›