depgraph.autounmask_breakage_detected: ignore REQUIRED_USE violations (bug 654782)

When autounmask USE changes violate REQUIRED_USE, rather than
recalculate with autounmask disabled, display the autounmask USE
changes along with the REQUIRED_USE violation. Adjust unit tests
to allow for the autounmask USE changes that were previously
discarded. For the case reported in bug 654782, the output will
appear as follows:

The following keyword changes are necessary to proceed:
 (see "package.accept_keywords" in the portage(5) man page for more details)
# required by =retext-7.0.1-r1 (argument)
=app-editors/retext-7.0.1-r1 ~amd64

The following USE changes are necessary to proceed:
 (see "package.use" in the portage(5) man page for more details)
# required by app-editors/retext-7.0.1-r1::gentoo
# required by =retext-7.0.1-r1 (argument)
>=dev-python/PyQt5-5.9.2 printsupport webengine network gui widgets

!!! The ebuild selected to satisfy "dev-python/PyQt5[gui,network,printsupport,webengine,widgets,python_targets_python3_4(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-)]" has unmet requirements.
- dev-python/PyQt5-5.9.2::gentoo USE="-bluetooth -dbus -debug -declarative -designer -examples -gles2 -gui -help -location -multimedia -network -opengl -positioning -printsupport -sensors -serialport -sql -svg -testlib -webchannel -webengine -webkit -websockets -widgets -x11extras -xmlpatterns" PYTHON_TARGETS="python2_7 python3_4 python3_6 -python3_5"

  The following REQUIRED_USE flag constraints are unsatisfied:
    webengine? ( widgets? ( webchannel ) )

  The above constraints are a subset of the following complete expression:
    any-of ( python_targets_python2_7 python_targets_python3_4 python_targets_python3_5 python_targets_python3_6 ) bluetooth? ( gui ) declarative? ( gui network ) designer? ( widgets ) help? ( gui widgets ) location? ( positioning ) multimedia? ( gui network ) opengl? ( gui widgets ) positioning? ( gui ) printsupport? ( gui widgets ) sensors? ( gui ) serialport? ( gui ) sql? ( widgets ) svg? ( gui widgets ) testlib? ( widgets ) webchannel? ( network ) webengine? ( network widgets? ( printsupport webchannel ) ) webkit? ( gui network printsupport widgets ) websockets? ( network ) widgets? ( gui ) xmlpatterns? ( network )

(dependency required by "app-editors/retext-7.0.1-r1::gentoo" [ebuild])
(dependency required by "=retext-7.0.1-r1" [argument])

Bug: https://bugs.gentoo.org/654782
Reviewed-by: M. J. Everitt <m.j.everitt@iee.org>
3 files changed