createrepo: Add extra modulemd files to the repo

This is a workaround for modularity design issues and DNF bugs. If there
were gaps in contexts, DNF has trouble handling the upgrades. Thus we
may need to add module metadata for older versions of previously
released module streams and add the missing contexts.

JIRA: RHELCMP-982
Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
This commit is contained in:
Lubomír Sedlář 2020-06-08 14:52:57 +02:00
parent 6ac12af343
commit 3bb1e3df11
5 changed files with 138 additions and 0 deletions

View file

@ -439,6 +439,13 @@ Options
``createrepo_c`` executable. This could be useful for enabling zchunk
generation and pointing it to correct dictionaries.
**createrepo_extra_modulemd**
(*dict*) -- a mapping of variant UID to :ref:`an scm dict <scm_support>`.
If specified, it should point to a directory with extra module metadata
YAML files that will be added to the repository for this variant. The
cloned files should be split into subdirectories for each architecture of
the variant.
**product_id** = None
(:ref:`scm_dict <scm_support>`) -- If specified, it should point to a
directory with certificates ``<variant_uid>-<arch>-*.pem``. Pungi will
@ -467,6 +474,20 @@ Example
# Also Server.x86_64 should have them (but not on other arches).
('^Server$', {'x86_64': True}),
]
createrepo_extra_modulemd = {
"Server": {
"scm": "git",
"repo": "https://example.com/extra-server-modulemd.git",
"dir": ".",
# The directory should have this layout. Each architecture for the
# variant should be included (even if the directory is empty.
# .
# ├── aarch64
# │ ├── some-file.yaml
# │ └ ...
# └── x86_64
}
}
Package Set Settings