Q: pulp_rpm - requires RPM based distribution. Why?

The rpm plugin documentation has these requirements:
“pulp_rpm plugin requires some dependencies such as libsolv and libmodulemd which is provided only by RedHat family distributions like Fedora.”

I am currently running pulp on a Debian system with the rpm plugin enabled and I have not found any problems yet.

So my question is: What exactly will not work if pulp_rpm is hosted on a non-rpm based system?

Thanks

Rolf

Libsolv is required for performing dependency solving on sets of RPM packages, this is one option provided by the “advanced copy” feature but it’s not something you strictly need most of the time.

Libmodulemd is required for syncing and publishing repositories that have module metadata. If you’re only syncing repositories that don’t contain module metadata then again this should probably work, but if you sync a repository that does then it will not.

Examples of repositories that don’t contain module metadata

  • CentOS / RHEL 6
  • CentOS / RHEL 7
  • CentOS / RHEL 8 “BaseOS” repository
  • CentOS / RHEL 9 “BaseOS” repository
  • EPEL 7

Examples of repos that do contain module metadata

  • CentOS / RHEL 8 “AppStream” repository
  • CentOS / RHEL 9 “AppStream” repository (actually right now it does not, but in the future, it will)
  • EPEL 8

Also, if you’re using the all in one container image, you won’t have this issue, because the container image is based on Fedora.

@dralley Thanks for taking the time to answer this. I do not use any of these features, so I guess I am safe. :wink:

The single container is actually CentOS based[0].

[0] https://github.com/pulp/pulp-oci-images/blob/latest/pulp_ci_centos/Containerfile#L1