Steps to reproduce: 1. set /etc/portage/package.use dev-python/PyQt5 webkit 2. emerge --autounmask-write =retext-7.0.1-r1 emerge --autounmask --autounmask-write \=retext-7.0.1-r1 --backtrack=0 :( Calculating dependencies... done! !!! All ebuilds that could satisfy "=retext-7.0.1-r1" have been masked. !!! One of the following masked packages is required to complete your request: - app-editors/retext-7.0.1-r1::gentoo (masked by: ~amd64 keyword) For more information, see the MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook. Expected output: Autounmask fails because use dependencies are not-satisfiable. PyQt5 has a either webkit or webengine use operator. Retext requires webengine. Solution to solve it: 1. set /etc/portage/package.use dev-python/PyQt5 webengine webchannel 2. emerge --autounmask-write =retext-7.0.1-r1
The behavior changed with this patch for bug 622462: https://gitweb.gentoo.org/proj/portage.git/commit/?id=d7f2fbd4a649fc81f00a22eb1633a193a988b5da The debug log ends like this: > autounmask breakage detected > > forced reinstall atoms: > > > slot operator dependencies: > > > forced rebuilds: > > > > 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 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]) > . > > Arg: =retext-7.0.1-r1 > Atom: =app-editors/retext-7.0.1-r1 > ... done! > forced reinstall atoms: > > > slot operator dependencies: > > > forced rebuilds: > > > > !!! All ebuilds that could satisfy "=retext-7.0.1-r1" have been masked. > !!! One of the following masked packages is required to complete your request: > - app-editors/retext-7.0.1-r1::gentoo (masked by: ~amd64 keyword) > > For more information, see the MASKED PACKAGES section in the emerge > man page or refer to the Gentoo Handbook. >
Patch posted for review: https://archives.gentoo.org/gentoo-portage-dev/message/022aeab636469a3ce754dc07049eb601 https://github.com/gentoo/portage/pull/319
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/portage.git/commit/?id=ce150da22e351a7ba52a6390b9cb7aa076c0c8ce commit ce150da22e351a7ba52a6390b9cb7aa076c0c8ce Author: Zac Medico <zmedico@gentoo.org> AuthorDate: 2018-05-04 03:21:40 +0000 Commit: Zac Medico <zmedico@gentoo.org> CommitDate: 2018-05-04 17:11:07 +0000 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> pym/_emerge/depgraph.py | 8 ++-- pym/portage/tests/resolver/test_autounmask.py | 48 ++++++++++++++++++++-- pym/portage/tests/resolver/test_slot_collisions.py | 20 +++++---- 3 files changed, 61 insertions(+), 15 deletions(-)
Fixed since portage-2.3.36.