RPM packages renamed when manually uploaded


we have a RPM Repository where we upload manually rpm packages from a Vendor.
The uploaded file name is “gskcrypt64-”.
In the Webinterface Repo–>Packages we se the following name “gskcrypt64-8.0-55.29.x86_64”.
But when we do a “dnf install gskcrypt64” one a RHEL8 box we get an error 404 for the URL “https://foreman/pulp/repos/company/Library/custom/product/exampleRepo/Packages/g/gskcrypt64-8.0-55.29.x86_64.rpm”.
When I open the Repo in the browser I can download the package via this URL “https://foreman.ctie.etat.lu/pulp/repos/company/Library/custom/product/exampleRepo/Packages/g/gskcrypt64-”

Now the question. At what stage does foreman adds the “linux” to the filename. And where does foreman gets that information. Is that somewhere included in the rpm files?
Could I find the answer in some log files?

Expected outcome:
Foreman should not add the “linux” to the filename. The cpio file inside the rpm also does not have the “linux” in its name.

Foreman and Proxy versions:

  • foreman-3.4.0-1.el8.noarch
  • katello-4.6.0-1.el8.noarch

Distribution and version:
RHEL 8.6

Best Regards

A very simmilar behaviour (yet, slightly different for how “linux” was added to the filename) has also been reported in Name of RPM-package differs between package-view and repository
Since this seems to be a recurring thing that started with 4.6 (at least I could not find any earlier reports on this in the forum), maybe some dev can take a look?

This looks very similar to what I reported in my case. Would also appreciate if a developer could have a look at this.

This seems like an issue with inconsistent naming between katello and pulp. In general, pulp is the source of truth for katello and that drives the entitlements on a host that enables packages on the host.
I have opened Bug #35952: RPM packages renamed when manually uploaded leading to 404s on dnf - Katello - Foreman to dig into this further.

1 Like