#1153 doc: document when/why/where we run createrepo_c
Merged 4 years ago by msuchy. Opened 4 years ago by praiskup.
Unknown source doc-createrepo  into  master

file added
+51
@@ -0,0 +1,51 @@

+ .. _createrepo:

+ 

+ When do we run createrepo

+ =========================

+ 

+ There are several situations when we need to update repository metadata in copr

+ repository.

+ 

+ We need to run createrepo when some build finishes so the built RPMs are

+ distributed to the repository end-users.  Similarly we need to update repodata

+ when some build is removed.

+ 

+ Also, there's no sophisticated "gating" mechanism in copr similar to Fedora's

+ Bodhi (aka ``updates`` vs ``updates-testing`` repositories).  The alternative

+ approach in Copr is to temporarily disable the "Auto Create Repo" feature (or

+ *ACR*).  With such configuration, copr instead creates the repodata in a

+ separate directory named ``devel`` -- so the subsequent builds still can be

+ built against previously finished builds.  With such configuration though, copr

+ doesn't re-generate the "production" repodata after each build automatically

+ (even though there freshly built RPMs, they are not visible in repos) so project

+ maintainers are fully responsible for recreating the "production" metadata

+ manually when it is appropriate (in the web-UI - in project overview, hit the

+ ``Regenerate Repositories`` button).

+ 

+ The following table describes situations when we execute ``/bin/createrepo_c``.

+ 

+ +----------------------------------+------------------------------+--------------------------+--------------------------+

+ | situation                        | what copr dirs               | what chroots             | devel/normal repo        |

+ +==================================+==============================+==========================+==========================+

+ | new Project created              | main                         | all enabled              | ACR reflected            |

+ +----------------------------------+------------------------------+--------------------------+--------------------------+

+ | new chroot(s) enabled            | all                          | only related chroots     | ACR reflected            |

+ +----------------------------------+------------------------------+--------------------------+--------------------------+

+ | new (PR) copr dir                | the one just created         | all enabled              | ACR reflected            |

+ +----------------------------------+------------------------------+--------------------------+--------------------------+

+ | ACR disabled                     | all                          | all enabled              | devel                    |

+ +----------------------------------+------------------------------+--------------------------+--------------------------+

+ | ACR enable                       | all                          | all enabled              | normal                   |

+ +----------------------------------+------------------------------+--------------------------+--------------------------+

+ | post-build                       | affected                     | only related chroots     | ACR reflected            |

+ +----------------------------------+------------------------------+--------------------------+--------------------------+

+ | manual createrepo event          | all                          | all enabled              | non-devel only           |

+ +----------------------------------+------------------------------+--------------------------+--------------------------+

+ | delete build event               | affected                     | only related chroots     | both for prod packages   |

+ +----------------------------------+------------------------------+--------------------------+--------------------------+

+ | prunerepo script                 | affected                     | affected                 | normal                   |

+ +----------------------------------+------------------------------+--------------------------+--------------------------+

+ 

+ The ``copr dirs`` can be either the default project directory (e.g.

+ ``jsmith/coolproject``), or pull-request directories (e.g.

+ ``jsmith/coolproject:pr:100``).

@@ -18,3 +18,4 @@

     beaker_tests

     seeddb

     email_templates

+    createrepo

no initial comment

rebased onto 4877704584a186e84620d69a6fd9841dbe408673

4 years ago

This looks really good, thank you. Don't you want to add a link to this document somewhere in the TOC tree?

Sure, this document isn't complete at all, though.... I'll take a look at this more deeply after Christmas I guess, and I'll place the link somewhere.

Metadata Update from @praiskup:
- Pull-request tagged with: wip

4 years ago

Metadata Update from @praiskup:
- Pull-request untagged with: wip

4 years ago

No need to delay this, I think it can be merged (if the spelling is OK). We can update
the table when appropriate.

rebased onto fbfca69

4 years ago

Pull-Request has been merged by msuchy

4 years ago