Story #4768
closedStory #4762: [Epic] As a user, I can copy content
Story #6017: [Epic] As a user, when copying content, dependencies of that content are also copied
As a user, I can copy Erratum with their referenced Modules and RPMs, and their dependencies
100%
Description
An Erratum itself is metadata and it's not very useful without content it refers too.
Modules and RPMs are listed in the pkglist of an Erratum.
Terminology:
- there is no such thing as Erratum dependencies.
- Modules/RPMs listed in an Erratum represent content of an Erratum.
- RPM dependencies = RPM-to-RPM dependencies aka when one RPM depend on the other RPM.
- Module dependencies = Module-to-Module dependencies aka when one Module depend on the other Module. (Module doesn't depend on any RPMs, Module contains RPMs(artifacts) which are always copied with it.)
- depsolving strategy (conservative and non-conservative in pulp2) is relevant to RPM dependencies only.
The common use case is to copy an Erratum and all the content it refers to with its dependencies, so it is possible to apply an Erratum and update all the content it suggests to update.
Use cases to support:
- copy Erratum itself without anything (already implemented, it should continue to work)
- copy Erratum with:
* its referenced Modules and RPMs
* Modules dependencies
* RPM dependencies using the dependency solving strategy specified by user
Some examples can be found here
Add dependency solving for modulemd and modulemd_defaults
re: #4768 https://pulp.plan.io/issues/4768 closes: #4162 https://pulp.plan.io/issues/4162