In some situations, it is permissible to break dependencies of installed packages. For example, consider a temporary/disposable container running in a continuous integration environment, where there is no thread of negative consequences. In situations like this, it's useful to have an option to disregard @world/@system/@selected, in order to avoid conflicts when solving dependencies for packages given as emerge arguments (possibly resulting in a serious system breakage).
Patch posted for review:
The bug has been referenced in the following commit(s):
Author: Zac Medico <email@example.com>
AuthorDate: 2018-03-21 18:50:43 +0000
Commit: Zac Medico <firstname.lastname@example.org>
CommitDate: 2018-03-26 17:35:33 +0000
emerge: add --ignore-world [ y | n ] option (bug 608564)
Ignore the @world package set and its dependencies. This may be useful
if there is a desire to perform an action even though it might break
the dependencies of some installed packages (it might also remove
installed packages in order to solve blockers). This also alters the
behavior of --complete-graph options so that only deep dependencies
of packages given as arguments are included in the dependency graph.
This option may be useful as an alternative to --nodeps in cases where
it is desirable to account for dependencies of packages given as
man/emerge.1 | 19 ++++++++++++++++++-
pym/_emerge/create_depgraph_params.py | 6 +++++-
pym/_emerge/depgraph.py | 8 ++++++--
pym/_emerge/main.py | 11 ++++++++++-
pym/portage/tests/resolver/test_complete_graph.py | 20 +++++++++++++++++++-
5 files changed, 58 insertions(+), 6 deletions(-)}
Fixed in portage-2.3.40-r1.