Summary: | sys-apps/portage: emerge option to recursively remove a package and its reverse dependencies | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Zac Medico <zmedico> |
Component: | Core - Interface (emerge) | Assignee: | Portage team <dev-portage> |
Status: | CONFIRMED --- | ||
Severity: | normal | CC: | esigra, gentoo, kingjon3377, sam |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | All | ||
See Also: |
https://bugs.gentoo.org/show_bug.cgi?id=416907 https://bugs.gentoo.org/show_bug.cgi?id=257009 https://bugs.gentoo.org/show_bug.cgi?id=476350 |
||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 155723, 300071 |
Description
Zac Medico
2021-05-02 18:18:02 UTC
This calculation is useful for various conflict resolution strategies, since it can be used to actively eliminate packages with conflicting or unsatisfiable dependencies. It can possibly be adapted as a means to automatically constrain the scope of emerge --keep-going calculations to fit the behavior described in bug 476350. Since emerge --depclean already builds a suitable dependency graph for this calculation, it's just a matter of performing the graph operations to determine which packages would have to be deselected, which should only be a few lines of code if expressed well. Simply traverse graph edges from the packages that we would like to remove, and use the PackageSet iterAtomsForPackage method to pair edges with matching @selected atoms that need to be deselected. |