commit: ae3e58e83b0a3e75990fd2cef04a0c14b3162650 Author: Zac Medico <zmedico <AT> gentoo <DOT> org> AuthorDate: Sun Dec 22 00:24:47 2019 +0000 Commit: Zac Medico <zmedico <AT> gentoo <DOT> org> CommitDate: Sun Dec 22 00:26:17 2019 +0000 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=ae3e58e8
testVirtualCmakeBootstrapUseConditional: split out virtual/cmake If we split the dependency conditional on the bootstrap USE flag into a virtual, then it suffices to rebuild the virtual with USE=-bootstrap instead of rebuilding jsoncpp: * Error: circular dependencies: (dev-libs/jsoncpp-1.9.2:0/0::test_repo, ebuild scheduled for merge) depends on (virtual/cmake-0:0/0::test_repo, ebuild scheduled for merge) (buildtime) (dev-util/cmake-3.16.2:0/0::test_repo, ebuild scheduled for merge) (buildtime) (dev-libs/jsoncpp-1.9.2:0/0::test_repo, ebuild scheduled for merge) (buildtime_slot_op) It might be possible to break this cycle by applying the following change: - virtual/cmake-0 (Change USE: +bootstrap) Note that this change can be reverted, once the package has been installed. Bug: https://bugs.gentoo.org/703440 Signed-off-by: Zac Medico <zmedico <AT> gentoo.org> lib/portage/tests/resolver/test_circular_choices.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/portage/tests/resolver/test_circular_choices.py b/lib/portage/tests/resolver/test_circular_choices.py index 366f2bc27..ef9e88eac 100644 --- a/lib/portage/tests/resolver/test_circular_choices.py +++ b/lib/portage/tests/resolver/test_circular_choices.py @@ -51,8 +51,7 @@ class CircularJsoncppCmakeBootstrapTestCase(TestCase): ebuilds = { 'dev-libs/jsoncpp-1.9.2': { 'EAPI': '7', - 'IUSE': '+bootstrap', - 'BDEPEND': 'bootstrap? ( dev-util/cmake-bootstrap ) !bootstrap? ( dev-util/cmake )' + 'BDEPEND': 'virtual/cmake' }, 'dev-util/cmake-bootstrap-3.16.2': { 'EAPI': '7', @@ -61,13 +60,18 @@ class CircularJsoncppCmakeBootstrapTestCase(TestCase): 'EAPI': '7', 'BDEPEND': '>=dev-libs/jsoncpp-0.6.0_rc2:0=', }, + 'virtual/cmake-0': { + 'EAPI': '7', + 'IUSE': '+bootstrap', + 'BDEPEND': 'bootstrap? ( dev-util/cmake-bootstrap ) !bootstrap? ( dev-util/cmake )' + }, } test_cases = ( # Solve bug 703440 with a dependency conditional on the bootstrap USE flag. ResolverPlaygroundTestCase( ['dev-util/cmake'], - mergelist = ['dev-util/cmake-bootstrap-3.16.2', 'dev-libs/jsoncpp-1.9.2', 'dev-util/cmake-3.16.2'], + mergelist = ['dev-util/cmake-bootstrap-3.16.2', 'virtual/cmake-0', 'dev-libs/jsoncpp-1.9.2', 'dev-util/cmake-3.16.2'], success = True, ), )
