Project

Profile

Help

Issue #7202

RHEL 8 BaseOS RPM Copy API dep solving not working

Added by iballou 10 months ago. Updated 8 months ago.

Status:
CLOSED - CURRENTRELEASE
Priority:
Normal
Assignee:
Sprint/Milestone:
Start date:
Due date:
Estimated time:
Severity:
2. Medium
Version:
Platform Release:
OS:
Triaged:
Yes
Groomed:
No
Sprint Candidate:
No
Tags:
Katello
Sprint:
Sprint 80
Quarter:

Description

RPM Copy API dep solving isn't working for RHEL 8 BaseOS. Scenario:

Copy the 3 bash rpms (bash-4.4.19-7.el8.x86_64, bash-4.4.19-8.el8_0.x86_64, bash-4.4.19-10.el8.x86_64) from RHEL 8 BaseOS to a fresh RPM repo with dep solving on. Notice that only the 3 bash rpms are copied. The bash RPMs require glibc and filesystem, but neither of those (nor their deps) are copied.

Related pulp-rpm version: python3-pulp-rpm-3.4.1-2.el7.noarch

Associated revisions

Revision 571a7076 View on GitHub
Added by dalley 9 months ago

Fix RPM copy w/ depsolving when packages depend on a particular file

Packages can depend on files e.g. /usr/bin/bash rather than "bash". We're creating the file list metadata improperly in libsolv so this wasn't being respected, and the problems would only be apparent in debug log mode. During the period when we want to catch all these bugs, "warning" would be more appropriate so that they are highly visible.

closes: #7202 https://pulp.plan.io/issues/7202

Revision 3996c35b View on GitHub
Added by dalley 8 months ago

Fix RPM copy w/ depsolving when packages depend on a particular file

Packages can depend on files e.g. /usr/bin/bash rather than "bash". We're creating the file list metadata improperly in libsolv so this wasn't being respected, and the problems would only be apparent in debug log mode. During the period when we want to catch all these bugs, "warning" would be more appropriate so that they are highly visible.

closes: #7202 https://pulp.plan.io/issues/7202 (cherry picked from commit 571a7076fd826292d84ce923083faffa66aa07e2)

History

#1 Updated by jsherril@redhat.com 9 months ago

  • Tags Katello added

#2 Updated by ttereshc 9 months ago

  • Triaged changed from No to Yes
  • Sprint set to Sprint 78

#3 Updated by rchan 9 months ago

  • Sprint changed from Sprint 78 to Sprint 79

#4 Updated by dalley 9 months ago

  • Status changed from NEW to ASSIGNED
  • Assignee set to dalley

#5 Updated by dalley 9 months ago

The problem:

  • glibc depends on "/usr/bin/bash"
  • according to libsolv, nothing provides "/usr/bin/bash"
  • "/usr/bin/bash" is not present in the "provides" section of the "bash" package in primary.xml, but "/bin/bash" is. "/usr/bin/bash" is however listed in both the filelists.xml and a list of files present in primary.xml (why does primary.xml have a separate list)?
  • on my local system, "rpm -q --whatprovides /usr/bin/bash" says that the bash package does provide it. same thing works with the other files listed in filelists.xml (even if not listed in primary.xml)
  • so it seems like RPM/DNF look to the file list when answering questions about "provides", not just the "provides" section of the metadata, and Pulp does not do so

That should be easy enough to fix, but I really want answers to

  • Why does primary.xml have a list of files separate and different from (strict subset of?) what is present in the filelists?
  • Why is everything the package provides not simply listed in the "provides" section?

I'm guessing there's some kind of backwards compatibility reason to keep it separate, but the lack of documentation of any of this makes it extremely confusing.

#6 Updated by rchan 9 months ago

  • Sprint changed from Sprint 79 to Sprint 80

#7 Updated by pulpbot 9 months ago

  • Status changed from ASSIGNED to POST

#8 Updated by ggainey 9 months ago

  • Status changed from POST to ASSIGNED

(apologies for updating the wrong issue)

#9 Updated by ggainey 9 months ago

  • Status changed from ASSIGNED to POST

#10 Updated by dalley 9 months ago

  • Status changed from POST to MODIFIED

#11 Updated by fao89 8 months ago

  • Sprint/Milestone set to 3.6.2

#12 Updated by pulpbot 8 months ago

  • Status changed from MODIFIED to CLOSED - CURRENTRELEASE

Please register to edit this issue

Also available in: Atom PDF