Project

Profile

Help

Story #3847

closed

Introduce weak dependency solving

Added by milan almost 6 years ago. Updated over 2 years ago.

Status:
CLOSED - CURRENTRELEASE
Priority:
Normal
Assignee:
Sprint/Milestone:
-
Start date:
Due date:
% Done:

100%

Estimated time:
(Total: 0:00 h)
Platform Release:
2.17.0
Groomed:
Yes
Sprint Candidate:
Yes
Tags:
Pulp 2
Sprint:
Sprint 41
Quarter:

Description

Pulp lacks resolving of RPM weak forward dependency Recommends during content association in case of e.g recursively copying RPMs between repositories, which by default is respected by dnf A content gap might therefore be induced on a consumer machine when installing from a repository containing just the recursive-copy calculated dependencies of an RPM unit. This isn't a breaking discrepancy as by definition, weak dependencies missing don't cause an unit to break

The very weak/hint Suggests field is out of scope as hints are by default not processed by dnf
Bot the weak and very weak/hint backward fields: Supplements and Enhances are out of scope too.

Publishing the weak dependencies in repository metadata is out of scope of this story as this is already supported trivially.

Implementation

Examples

I've found few Recommends field samples in the Fedora28--Workstation flavor primary.xml repodata file. The dnf unit recommends installing these two items, with rich dependency conditioning:

<rpm:recommends>
  <rpm:entry name="(/usr/bin/sqlite3 if bash-completion)"/>
  <rpm:entry name="(python3-dbus if NetworkManager)"/>
</rpm:recommends>

Notes

  • the RPM content upload code needn't be updated as it reuses the XML parsing code
  • the backwards dependencies needn't be processed because the Pulp workflow is closer to a repo closure calculation than to an actual content installation
  • the processing of the Recommends field is going to be handled thru libsolv once that PR lands
  • weak dependencies processing can be switched off in dnf; see also: man dnf.conf
  • very weak dependencies/hints are most likely just completely ignored by dnf

Files

test.log (9.32 KB) test.log milan, 07/13/2018 02:21 PM

Sub-issues 1 (0 open1 closed)

Issue #3929: Pulp content search does not show Recommends fieldCLOSED - CURRENTRELEASEmilanActions

Related issues

Related to RPM Support - Story #3715: Reimplement unit dependency solving with the libsolv libraryCLOSED - CURRENTRELEASEmilan

Actions

Also available in: Atom PDF