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.
- 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
Added by dalley over 2 years ago
Add dependency solving for modulemd and modulemd_defaults
- Copy modules that are dependencies of other modules
- Copy modules when their artifacts are copied
- Copy the modulemd_default if it exists when a module it references is copied