From 65b45adec12858f4a3da65231717367246584268 Mon Sep 17 00:00:00 2001 From: Tomas Kopecek Date: May 25 2020 12:21:21 +0000 Subject: [PATCH 1/2] document merge modes Fixes: https://pagure.io/koji/issue/2099 --- diff --git a/docs/source/external_repo_server_bootstrap.rst b/docs/source/external_repo_server_bootstrap.rst index 6161b52..5ea5ff5 100644 --- a/docs/source/external_repo_server_bootstrap.rst +++ b/docs/source/external_repo_server_bootstrap.rst @@ -38,6 +38,26 @@ help with these tasks, see the :doc:`server_howto`. .. note:: This uses $arch NOT $basearch + Koji behaves differently to the external repository based on which ``merge`` + mode is set for that. Merge modes can be set via ``-m`` option and are as + follows: + + ``koji`` + Basic mode - koji expects, that that repo is complete and + doesn't contain mixed content. It runs ``mergerepos_c --koji`` + Repositories generated via ``dist-repo`` command (or other repositories + coming from koji` has these properties. + + ``bare`` + It runs ``mergerepos_c --pkgorigins --all``. It includes all rpms with + same NA. This one is needed for modular repos. ``createrepo_c`` 0.14+ + compiled with ``libmodule`` support needs to be installed on the builder. + + ``simple`` + It runs ``mergerepos_c --mode simple`` - we're not that strict with this + type of repo. Even packages with identical NEVRA are accepted in such + case. Simple mode is in ``createrepo_c`` suite from version 0.13. + * Create a build target that includes the tags you've already created. :: $ koji add-target dist-foo dist-foo-build @@ -86,10 +106,12 @@ help with these tasks, see the :doc:`server_howto`. Regenerating your repo ====================== -koji doesn't monitor external repositories for changes. new repositories -will be generated when packages you build land in a tag that populates -the buildroot or you manually regenerate the repository. you should be -sure to regularly regenerate the repositories manually to pick up +koji doesn't monitor external repositories for changes by default. +Administrators can enable such bejaviour with setting ``check_external_repos = +true`` in ``kojira.conf`` (for details see :doc:`utils.rst`). If it is not +enabled new repositories will be generated when packages you build land in a tag +that populates the buildroot or you manually regenerate the repository. you +should be sure to regularly regenerate the repositories manually to pick up updates. :: From e098d6d28abe93bce4605b868bcf57daa6b3c9cf Mon Sep 17 00:00:00 2001 From: Tomas Kopecek Date: Jun 05 2020 11:41:51 +0000 Subject: [PATCH 2/2] extend docs --- diff --git a/docs/source/external_repo_server_bootstrap.rst b/docs/source/external_repo_server_bootstrap.rst index 5ea5ff5..a4f3a49 100644 --- a/docs/source/external_repo_server_bootstrap.rst +++ b/docs/source/external_repo_server_bootstrap.rst @@ -44,19 +44,28 @@ help with these tasks, see the :doc:`server_howto`. ``koji`` Basic mode - koji expects, that that repo is complete and - doesn't contain mixed content. It runs ``mergerepos_c --koji`` - Repositories generated via ``dist-repo`` command (or other repositories - coming from koji` has these properties. + doesn't contain mixed content. It means that only rpms from one SRPM can + be present in repo for given package. + + It runs ``mergerepos_c --koji`` Repositories generated via ``dist-repo`` + command (and all other repositories coming from koji` has these + properties. ``bare`` It runs ``mergerepos_c --pkgorigins --all``. It includes all rpms with - same NA. This one is needed for modular repos. ``createrepo_c`` 0.14+ - compiled with ``libmodule`` support needs to be installed on the builder. + same package name and architecture even if version or release is + different. This one is needed for modular repos. ``createrepo_c`` 0.14+ + compiled with ``libmodule`` support needs to be installed on the + builder. Nevertheless, only the first rpm with identical NEVRA is + accepted. ``simple`` - It runs ``mergerepos_c --mode simple`` - we're not that strict with this - type of repo. Even packages with identical NEVRA are accepted in such - case. Simple mode is in ``createrepo_c`` suite from version 0.13. + It runs ``mergerepos_c --mode simple`` - we're least restrivtive with + this type of repo. Even packages with identical NEVRA are accepted in + such case. Simple mode is in ``createrepo_c`` suite from version 0.13. + Reasons to use this compared to ``bare`` mode is a) you have older + ``createrepo_c``, b) you really want to have all this identical NEVRAs + in the repo. * Create a build target that includes the tags you've already created. ::