Skip to content

Commit 7448c1a

Browse files
nikromenpraiskup
authored andcommitted
docs: document pulp behavior with same NVRA but different epoch packages
1 parent d266ea9 commit 7448c1a

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

doc/user_documentation.rst

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -969,6 +969,34 @@ to be kept.
969969
Projects that opted-in for :ref:`creating_repositories_manually`, are
970970
exempt from the old package removal because of technical limitations.
971971

972+
.. _`faq-pulp-same-nvra-different-epoch`:
973+
974+
.. rubric:: Packages with the same NVRA but different Epoch on Pulp backend :ref:`¶ <faq-pulp-same-nvra-different-epoch>`
975+
976+
**For projects using the Pulp backend**, there is a known limitation when building
977+
packages with the same NVRA (Name-Version-Release-Architecture) but different Epoch values.
978+
979+
RPM package filenames are generated from NVRA only (Epoch is not included in
980+
the filename). For example, both ``foo-1.0-1.fc42.x86_64.rpm`` with Epoch 0 and
981+
the same package with Epoch 1 will have the identical filename.
982+
983+
However, Pulp constrains repository uniqueness by NEVRA (including Epoch). This
984+
means two packages can co-exist in a repository with the same NVRA but different
985+
epochs, but they will have conflicting filenames. When this happens:
986+
987+
- Both packages exist in the repository metadata
988+
- Only one package file is actually accessible via the repository URL
989+
- The package with the more recent build time "wins" (regardless the epoch value)
990+
and becomes accessible
991+
- The older package (by build time) cannot be downloaded by DNF clients
992+
- Operations like ``dnf downgrade`` may not work correctly for the inaccessible package
993+
994+
This is a known upstream Pulp issue tracked at:
995+
`<https://github.com/pulp/pulp_rpm/issues/4239>`_
996+
997+
**Workaround**: When bumping only the Epoch of a package, also change the
998+
Release number to ensure unique filenames.
999+
9721000
.. _`How is Copr pronounced?`:
9731001

9741002
.. rubric:: How is Copr pronounced? :ref:`¶ <How is Copr pronounced?>`

0 commit comments

Comments
 (0)