Project

Profile

Help

Story #5071

Issue #5063: Module defaults need to be considered and copied automatically during recursive dependency solving

As a user, a default module stream is copied together with its module_defaults

Added by ttereshc about 1 year ago. Updated 2 months ago.

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

0%

Estimated time:
Platform Release:
2.21.0
Groomed:
No
Sprint Candidate:
No
Tags:
Pulp 2
Sprint:
Sprint 56

Description

Motivation

If a module stream is marked as a default one, then nonmodular RPMs are allowed to depend on it.
If we copy the module without copying the module_defaults metadata, clients will not understand that it is special, and they will not be able to use that module to satisfy their dependencies, and the packages they provide will not be able to be installed normally through DNF as intended.

Solution

At copy time, always copy module_defaults if the stream specified in it is copied as well.
*How to merge module_defaults should be decided on this ticket before grooming

Associated revisions

Revision 9ed9e0b6 View on GitHub
Added by dalley 11 months ago

Use placeholder EVR and Arch values

Libsolv does need these, so we have to provide fake ones, not just an empty string.

re: #5071 https://pulp.plan.io/issues/5071

Revision c4cb08fb View on GitHub
Added by dalley 11 months ago

Remove 'obsoletes'

This is unnecessary, according to Igor.

re: #5071 https://pulp.plan.io/issues/5071

Revision f52b0f2f View on GitHub
Added by dalley 11 months ago

Make changes to module default setup code

Change the name of module-default solvables to follow convention. Make sure module-defaults without a default stream aren't setting streams as defaults. Change the way provides are set up, as there should be no such thing as "module-default(name:stream)" since only one module-default exists per-module.

re: #5071 https://pulp.plan.io/issues/5071

Revision a0a10884 View on GitHub
Added by dalley 11 months ago

Hack copy_rpms() to do more than just copy RPMs

Allow it to copy modules also. Ideally, we would do more refactoring to make this less hacky, but unless we change the scope of my work I would prefer to change as little as possible in that regard.

re: #5071 https://pulp.plan.io/issues/5071

Revision 39e310ab View on GitHub
Added by dalley 11 months ago

Rewrite the recursive-conservative solver

re: #5071 https://pulp.plan.io/issues/5071

Revision b474b613 View on GitHub
Added by dalley 11 months ago

Don't try to reuse Solver

It's supposed to be possible, but it's problematic in practice.

re: #5071 https://pulp.plan.io/issues/5071

Revision c7c68551 View on GitHub
Added by dalley 11 months ago

Use empty strings for EVRs

I think Igor was wrong there, empty strings are fine.

re: #5071 https://pulp.plan.io/issues/5071

Revision a2380f6b View on GitHub
Added by dalley 11 months ago

Revise note based on PR feedback

re: #5071 https://pulp.plan.io/issues/5071

History

#1 Updated by ttereshc about 1 year ago

  • Related to Issue #5063: Module defaults need to be considered and copied automatically during recursive dependency solving added

#2 Updated by dalley 12 months ago

  • Parent task set to #5063

#3 Updated by dalley 12 months ago

  • Status changed from NEW to POST
  • Assignee set to dalley
  • Sprint set to Sprint 56

#4 Updated by dalley 11 months ago

  • Status changed from POST to MODIFIED
  • Platform Release set to 2.21.0

#5 Updated by dalley 10 months ago

  • Status changed from MODIFIED to CLOSED - CURRENTRELEASE

#6 Updated by jack9080 2 months ago

There are the many people have to like this post very much so just follow the site https://fixforwindows.com/passwords and look at the function of manage saved passwords in microsoft edge really like this information provide you it is the batter setting provide the users for set password.

Please register to edit this issue

Also available in: Atom PDF